From 40764118789f79f79e943a95b805db4e929ec5d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Wed, 12 Sep 2018 17:18:42 +0200 Subject: Tweak bigclown packages --- .../files/bc-gateway-usb-dongle.config | 9 ---- bigclown-gateway/files/bc-gateway-usb-dongle.init | 59 ---------------------- bigclown-gateway/files/bcg | 9 ++++ bigclown-gateway/files/config | 9 ++++ bigclown-gateway/files/init | 57 +++++++++++++++++++++ bigclown-gateway/files/udev | 1 + 6 files changed, 76 insertions(+), 68 deletions(-) delete mode 100644 bigclown-gateway/files/bc-gateway-usb-dongle.config delete mode 100755 bigclown-gateway/files/bc-gateway-usb-dongle.init create mode 100755 bigclown-gateway/files/bcg create mode 100644 bigclown-gateway/files/config create mode 100755 bigclown-gateway/files/init create mode 100644 bigclown-gateway/files/udev (limited to 'bigclown-gateway/files') diff --git a/bigclown-gateway/files/bc-gateway-usb-dongle.config b/bigclown-gateway/files/bc-gateway-usb-dongle.config deleted file mode 100644 index 7fa3977..0000000 --- a/bigclown-gateway/files/bc-gateway-usb-dongle.config +++ /dev/null @@ -1,9 +0,0 @@ - -config config 'gateway' - option name 'usb-dongle' - option device '/dev/ttyUSB0' - option automatic_rename_kit_nodes '1' - -config config 'mqtt' - option host 'localhost' - option port '1883' diff --git a/bigclown-gateway/files/bc-gateway-usb-dongle.init b/bigclown-gateway/files/bc-gateway-usb-dongle.init deleted file mode 100755 index bae6d11..0000000 --- a/bigclown-gateway/files/bc-gateway-usb-dongle.init +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=99 -STOP=1 - -USE_PROCD=1 - -PROG=/usr/bin/bcg - -CONF=/tmp/bc-gateway-usb-dongle.generated.conf - -UCI_STARTED= -UCI_DISABLED= - -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 bc-gateway-usb-dongle - - rm -rf $CONF - echo "Generating bc-gateway-usb-dongle config file in $CONF" - - append gateway name 'name:' usb-dongle - 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 - procd_set_param command "$PROG" -c "$CONF" -W - 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' -} 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..7fa3977 --- /dev/null +++ b/bigclown-gateway/files/config @@ -0,0 +1,9 @@ + +config config 'gateway' + option name 'usb-dongle' + option device '/dev/ttyUSB0' + option automatic_rename_kit_nodes '1' + +config config '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..090cc06 --- /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 + 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' +} diff --git a/bigclown-gateway/files/udev b/bigclown-gateway/files/udev new file mode 100644 index 0000000..d7a854b --- /dev/null +++ b/bigclown-gateway/files/udev @@ -0,0 +1 @@ +SUBSYSTEMS=="usb", ACTION=="add", KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="bc-usb-dongle*", SYMLINK+="bcUD%n", TAG+="systemd", ENV{SYSTEMD_ALIAS}="/dev/bcUD%n" -- cgit v1.2.3 From ba6eb4bfe3ab05685ae1289b10b04c9bf8112e35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Wed, 12 Sep 2018 22:09:25 +0200 Subject: bigclown-gateway: Try to fix udev rule and change path --- bigclown-gateway/files/config | 2 +- bigclown-gateway/files/init | 2 +- bigclown-gateway/files/udev | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'bigclown-gateway/files') diff --git a/bigclown-gateway/files/config b/bigclown-gateway/files/config index 7fa3977..d880476 100644 --- a/bigclown-gateway/files/config +++ b/bigclown-gateway/files/config @@ -1,7 +1,7 @@ config config 'gateway' option name 'usb-dongle' - option device '/dev/ttyUSB0' + option device '/dev/bcUD0' option automatic_rename_kit_nodes '1' config config 'mqtt' diff --git a/bigclown-gateway/files/init b/bigclown-gateway/files/init index 090cc06..28f6e7e 100755 --- a/bigclown-gateway/files/init +++ b/bigclown-gateway/files/init @@ -27,7 +27,7 @@ start_service() { append gateway name 'name:' usb-dongle # TODO add udev rules and use different default here - append gateway device 'device:' /dev/ttyUSB0 + append gateway device 'device:' /dev/bcUD0 append gateway automatic_rename_kit_nodes 'automatic_rename_kit_nodes:' 1 append gateway base_topic_prefix 'base_topic_prefix:' diff --git a/bigclown-gateway/files/udev b/bigclown-gateway/files/udev index d7a854b..5409c56 100644 --- a/bigclown-gateway/files/udev +++ b/bigclown-gateway/files/udev @@ -1 +1 @@ -SUBSYSTEMS=="usb", ACTION=="add", KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="bc-usb-dongle*", SYMLINK+="bcUD%n", TAG+="systemd", ENV{SYSTEMD_ALIAS}="/dev/bcUD%n" +SUBSYSTEMS=="usb", ACTION=="add", KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="bc-usb-dongle*", SYMLINK+="bcUD%n" -- cgit v1.2.3 From 5b0c2421d6ca596154d03b8994680e58e52846c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Wed, 12 Sep 2018 23:59:58 +0200 Subject: bigclown-gateway: replace udev with hotplug --- bigclown-gateway/files/hotplug | 32 ++++++++++++++++++++++++++++++++ bigclown-gateway/files/udev | 1 - 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 bigclown-gateway/files/hotplug delete mode 100644 bigclown-gateway/files/udev (limited to 'bigclown-gateway/files') diff --git a/bigclown-gateway/files/hotplug b/bigclown-gateway/files/hotplug new file mode 100644 index 0000000..fb1ef59 --- /dev/null +++ b/bigclown-gateway/files/hotplug @@ -0,0 +1,32 @@ +#!/bin/sh +DEVNAME="$(ls "/sys/$DEVPATH" | grep "^ttyUSB[0-9]*$")" +[ -n "$DEVNAME" ] || exit 0 +[ "$ID_VENDOR" = "0403" ] || exit 0 +[ "$ID_MODEL" = "6015" ] || exit 0 +echo "$ID_SERIAL" | grep -q ".*bc-usb-dongle.*" || exit 0 + +action_add() { + local id=0 + while [ -e "/dev/bcUD$id" ]; do + id=$(expr $id + 1) + done + ln -sf "/dev/$DEVNAME" "/dev/bcUD$id" +} + +action_remove() { + local id=0 + while [ "$(readlink "/dev/bcUD$id")" = "$DEVNAME" ]; do + [ -e "/dev/bcUD$id" ] || return 0 + id=$(expr $id + 1) + done + rm "/dev/bcUD$id" +} + +case "$ACTION" in + add) + action_add + ;; + remove) + action_remove + ;; +esac diff --git a/bigclown-gateway/files/udev b/bigclown-gateway/files/udev deleted file mode 100644 index 5409c56..0000000 --- a/bigclown-gateway/files/udev +++ /dev/null @@ -1 +0,0 @@ -SUBSYSTEMS=="usb", ACTION=="add", KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="bc-usb-dongle*", SYMLINK+="bcUD%n" -- cgit v1.2.3 From f92e15fbe52427e51260f60fe902da18ae85fd2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Thu, 13 Sep 2018 00:17:08 +0200 Subject: bigclown-gateway: ok no device link It seems to not work so just drop it. --- bigclown-gateway/files/config | 2 +- bigclown-gateway/files/hotplug | 32 -------------------------------- bigclown-gateway/files/init | 2 +- 3 files changed, 2 insertions(+), 34 deletions(-) delete mode 100644 bigclown-gateway/files/hotplug (limited to 'bigclown-gateway/files') diff --git a/bigclown-gateway/files/config b/bigclown-gateway/files/config index d880476..7fa3977 100644 --- a/bigclown-gateway/files/config +++ b/bigclown-gateway/files/config @@ -1,7 +1,7 @@ config config 'gateway' option name 'usb-dongle' - option device '/dev/bcUD0' + option device '/dev/ttyUSB0' option automatic_rename_kit_nodes '1' config config 'mqtt' diff --git a/bigclown-gateway/files/hotplug b/bigclown-gateway/files/hotplug deleted file mode 100644 index fb1ef59..0000000 --- a/bigclown-gateway/files/hotplug +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -DEVNAME="$(ls "/sys/$DEVPATH" | grep "^ttyUSB[0-9]*$")" -[ -n "$DEVNAME" ] || exit 0 -[ "$ID_VENDOR" = "0403" ] || exit 0 -[ "$ID_MODEL" = "6015" ] || exit 0 -echo "$ID_SERIAL" | grep -q ".*bc-usb-dongle.*" || exit 0 - -action_add() { - local id=0 - while [ -e "/dev/bcUD$id" ]; do - id=$(expr $id + 1) - done - ln -sf "/dev/$DEVNAME" "/dev/bcUD$id" -} - -action_remove() { - local id=0 - while [ "$(readlink "/dev/bcUD$id")" = "$DEVNAME" ]; do - [ -e "/dev/bcUD$id" ] || return 0 - id=$(expr $id + 1) - done - rm "/dev/bcUD$id" -} - -case "$ACTION" in - add) - action_add - ;; - remove) - action_remove - ;; -esac diff --git a/bigclown-gateway/files/init b/bigclown-gateway/files/init index 28f6e7e..090cc06 100755 --- a/bigclown-gateway/files/init +++ b/bigclown-gateway/files/init @@ -27,7 +27,7 @@ start_service() { append gateway name 'name:' usb-dongle # TODO add udev rules and use different default here - append gateway device 'device:' /dev/bcUD0 + 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:' -- cgit v1.2.3 From 90a56b0f739de9d49e4f2470d5326508e69c85c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Thu, 13 Sep 2018 17:05:54 +0200 Subject: bigclown-gateway: change default configuration --- bigclown-gateway/files/config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bigclown-gateway/files') diff --git a/bigclown-gateway/files/config b/bigclown-gateway/files/config index 7fa3977..c16e31b 100644 --- a/bigclown-gateway/files/config +++ b/bigclown-gateway/files/config @@ -1,9 +1,9 @@ -config config 'gateway' +config gateway 'gateway' option name 'usb-dongle' option device '/dev/ttyUSB0' option automatic_rename_kit_nodes '1' -config config 'mqtt' +config mqtt 'mqtt' option host 'localhost' option port '1883' -- cgit v1.2.3 From e48d2180906f69009fc830b5a1f5696c6e6ab88e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Sun, 30 Sep 2018 08:02:09 +0200 Subject: bigclown: configure init script respawn --- bigclown-gateway/files/init | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bigclown-gateway/files') diff --git a/bigclown-gateway/files/init b/bigclown-gateway/files/init index 090cc06..02f27d1 100755 --- a/bigclown-gateway/files/init +++ b/bigclown-gateway/files/init @@ -39,7 +39,7 @@ start_service() { append mqtt keyfile ' keyfile:' procd_open_instance - procd_set_param respawn + 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 -- cgit v1.2.3