ПО МКА-3: различия между версиями

Материал из Wiren Board
м
 
(не показана 1 промежуточная версия 1 участника)
Строка 2: Строка 2:
<translate>
<translate>
Основная статья: [[Wiren Board NETMON-1]]
Основная статья: [[Wiren Board NETMON-1]]
=== Перезагрузка SCU (задние реле) ===
=== Перезагрузка SCU (задние реле) === <!--T:1-->
За управление задними реле ответственен демон dbic-pcycle.py.
За управление задними реле ответственен демон dbic-pcycle.py.


<!--T:2-->
Запуск/остановка демона:
Запуск/остановка демона:
<pre>
<pre>
Строка 11: Строка 12:
</pre>
</pre>


<!--T:3-->
Демон слушает команды по шине MQTT. Есть три разных способа вызвать перезагрузку SCU, т.е. отправить MQTT-команду демону:
Демон слушает команды по шине MQTT. Есть три разных способа вызвать перезагрузку SCU, т.е. отправить MQTT-команду демону:


<!--T:4-->
* Через веб-интерфейс в разделе Back relays
* Через веб-интерфейс в разделе Back relays
* С помощью команды `dbic_invoke_pcycle.sh` в консоли
* С помощью команды `dbic_invoke_pcycle.sh` в консоли
Строка 20: Строка 23:
</pre>
</pre>


 
=== Механизм конфигурирования === <!--T:5-->
=== Механизм конфигурирования ===
==== Конфигурация ====
==== Конфигурация ====


<!--T:6-->
Пакет wb-dbic устанавливает и хранит темплейты конфигурационных файлов в директории /etc/wb-dbic/templates/.
Пакет wb-dbic устанавливает и хранит темплейты конфигурационных файлов в директории /etc/wb-dbic/templates/.
Например темплейт для файла /etc/network/interfaces хранится в файле /etc/wb-dbic/templates/etc/network/interfaces.template.
Например темплейт для файла /etc/network/interfaces хранится в файле /etc/wb-dbic/templates/etc/network/interfaces.template.


<!--T:7-->
Конфигурационные файлы генерируются посредством вызова скрипта dbic_gen_conf.
Конфигурационные файлы генерируются посредством вызова скрипта dbic_gen_conf.
Скрипт получает переменные для конфигурирования от SCU, после чего обрабатывает файлы из директории /etc/wb-dbic/templates.
Скрипт получает переменные для конфигурирования от SCU, после чего обрабатывает файлы из директории /etc/wb-dbic/templates.
Обрабатываются только файлы с расширением .template.
Обрабатываются только файлы с расширением .template.


<!--T:8-->
Если для заданного файла становится невозможно получить все необходимые переменные для подстановки, то файл не обновляется.
Если для заданного файла становится невозможно получить все необходимые переменные для подстановки, то файл не обновляется.


<!--T:9-->
Изменения в конфигурационных файлах не сохраняются. Изменения в темплейтах в директории /etc/wb-dbic/templates обрабатываются
Изменения в конфигурационных файлах не сохраняются. Изменения в темплейтах в директории /etc/wb-dbic/templates обрабатываются
стандартным механизмом conffiles в dpkg: при установке обновлённого пакета
стандартным механизмом conffiles в dpkg: при установке обновлённого пакета
и при наличии локальных правок пользователю будут предложены варианты дальнейших действий.
и при наличии локальных правок пользователю будут предложены варианты дальнейших действий.


 
==== Настройка сети ==== <!--T:10-->
==== Настройка сети ====
Т.к. получение переменных для подстановки в темплейты происходит по сети,
Т.к. получение переменных для подстановки в темплейты происходит по сети,
то отдельно предоставляется первоначальный файл с настройками сети -  /etc/network/interfaces.
то отдельно предоставляется первоначальный файл с настройками сети -  /etc/network/interfaces.


==== Добавление конфигурационных файлов в систему ==== <!--T:11-->


==== Добавление конфигурационных файлов в систему ====
<!--T:12-->
 
Добавление других конфигурационных файлов в систему автоконфигурирования должно производиться
Добавление других конфигурационных файлов в систему автоконфигурирования должно производиться
через обновление пакета wb-dbic (с увеличением версии). При этом, если нужный файл предоставляется каким-либо пакетом, то
через обновление пакета wb-dbic (с увеличением версии). При этом, если нужный файл предоставляется каким-либо пакетом, то

Текущая версия на 16:54, 24 мая 2020

Другие языки:

Основная статья: Wiren Board NETMON-1

Перезагрузка SCU (задние реле)

За управление задними реле ответственен демон dbic-pcycle.py.

Запуск/остановка демона:

/etc/init.d/wb-dbic-pcycle start
/etc/init.d/wb-dbic-pcycle stop

Демон слушает команды по шине MQTT. Есть три разных способа вызвать перезагрузку SCU, т.е. отправить MQTT-команду демону:

  • Через веб-интерфейс в разделе Back relays
  • С помощью команды `dbic_invoke_pcycle.sh` в консоли
  • С помощью отправки команды через MQTT
mosquitto_pub -h <ip-адрес МКА> -t "/devices/dbic-power-cycle/controls/power/on" -m "0" -q 2

Механизм конфигурирования

Конфигурация

Пакет 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, чтобы предотвратить перезаписывание файла при обновлении исходного пакета.