summaryrefslogtreecommitdiff
path: root/bigclown-gateway/files
diff options
context:
space:
mode:
authorKarel Kočí <karel.koci@nic.cz>2018-10-09 09:59:52 +0200
committerKarel Kočí <karel.koci@nic.cz>2018-10-09 10:00:59 +0200
commite80d577eca049b4968d30c77ab646fa4fcd01780 (patch)
treeaf48600c83613401d7c8be7c7f6db5f616ce68af /bigclown-gateway/files
parent3532fa47380fb79d6c6edb32039c1b491f64709a (diff)
parentd32f4c85ac3634a3a4c35d4fec7dc8131c9cfcab (diff)
downloadopenwrt-personal-pkgs-e80d577eca049b4968d30c77ab646fa4fcd01780.tar.gz
openwrt-personal-pkgs-e80d577eca049b4968d30c77ab646fa4fcd01780.tar.bz2
openwrt-personal-pkgs-e80d577eca049b4968d30c77ab646fa4fcd01780.zip
Merge branch 'turris3x'
Diffstat (limited to 'bigclown-gateway/files')
-rwxr-xr-xbigclown-gateway/files/bcg9
-rw-r--r--bigclown-gateway/files/config9
-rwxr-xr-xbigclown-gateway/files/init57
3 files changed, 75 insertions, 0 deletions
diff --git a/bigclown-gateway/files/bcg b/bigclown-gateway/files/bcg
new file mode 100755
index 0000000..fe261f4
--- /dev/null
+++ b/bigclown-gateway/files/bcg
@@ -0,0 +1,9 @@
+#!/usr/bin/python3.6
+import bcg
+import sys
+from pkg_resources import load_entry_point
+
+if __name__ == '__main__':
+ sys.exit(
+ load_entry_point('bcg', 'console_scripts', 'bcg')()
+ )
diff --git a/bigclown-gateway/files/config b/bigclown-gateway/files/config
new file mode 100644
index 0000000..c16e31b
--- /dev/null
+++ b/bigclown-gateway/files/config
@@ -0,0 +1,9 @@
+
+config gateway 'gateway'
+ option name 'usb-dongle'
+ option device '/dev/ttyUSB0'
+ option automatic_rename_kit_nodes '1'
+
+config mqtt 'mqtt'
+ option host 'localhost'
+ option port '1883'
diff --git a/bigclown-gateway/files/init b/bigclown-gateway/files/init
new file mode 100755
index 0000000..02f27d1
--- /dev/null
+++ b/bigclown-gateway/files/init
@@ -0,0 +1,57 @@
+#!/bin/sh /etc/rc.common
+
+START=98
+STOP=1
+
+USE_PROCD=1
+
+PROG=/usr/bin/bcg
+CONF=/tmp/etc/bigclown-gateway.conf
+
+append() {
+ local cfg="$1"
+ local uci_name="$2"
+ local out_name="$3"
+ local default="$4"
+ config_get val $cfg $uci_name $default
+ if [ -n "$val" ]; then
+ echo "$out_name $val" >> $CONF
+ fi
+}
+
+start_service() {
+ config_load bigclown-gateway
+
+ rm -rf $CONF
+ echo "Generating bigclown-gateway config file in $CONF"
+
+ append gateway name 'name:' usb-dongle
+ # TODO add udev rules and use different default here
+ append gateway device 'device:' /dev/ttyUSB0
+ append gateway automatic_rename_kit_nodes 'automatic_rename_kit_nodes:' 1
+ append gateway base_topic_prefix 'base_topic_prefix:'
+
+ echo "mqtt:" >> $CONF
+ append mqtt host ' host:' localhost
+ append mqtt port ' port:' 1883
+ append mqtt cafile ' cafile:'
+ append mqtt certfile ' certfile:'
+ append mqtt keyfile ' keyfile:'
+
+ procd_open_instance
+ procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
+ procd_set_param command "$PROG" -c "$CONF" -W
+ procd_set_param stdout 1
+ procd_set_param stderr 1
+ procd_close_instance
+}
+
+stop_service() {
+ service_stop "$PROG"
+ ps | grep "$PROG" | grep -v grep | sed -e 's/^\s*\([0-9]\+\)\s.*$/\1/' | xargs -r -- kill -9
+}
+
+service_triggers()
+{
+ procd_add_reload_trigger 'bc-gateway-usb-dongle'
+}