Wiren Board Software

Материал из Wiren Board
Другие языки:

Wiren Board имеет готовый веб-интерфейс для пользователей, но также предоставляет возможность разработки и использования собственного ПО. Исходные коды всего ПО открыты.

Веб-интерфейс

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

Wiren Board имеет собственный, находящийся локально на устройстве веб-интерфейс. В нём можно:

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

Подробнее смотрите в статье Веб-интерфейс Wiren Board.

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

Операционная система

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

Репозиторий и Git

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

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

MQTT

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

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

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

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

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

Подробнее смотрите MQTT.

Веб-интерфейс

Основная статья: Веб-интерфейс Wiren Board.

Веб-интерфейс работает непосредственно на Wiren Board. В качестве веб-сервера работает nginx или лёгкий webfsd (в зависимости от версии прошивки). Сам сайт написан на AngularJS, сайт взаимодействует с MQTT через WebSocket.

Движок правил

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

Подробнее смотрите Движок правил wb-rules.

Как работать с модулями контроллера и портами ввода-вывода из своих программ

GSM/GPRS

Wi-Fi

RS-485

GPIO

Watchdog

Прочее