Wiren Board NETMON-1: различия между версиями

Нет описания правки
Строка 267: Строка 267:
mqtt.value[/devices/sht1x/controls/temperature]
mqtt.value[/devices/sht1x/controls/temperature]
</pre>
</pre>
=== Перезагрузка SCU (задние реле) ===
За управление задними реле ответственен демон dbic-pcycle.py.
Запуск/остановка демона:
<pre>
/etc/init.d/wb-dbic-pcycle start
/etc/init.d/wb-dbic-pcycle stop
</pre>
Демон слушает команды по шине MQTT. Есть три разных способа вызвать перезагрузку SCU, т.е. отправить MQTT-команду демону:
* Через веб-интерфейс в разделе Back relays
* С помощью команды `dbic_invoke_pcycle.sh` в консоли
* С помощью отправки команды через MQTT
<pre>
mosquitto_pub -h <ip-адрес МКА> -t "/devices/dbic-power-cycle/controls/power/on" -m "0" -q 2
</pre>
=== Механизм конфигурирования ===
==== Конфигурация ====
Пакет wb-dbic устанавливает и хранит темплейты конфигурационных файлов в директории /etc/wb-dbic/templates/.
Например темплейт для файла /etc/network/interfaces хранится в файле /etc/wb-dbic/templates/etc/network/interfaces.template.
Конфигурационные файлы генерируются посредством вызова скрипта dbic_gen_conf.
Скрипт получает переменные для конфигурирования от SCU, после чего обрабатывает файлы из директории /etc/wb-dbic/templates.
Обрабатываются только файлы с расширением .template.
Если для заданного файла становится невозможно получить все необходимые переменные для подстановки, то файл не обновляется.
Изменения в конфигурационных файлах не сохраняются. Изменения в темплейтах в директории /etc/wb-dbic/templates обрабатываются
стандартным механизмом conffiles в dpkg: при установке обновлённого пакета
и при наличии локальных правок пользователю будут предложены варианты дальнейших действий.
==== Настройка сети ====
Т.к. получение переменных для подстановки в темплейты происходит по сети,
то отдельно предоставляется первоначальный файл с настройками сети -  /etc/network/interfaces.
==== Добавление конфигурационных файлов в систему ====
Добавление других конфигурационных файлов в систему автоконфигурирования должно производиться
через обновление пакета wb-dbic (с увеличением версии). При этом, если нужный файл предоставляется каким-либо пакетом, то
необходимо пользоваться функционалом dpkg-divert или dpkg-divert в сочетании с ucf, чтобы предотвратить перезаписывание файла при обновлении
исходного пакета.