Wiren Board Software
Wiren Board предоставляет как готовый веб-интерфейс для пользователей, так и возможности для собственной разработки. Исходные коды всего ПО открыты.
Веб-интерфейс
Подробнее смотрите здесь - Wiren Board 4:Веб-интерфейс
Wiren Board 4 имеет собственный, находящийся локально на устройстве веб-интерфейс. Это удобный способ управления подключенными устройствами и контроля подключённых датчиков.
Как зайти в интерфейс
Просто введите в адресную строку браузера IP-адрес контроллера. При подключении по Wi-Fi к создаваемой контроллером точке доступа WirenBoard это 192.168.42.1
Что можно делать в интерфейсе
- управлять подключенными устройствами
- смотреть показания датчиков
- собирать устройства и датчики в панели (Dashboards)
Архитектура ПО Wiren Board
Операционная система
Wiren Board работает под управлением стандартной сборки Debian Linux 7.0. Для архитектуры используемого процессора есть официальный порт - https://www.debian.org/ports/arm/. Поэтому почти любой пакет найдётся в стандартном репозитории, и его можно установить одной командой (apt-get install).
Репозиторий и Git
Также у нас есть собственный debian-репозиторий releases.contactless.ru, в котором хранятся пакеты, собранные специально для контроллера. Репозиторий прописан в образе ПО для Wiren Board по умолчанию (файл /etc/apt/sources.list).
Весь исходный код доступен на Github - https://github.com/contactless/. Там можно почерпнуть примеры для разработки собственного ПО.
MQTT
Подробнее смотрите MQTT.
Wiren Board использует очередь сообщений MQTT (http://en.wikipedia.org/wiki/MQTT) в качестве единого стандарта сбора информации с внутренних модулей (реле, АЦП и т.д.) и внешних устройств (датчиков 1-Wire, устройств Modbus). Для каждого такого модуля и внешнего совместимого устройства разработан "драйвер", который передаёт данные в систему сообщений MQTT и обратно. Веб-интерфейс тоже берёт данные из этой системы сообщений, и все изменения, внесённые через него (например, включить реле) он отправляет туда же. Через ту же очередь сообщений работает и движок правил.
Веб-интерфейс
Подробнее см. Wiren Board 4:Веб-интерфейс
Веб-интерфейс работает непосредственно на Wiren Board. В качестве веб-сервера работает лёгкий webfsd. Сам сайт написан на AngularJS, сайт взаимодействует с MQTT через WebSocket.
Движок правил
Можно создавать правила, например, "если значение с датчика температуры ниже 18С, включи нагреватель". Правила пишутся на языке Javascript. Подробнее смотрите https://github.com/contactless/wb-rules