Wiren Board Software: различия между версиями

Материал из Wiren Board
Строка 20: Строка 20:


<!--T:13-->
<!--T:13-->
Wiren Board работает под управлением стандартной сборки Debian Linux 7.0. Для архитектуры используемого процессора есть официальный [https://www.debian.org/ports/arm/ порт]. Поэтому почти любой пакет найдётся в стандартном репозитории, и его можно установить одной командой (''apt-get install'').
Wiren Board работает под управлением стандартной сборки Debian Linux 9 (stretch). Для архитектуры используемого процессора есть официальный [https://www.debian.org/ports/arm/ порт]. Поэтому почти любой пакет найдётся в стандартном репозитории, и его можно установить одной командой (''apt-get install'').


=== Репозиторий и Git === <!--T:14-->
=== Репозиторий и Git === <!--T:14-->

Версия 11:55, 7 июня 2018

Другие языки:

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

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

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

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

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

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

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

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

Wiren Board работает под управлением стандартной сборки Debian Linux 9 (stretch). Для архитектуры используемого процессора есть официальный порт. Поэтому почти любой пакет найдётся в стандартном репозитории, и его можно установить одной командой (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

Прочее