Wiren Board Software: различия между версиями
Строка 33: | Строка 33: | ||
<!--T:11--> | <!--T:11--> | ||
[[ | [[Файл:MQTT.png | thumb | 600px]] | ||
=== Операционная система === <!--T:12--> | === Операционная система === <!--T:12--> | ||
Строка 57: | Строка 57: | ||
<!--T:19--> | <!--T:19--> | ||
Подробнее смотрите [[ | Подробнее смотрите [[MQTT|MQTT]]. | ||
Строка 73: | Строка 73: | ||
<!--T:24--> | <!--T:24--> | ||
Можно создавать правила, например, "если значение с датчика температуры ниже 18С, включи нагреватель". Правила пишутся на языке Javascript. Подробнее смотрите | Можно создавать правила, например, "если значение с датчика температуры ниже 18С, включи нагреватель". Правила пишутся на языке Javascript. Подробнее смотрите | ||
[[ | [[Движок правил wb-rules|Движок правил wb-rules]]. | ||
== Как работать с модулями контроллера и портами ввода-вывода из своих программ == <!--T:25--> | == Как работать с модулями контроллера и портами ввода-вывода из своих программ == <!--T:25--> |
Версия 18:59, 21 июля 2015
Wiren Board предоставляет как готовый веб-интерфейс для пользователей, так и возможности для собственной разработки. Исходные коды всего ПО открыты.
Веб-интерфейс
Wiren Board 4 имеет собственный, находящийся локально на устройстве веб-интерфейс. Это удобный способ управления подключенными устройствами и контроля подключённых датчиков.
Как зайти в интерфейс
Просто введите в адресную строку браузера IP-адрес контроллера. Также смотрите статью Как узнать IP-адрес контроллера.
Что можно делать в интерфейсе
- управлять подключенными устройствами
- смотреть показания датчиков
- собирать устройства и датчики в панели (Dashboards)
Подробнее смотрите здесь - Wiren Board 4:Веб-интерфейс
Архитектура ПО Wiren Board
Операционная система
Wiren Board работает под управлением стандартной сборки Debian Linux 7.0. Для архитектуры используемого процессора есть официальный порт. Поэтому почти любой пакет найдётся в стандартном репозитории, и его можно установить одной командой (apt-get install).
Репозиторий и Git
Также у нас есть собственный debian-репозиторий releases.contactless.ru, в котором хранятся пакеты, собранные специально для контроллера. Репозиторий прописан в образе ПО для Wiren Board по умолчанию (файл /etc/apt/sources.list).
Весь исходный код доступен на Github. Там можно почерпнуть примеры для разработки собственного ПО.
MQTT
Wiren Board использует очередь сообщений MQTT (статья на википедии) в качестве единого стандарта сбора информации с внутренних модулей (реле, АЦП и т.д.) и внешних устройств (датчиков 1-Wire, устройств Modbus). Для каждого такого модуля и внешнего совместимого устройства разработан "драйвер", который передаёт данные в систему сообщений MQTT и обратно. Веб-интерфейс тоже берёт данные из этой системы сообщений, и все изменения, внесённые через него (например, включить реле) он отправляет туда же. Через ту же очередь сообщений работает и движок правил.
Подробнее смотрите MQTT.
Веб-интерфейс
Подробнее см. Wiren Board 4:Веб-интерфейс
Веб-интерфейс работает непосредственно на Wiren Board. В качестве веб-сервера работает лёгкий webfsd. Сам сайт написан на AngularJS, сайт взаимодействует с MQTT через WebSocket.
Движок правил
Можно создавать правила, например, "если значение с датчика температуры ниже 18С, включи нагреватель". Правила пишутся на языке Javascript. Подробнее смотрите Движок правил wb-rules.