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

Материал из Wiren Board
м (→‎Архитектура ПО Wiren Board: Обновил ссылки, убрал дубль информации и добавил про Modbus RTU.)
Строка 1: Строка 1:
== Архитектура ПО Wiren Board ==  
== Архитектура ПО Wiren Board ==  
[[File:DebianLinux.png | thumb | 600px | Структура ПО контроллера. В центре очередь сообщений MQTT, использующаяся для обмена информацией между разными частями ПО]]
 
[[File:DebianLinux.png | thumb | 600px | Структура ПО контроллера. В центре очередь сообщений MQTT, которая используется для обмена информацией между разными частями ПО]]


Wiren Board работает под управлением стандартной сборки Debian Linux 9 Stretch. Для архитектуры используемого процессора есть официальный [https://www.debian.org/ports/arm/ порт].  
Wiren Board работает под управлением стандартной сборки Debian Linux 9 Stretch. Для архитектуры используемого процессора есть официальный [https://www.debian.org/ports/arm/ порт].  
Поэтому почти любой пакет найдётся в стандартном репозитории, и его можно установить одной командой (''apt-get install'').
Поэтому почти любой пакет найдётся в стандартном репозитории, и его можно установить одной командой <code>apt-get install имя_пакета</code>.


Также у нас есть собственный '''debian-репозиторий''' ''releases.contactless.ru'', в котором хранятся пакеты, собранные специально для контроллера.  
Также у нас есть собственный '''debian-репозиторий''' <code>http://releases.contactless.ru</code>, в котором хранятся пакеты, собранные специально для контроллера. Репозиторий по умолчанию прописан в образе ПО для Wiren Board в файле <code>/etc/apt/sources.list</code>
Репозиторий прописан в образе ПО для Wiren Board по умолчанию (файл ''/etc/apt/sources.list'').


Весь исходный код доступен на  [https://github.com/contactless/wirenboard https://github.com/contactless/wirenboard]. Там можно почерпнуть примеры для разработки собственного ПО.
Весь исходный код доступен на  [https://github.com/contactless/ GitHub]. Там можно почерпнуть примеры для разработки собственного ПО.


[[Special:MyLanguage/MQTT | '''Очередь сообщений MQTT''']] "скелет" программной архитектуры Wiren Board. Базовая информация по MQTT на [http://en.wikipedia.org/wiki/MQTT Википедии].
'''[[MQTT | Очередь сообщений MQTT]]''' — «скелет» программной архитектуры Wiren Board.
 
Драйверы, отвечающие за аппаратные возможности контроллера (цифровые входы, АЦП, ...) и функции внешних подключённых устройств (например, подключённых по RS-485 модулей реле), записывают их состояние в очередь MQTT в виде специальных сообщений. Веб-интерфейс читает эти сообщения и на их основе отображает состояние устройств.
 
Если же происходит нажатие кнопки в веб-интерфейсе, уже веб-интерфейс отправляет сообщение в очередь MQTT, драйвер устройства его получает и отдаёт команду устройству.
 
Через MQTT работает веб-интерфейс, движок правил и встроенные драйверы. Если вы разрабатываете собственное ПО в дополнение к предустановленному, мы советуем вам также использовать MQTT.


[[Файл:Веб-интерфейс - главная.png|thumb|500 px|Главная страница веб-интерфейса]]
[[Файл:Веб-интерфейс - главная.png|thumb|500 px|Главная страница веб-интерфейса]]
'''[[Special:MyLanguage/Веб-интерфейс Wiren Board|Веб-интерфейс Wiren Board]]''' работает непосредственно на контроллере. В нём можно:
'''[[Веб-интерфейс Wiren Board|Веб-интерфейс Wiren Board]]''' работает непосредственно на контроллере. В нём можно:
*следить за состоянием контроллера и подключённых устройств и управлять ими
*следить за состоянием контроллера и подключённых устройств и управлять ими,
*подключать устройства к контроллеру
*подключать устройства к контроллеру,
*настраивать контроллер и обновлять его ПО
*настраивать контроллер и обновлять его ПО,
*писать правила на встроенном движке
*писать правила на встроенном движке,
*настраивать [[Notification_module | SMS- и email-уведомления]]
*настраивать [[Notification_module | SMS- и email-уведомления]],
*смотреть графики истории значений параметров (например, температуры)
*смотреть графики истории значений параметров: температуры, напряжения и т.п.


'''[[Special:MyLanguage/Движок правил wb-rules|Движок правил wb-rules]]''' позволяет создавать собственные правила для контроллера, например: "Если температура датчика меньше 18°С, включи нагреватель". Правила создаются через [[Special:MyLanguage/Веб-интерфейс Wiren Board|веб-интерфейс]] и пишутся на простом Javascript-подобном языке.
'''[[Движок правил wb-rules|Движок правил wb-rules]]''' позволяет создавать собственные правила для контроллера, например: «Если температура датчика меньше 18°С, включи нагреватель». Правила создаются через [[Веб-интерфейс Wiren Board|веб-интерфейс]] и пишутся на простом Javascript-подобном языке.


Для работы с SCADA-системами есть:
Для работы с SCADA-системами есть:
* [[Special:MyLanguage/Zabbix support|Zabbix support]]
* [[Zabbix support|Агент Zabbix]]
* [[Special:MyLanguage/Шлюз Modbus TCP|Шлюз Modbus TCP]]
* [[Modbus_RTU/TCP_Slave|Шлюз Modbus TCP/RTU]]
* [[Special:MyLanguage/Драйвер SNMP|Драйвер SNMP]]
* [[Agent SNMP|Агент SNMP]]
 
[[Special:MyLanguage/Как разрабатывать ПО для Wiren Board|Как разрабатывать ПО для Wiren Board]] — статья для программистов.


[[Special:MyLanguage/Обновление прошивки|Обновление прошивки]]
'''[[Node-Red|Node-RED]]''' — инструмент визуального программирования.


'''[[Special:MyLanguage/Node-Red|Node-RED]]''' - инструмент визуального программирования.
== Полезные ссылки ==
* [[Как разрабатывать ПО для Wiren Board|Как разрабатывать ПО для Wiren Board]] — статья для программистов.
* [[Обновление прошивки|Обновление прошивки]]

Версия 12:29, 26 января 2021

Архитектура ПО Wiren Board

Структура ПО контроллера. В центре очередь сообщений MQTT, которая используется для обмена информацией между разными частями ПО

Wiren Board работает под управлением стандартной сборки Debian Linux 9 Stretch. Для архитектуры используемого процессора есть официальный порт. Поэтому почти любой пакет найдётся в стандартном репозитории, и его можно установить одной командой apt-get install имя_пакета.

Также у нас есть собственный debian-репозиторий http://releases.contactless.ru, в котором хранятся пакеты, собранные специально для контроллера. Репозиторий по умолчанию прописан в образе ПО для Wiren Board в файле /etc/apt/sources.list

Весь исходный код доступен на GitHub. Там можно почерпнуть примеры для разработки собственного ПО.

Очередь сообщений MQTT — «скелет» программной архитектуры Wiren Board.

Главная страница веб-интерфейса

Веб-интерфейс Wiren Board работает непосредственно на контроллере. В нём можно:

  • следить за состоянием контроллера и подключённых устройств и управлять ими,
  • подключать устройства к контроллеру,
  • настраивать контроллер и обновлять его ПО,
  • писать правила на встроенном движке,
  • настраивать SMS- и email-уведомления,
  • смотреть графики истории значений параметров: температуры, напряжения и т.п.

Движок правил wb-rules позволяет создавать собственные правила для контроллера, например: «Если температура датчика меньше 18°С, включи нагреватель». Правила создаются через веб-интерфейс и пишутся на простом Javascript-подобном языке.

Для работы с SCADA-системами есть:

Node-RED — инструмент визуального программирования.

Полезные ссылки