Wiren Board Software: различия между версиями
Fizikdaos (обсуждение | вклад) |
Fizikdaos (обсуждение | вклад) м (Откат правок Fizikdaos (обсуждение) к версии Kilpio) |
||
Строка 1: | Строка 1: | ||
== Архитектура ПО Wiren Board == | |||
[[File:DebianLinux.png | thumb | 600px | Структура ПО контроллера. В центре очередь сообщений MQTT, использующаяся для обмена информацией между разными частями ПО]] | |||
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''). | |||
Весь исходный код доступен на [https://github.com/contactless/ https://github.com/contactless/]. Там можно почерпнуть примеры для разработки собственного ПО. | |||
[[MQTT | '''Очередь сообщений MQTT''']] — "скелет" программной архитектуры Wiren Board. Базовая информация по MQTT на [http://en.wikipedia.org/wiki/MQTT Википедии]. | |||
Драйверы, отвечающие за аппаратные возможности контроллера (цифровые входы, АЦП, ...) и функции внешних подключённых устройств (например, подключённых по RS-485 модулей реле), записывают их состояние в очередь MQTT в виде специальных сообщений. Веб-интерфейс читает эти сообщения и на их основе отображает состояние устройств. | |||
Если же происходит нажатие кнопки в веб-интерфейсе, уже веб-интерфейс отправляет сообщение в очередь MQTT, драйвер устройства его получает и отдаёт команду устройству. | |||
Через MQTT работает веб-интерфейс, движок правил и встроенные драйверы. Если вы разрабатываете собственное ПО в дополнение к предустановленному, мы советуем вам также использовать MQTT. | |||
[[Файл:Веб-интерфейс - главная.png|thumb|500 px|Главная страница веб-интерфейса]] | |||
'''[[Веб-интерфейс Wiren Board]]''' работает непосредственно на контроллере. В нём можно: | |||
*следить за состоянием контроллера и подключённых устройств и управлять ими | |||
*подключать устройства к контроллеру | |||
*настраивать контроллер и обновлять его ПО | |||
*писать правила на встроенном движке | |||
*настраивать SMS- и email-уведомления | |||
*смотреть графики истории значений параметров (например, температуры) | |||
'''[[Движок правил wb-rules]]''' позволяет создавать собственные правила для контроллера, например: "Если температура датчика меньше 18°С, включи нагреватель". Правила создаются через [[Веб-интерфейс Wiren Board|веб-интерфейс]] и пишутся на простом Javascript-подобном языке. | |||
Для работы с SCADA-системами есть: | |||
* [[Zabbix support]] | |||
* [[Шлюз Modbus TCP]] | |||
* [[Драйвер SNMP]] | |||
[[Как разрабатывать ПО для Wiren Board]] — статья для программистов. | |||
[[Обновление прошивки]] |