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

Материал из Wiren Board
Строка 3: Строка 3:
[[File:DebianLinux.png | thumb | 600px | Структура ПО контроллера. В центре очередь сообщений MQTT, использующаяся для обмена информацией между разными частями ПО]]
[[File:DebianLinux.png | thumb | 600px | Структура ПО контроллера. В центре очередь сообщений MQTT, использующаяся для обмена информацией между разными частями ПО]]


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


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


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


[[MQTT | '''Очередь сообщений MQTT''']] - "скелет" программной архитектуры Wiren Board. Базовая информация по MQTT на [http://en.wikipedia.org/wiki/MQTT Википедии].
[[MQTT | '''Очередь сообщений MQTT''']] "скелет" программной архитектуры Wiren Board. Базовая информация по MQTT на [http://en.wikipedia.org/wiki/MQTT Википедии].


Драйверы, отвечающие за аппаратные возможности контроллера (цифровые входы, АЦП, ...) и функции внешних подключённых устройств (например, подключённых по RS-485 модулей реле) записывают их состояние в очередь MQTT в виде специальных сообщений. Веб-интерфейс читает эти сообщения и на их основе отображает состояние устройств.
Драйверы, отвечающие за аппаратные возможности контроллера (цифровые входы, АЦП, ...) и функции внешних подключённых устройств (например, подключённых по RS-485 модулей реле), записывают их состояние в очередь MQTT в виде специальных сообщений. Веб-интерфейс читает эти сообщения и на их основе отображает состояние устройств.


Если же происходит нажатие кнопки в веб-интерфейсе, уже веб-интерфейс отправляет сообщение в очередь MQTT, драйвер устройства его получает и отдаёт команду устройству.
Если же происходит нажатие кнопки в веб-интерфейсе, уже веб-интерфейс отправляет сообщение в очередь MQTT, драйвер устройства его получает и отдаёт команду устройству.
Строка 23: Строка 25:
*настраивать контроллер и обновлять его ПО
*настраивать контроллер и обновлять его ПО
*писать правила на встроенном движке
*писать правила на встроенном движке
*настраивать SMS и email уведомления
*настраивать SMS- и email-уведомления
*смотреть на графике историю значений (например, температуры)
*смотреть графики истории значений параметров (например, температуры)


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


Для работы с SCADA-системами есть:
Для работы с SCADA-системами есть:
Строка 33: Строка 35:
* [[Драйвер SNMP]]
* [[Драйвер SNMP]]


[[Как разрабатывать ПО для Wiren Board]] - статья для программистов.
[[Как разрабатывать ПО для Wiren Board]] статья для программистов.


[[Обновление прошивки]]
[[Обновление прошивки]]

Версия 15:08, 18 июня 2018

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

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

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

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

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

Очередь сообщений MQTT — "скелет" программной архитектуры Wiren Board. Базовая информация по MQTT на Википедии.

Драйверы, отвечающие за аппаратные возможности контроллера (цифровые входы, АЦП, ...) и функции внешних подключённых устройств (например, подключённых по RS-485 модулей реле), записывают их состояние в очередь MQTT в виде специальных сообщений. Веб-интерфейс читает эти сообщения и на их основе отображает состояние устройств.

Если же происходит нажатие кнопки в веб-интерфейсе, уже веб-интерфейс отправляет сообщение в очередь MQTT, драйвер устройства его получает и отдаёт команду устройству.

Через MQTT работает веб-интерфейс, движок правил и встроенные драйверы. Если вы разрабатываете собственное ПО в дополнение к предустановленному, мы советуем вам также использовать MQTT.

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

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

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

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

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

Как разрабатывать ПО для Wiren Board — статья для программистов.

Обновление прошивки