Wiren Board Software: различия между версиями
Admin (обсуждение | вклад) |
|||
Строка 35: | Строка 35: | ||
=== Движок правил === | === Движок правил === | ||
Можно создавать правила, например, "если значение с датчика температуры ниже 18С, включи нагреватель". Правила пишутся на языке Javascript. Подробнее смотрите [ | Можно создавать правила, например, "если значение с датчика температуры ниже 18С, включи нагреватель". Правила пишутся на языке Javascript. Подробнее смотрите | ||
[[Движок правил wb-rules]]. | |||
== Как работать с модулями контроллера и портами ввода-вывода из своих программ == | == Как работать с модулями контроллера и портами ввода-вывода из своих программ == |
Версия 15:46, 5 мая 2015
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. Для архитектуры используемого процессора есть официальный порт. Поэтому почти любой пакет найдётся в стандартном репозитории, и его можно установить одной командой (apt-get install).
Репозиторий и Git
Также у нас есть собственный debian-репозиторий releases.contactless.ru, в котором хранятся пакеты, собранные специально для контроллера. Репозиторий прописан в образе ПО для Wiren Board по умолчанию (файл /etc/apt/sources.list).
Весь исходный код доступен на Github. Там можно почерпнуть примеры для разработки собственного ПО.
MQTT
Подробнее смотрите MQTT.
Wiren Board использует очередь сообщений MQTT (статья на википедии) в качестве единого стандарта сбора информации с внутренних модулей (реле, АЦП и т.д.) и внешних устройств (датчиков 1-Wire, устройств Modbus). Для каждого такого модуля и внешнего совместимого устройства разработан "драйвер", который передаёт данные в систему сообщений MQTT и обратно. Веб-интерфейс тоже берёт данные из этой системы сообщений, и все изменения, внесённые через него (например, включить реле) он отправляет туда же. Через ту же очередь сообщений работает и движок правил.
Веб-интерфейс
Подробнее см. Wiren Board 4:Веб-интерфейс
Веб-интерфейс работает непосредственно на Wiren Board. В качестве веб-сервера работает лёгкий webfsd. Сам сайт написан на AngularJS, сайт взаимодействует с MQTT через WebSocket.
Движок правил
Можно создавать правила, например, "если значение с датчика температуры ниже 18С, включи нагреватель". Правила пишутся на языке Javascript. Подробнее смотрите Движок правил wb-rules.