WB Software Architecture: различия между версиями

Сделал уточнение про собственные сервисы и организацию ПО
(добавил информацию о перезагрузке при остановке сервисов)
(Сделал уточнение про собственные сервисы и организацию ПО)
Строка 1: Строка 1:
{{Draft}}
{{Draft}}
{{DISPLAYTITLE: Архитектура ПО контроллера Wirenboard}}
{{DISPLAYTITLE: Архитектура ПО контроллера Wirenboard}}
Основой внутреннего программного обеспечения контроллера является операционная система система Debian Linux (в версии Wirenboard 6 установлен Debian Linux 9 Stretch). Она выполняет основные функции конфигурирования, контроля и управления аппаратным обеспечением контроллера, а также специализированным программным обеспечением. Специализированное ПО дополняет операционную систему и осуществляет взаимодействие с портами ввода-вывода, периферийными устройствами и модулями контроллера, внутреннюю диагностику работы, дает возможность написания пользовательских сценариев (правил управления) и другие важные функции, не входящие спектр задач операционной системы.
Все программное обеспечение (ПО) контроллера можно разделить на операционную систему (ОС), специализированное ПО и пользовательские программы.
Основа внутреннего ПО контроллера является операционная система система Debian Linux (в версии Wirenboard 6 установлен Debian Linux 9 Stretch). Она выполняет основные функции загрузки, конфигурирования, контроля и управления.
Специализированное ПО дополняет операционную систему и осуществляет взаимодействие с портами ввода-вывода, периферийными устройствами и модулями контроллера, диагностику работы контроллера, обеспечивает доступ к контроллеру через веб-интерфейс дает возможность написания пользовательских сценариев (правил управления) и другие важные функции, не входящие спектр задач операционной системы.


 
Специализированное ПО в основном представляет набор специальных программ и драйверов выполняющих в фоновом режиме отдельную задачу управления, диагностики или контроля. Большинство таких программы и драйверы зарегистрировано с ОС Linux в виде сервисов (служб) - программ, которые работают в фоновом режиме, запускаются автоматически при старте системы и контролируются операционной системой. Имена собственных сервисов контроллера Wirenboard обычно имеют префикс "wb-". Каждый сервис выполняет отдельную задачу. Если функции, которые обеспечивает сервис не используются, то сервис можно временно остановить или даже отключить совсем для освобождение ресурса процессора контроллера.
 
Специализированное ПО в основном представляет набор специальных программ и драйверов выполняющих в фоновом режиме отдельную задачу управления, диагностики или контроля. Эти программы и драйверы в основном зарегистрированы с ОС Linux в виде сервисов (служб) - программ, которые работают в фоновом режиме, запускаются автоматически при старте системы и контролируются операционной системой. Имена собственных сервисов контроллера Wirenboard обычно имеют префикс "wb-". Каждый сервис выполняет отдельную задачу. Если функции, которые обеспечивает сервис не используются, то сервис можно временно остановить или даже отключить совсем для освобождение ресурса процессора контроллера.


Список всех запущенных сервисов и статус их работы можно посмотреть с помощью команды
Список всех запущенных сервисов и статус их работы можно посмотреть с помощью команды
<pre>systemctl list-units --type=service</pre>
<pre>systemctl list-units --type=service</pre>
Перечень основных сервисов контроллера Wirenboard приведен в таблице ниже.  
Перечень собственных сервисов контроллера Wirenboard приведен в таблице ниже.  


Основная концепция работы контроллера - обмен информацией по протоколу [[MQTT | MQTT ]] через брокер (сервис) Mosquitto. Драйверы получают данные с устройств и публикуют их в виде MQTT-топиков в определенном формате. Другие службы читают эти данные и производят дальнейшие действия с ними: выводят в веб-интерфейс, запускают правила и т.д. Схематично взаимодействие сервисом можно представить в виде следующей схемы:
Основная концепция работы контроллера - обмен информацией по протоколу [[MQTT | MQTT ]] через брокер (сервис) Mosquitto. Драйверы получают данные с устройств и публикуют их в виде MQTT-топиков в определенном формате. Другие службы читают эти данные и производят дальнейшие действия с ними: выводят в веб-интерфейс, запускают правила и т.д. Схематично взаимодействие сервисом можно представить в виде следующей схемы:
wb_editors
480

правок