Перейти к содержанию

Навигация

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

(Отметить эту версию для перевода)
(не показана 21 промежуточная версия 4 участников)
Строка 2: Строка 2:
<translate>
<translate>
<!--T:1-->
<!--T:1-->
Wiren Board предоставляет как готовый веб-интерфейс для пользователей, так и возможности для собственной разработки. Исходные коды всего ПО открыты.
Wiren Board имеет готовый веб-интерфейс для пользователей, но также предоставляет возможность разработки и использования собственного ПО. Исходные коды всего ПО открыты.
 


== Веб-интерфейс == <!--T:2-->
== Веб-интерфейс == <!--T:2-->
 
[[Файл:Веб-интерфейс - главная.png|thumb|500 px|Главная страница веб-интерфейса]]
<!--T:3-->
[[Wiren Board]] имеет собственный, находящийся локально на устройстве веб-интерфейс. В нём можно:
[[Special:MyLanguage/Файл:Веб-интерфейс - главная.png|thumb|500 px|Главная страница веб-интерфейса]]
*следить за состоянием контроллера и подключённых устройств и управлять ими
 
*подключать устройства к контроллеру
<!--T:4-->
*настраивать контроллер и обновлять его ПО
[[Special:MyLanguage/Wiren Board 4|Wiren Board 4]] имеет собственный, находящийся локально на устройстве веб-интерфейс. Это удобный способ управления подключенными устройствами и контроля подключённых датчиков.
*писать правила на встроенном движке
 
*настраивать SMS и email уведомления
=== Как зайти в интерфейс === <!--T:5-->
*смотреть на графике историю значений (например, температуры)
 
Подробнее смотрите в статье [[Веб-интерфейс Wiren Board]].
<!--T:6-->
Просто введите в адресную строку браузера IP-адрес контроллера. Также смотрите статью [[Special:MyLanguage/Как узнать IP-адрес контроллера|Как узнать IP-адрес контроллера]].
 
 
=== Что можно делать в интерфейсе === <!--T:7-->
 
<!--T:8-->
* управлять подключенными устройствами
* смотреть показания датчиков
* собирать устройства и датчики в панели (Dashboards)
 
 
<!--T:9-->
Подробнее смотрите здесь - [[Wiren Board 4:Веб-интерфейс|Wiren Board 4:Веб-интерфейс]]
 


== Архитектура ПО Wiren Board == <!--T:10-->
== Архитектура ПО Wiren Board == <!--T:10-->
<!--T:11-->
[[Special:MyLanguage/Файл:MQTT.png | thumb | 600px]]


=== Операционная система === <!--T:12-->
=== Операционная система === <!--T:12-->


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


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


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


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


=== MQTT ===
[[File:MQTT.png | thumb | 600px | Структура ПО контроллера. В центре очередь сообщений MQTT, использующаяся для обмена информацией между разными частями ПО]]


=== MQTT === <!--T:17-->
MQTT - очередь сообщений, "скелет" программной архитектуры Wiren Board. [http://en.wikipedia.org/wiki/MQTT Базовая информация по MQTT на Википедии].


<!--T:18-->
Драйверы, отвечающие за аппаратные возможности контроллера (цифровые входы, АЦП, транзисторный выходы, ...) и функции внешних подключённых устройств (например, подключённых по RS-485 модулей реле) записывают их состояние в очередь MQTT в виде специальных сообщений. Веб-интерфейс читает эти сообщения и на их основе отображает состояние устройств.
Wiren Board использует очередь сообщений MQTT ([http://en.wikipedia.org/wiki/MQTT статья на википедии]) в качестве единого стандарта сбора информации с внутренних модулей (реле, АЦП и т.д.) и внешних устройств (датчиков 1-Wire, устройств Modbus). Для каждого такого модуля и внешнего совместимого устройства разработан "драйвер", который передаёт данные в систему сообщений MQTT и обратно. Веб-интерфейс тоже берёт данные из этой системы сообщений, и все изменения, внесённые через него (например, включить реле) он отправляет туда же. Через ту же очередь сообщений работает и движок правил.


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


<!--T:19-->
Через MQTT работает веб-интерфейс, движок правил и встроенные драйверы. Если вы разрабатываете собственное ПО в дополнение к предустановленному, мы советуем вам также использовать MQTT.
Подробнее смотрите [[Special:MyLanguage/MQTT|MQTT]].


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


=== Веб-интерфейс === <!--T:20-->
=== Веб-интерфейс === <!--T:20-->


<!--T:21-->
Основная статья: [[Веб-интерфейс Wiren Board]].
Подробнее см.  [[Wiren Board 4:Веб-интерфейс|Wiren Board 4:Веб-интерфейс]]
 
<!--T:22-->
Веб-интерфейс работает непосредственно на Wiren Board. В качестве веб-сервера работает лёгкий [http://manpages.ubuntu.com/manpages/lucid/man1/webfsd.1.html webfsd]. Сам сайт написан на [https://angularjs.org/ AngularJS], сайт взаимодействует с MQTT через [http://en.wikipedia.org/wiki/WebSocket WebSocket].


Веб-интерфейс работает непосредственно на Wiren Board. В качестве веб-сервера работает [http://nginx.org nginx] или лёгкий [http://manpages.ubuntu.com/manpages/lucid/man1/webfsd.1.html webfsd] (в зависимости от версии прошивки). Сам сайт написан на [https://angularjs.org/ AngularJS], сайт взаимодействует с MQTT через [http://en.wikipedia.org/wiki/WebSocket WebSocket].


=== Движок правил === <!--T:23-->
=== Движок правил === <!--T:23-->


<!--T:24-->
Пользователи могут создавать собственные правила для контроллера - например, "Если температура датчика меньше 18°С, включи нагреватель". Правила создаются через [[Веб-интерфейс Wiren Board|веб-интерфейс]] и пишутся на простом Javascript-подобном языке.
Можно создавать правила, например, "если значение с датчика температуры ниже 18С, включи нагреватель". Правила пишутся на языке Javascript. Подробнее смотрите
[[Special:MyLanguage/Движок правил wb-rules|Движок правил wb-rules]].


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


== Как работать с модулями контроллера и портами ввода-вывода из своих программ == <!--T:25-->
== Как работать с модулями контроллера и портами ввода-вывода из своих программ == <!--T:25-->
Строка 93: Строка 71:


=== [[Special:MyLanguage/Watchdog|Watchdog]] === <!--T:30-->
=== [[Special:MyLanguage/Watchdog|Watchdog]] === <!--T:30-->
== Прочее ==
* [[Zabbix support]]
* [[Шлюз Modbus TCP]]
* [[Драйвер SNMP]]


</translate>
</translate>
wb_editors
153

правки