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

Материал из Wiren Board
(Новая страница: «=== Web-interface ===»)
м (FuzzyBot переименовал страницу Программное обеспечение Wiren Board/en в Wiren Board Software/en без оставления перенаправления: Часть переводимой страницы Программное обеспечение Wiren Board.)
 
(не показано 36 промежуточных версий 3 участников)
Строка 1: Строка 1:
<languages/>
<languages/>
Wiren Board offers both ready web-interface and capabilities for its development. Source code of all software is open.
== Web-interface ==
[[Special:MyLanguage/Файл:Веб-интерфейс - главная.png|thumb|500 px|Web-interface Main Page]]
[[Special:MyLanguage/Wiren Board 4|Wiren Board 4]] features built-in, local web-interface. This is a convenient way to control connected devices and monitor connected sensors.
=== How to enter the interface ===
Just enter IP address of the controller into address line of your browser. Ref. also the article [[Special:MyLanguage/Как узнать IP-адрес контроллера|How to know IP-address of the controller]].
=== What to do with the interface? ===
* control the connected devices
* read the sensors
* assemble devices and sensors into panels (Dashboards)
Подробнее смотрите здесь - [[Wiren Board 4:Веб-интерфейс|Wiren Board 4:Web-interface]]


== Wiren Board software architecture ==
== Wiren Board software architecture ==


[[Special:MyLanguage/Файл:MQTT.png | thumb | 600px]]
   
 
=== Operating system ===
 
Wiren Board runs under a standard configuration of Debian Linux 7.0. There is an [https://www.debian.org/ports/arm/ official version] of the system suitable for architecture of the used processor. That's why it is possible to find any package in the standard repository and install it by one command (apt-get install).
 
 
=== Repository and Git ===
 
We also maintain our own debian repository releases.contactless.ru, which contains packages developed specially for the controller. By default, this repository is listed in Wiren Board software image (file /etc/apt/sources.list).
 
All the source code is available at [https://github.com/contactless/ Github]. It is where you can find examples for development of your custom software.
 
 
=== MQTT ===
 
Wiren Board uses the MQTT message queue ([http://en.wikipedia.org/wiki/MQTT Wikipedia article]) as a single standard to gather information from internal modules (relays, ADS, etc.) and external devices (1-Wire sensors, Modbus devices). All these modules and external devices are provided with drivers that transfers data to the MQTT message system and back again. Web-interface also takes data from this message system and sends there all changes made by the user (for example, a relay activation command). The message queue is also used by the rules engine.
 
 
See more at [[Special:MyLanguage/MQTT|MQTT]].
 
 
=== Web-interface ===
 
Подробнее см.  [[Wiren Board 4:Веб-интерфейс|Wiren Board 4:Веб-интерфейс]]
 
Веб-интерфейс работает непосредственно на 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].
 


=== Движок правил ===
[[File:DebianLinux.png | thumb | 600px | The structure of the controller software. The MQTT message queue in the center is used to exchange information between different parts of the software]]


Можно создавать правила, например, "если значение с датчика температуры ниже 18С, включи нагреватель". Правила пишутся на языке Javascript. Подробнее смотрите
Wiren Board runs under a standard configuration of Debian Linux 9 Stretch. There is an [https://www.debian.org/ports/arm/ official version] of the system suitable for architecture of the used processor.  That's why it is possible to find any package in the standard repository and install it by one command (apt-get install).
[[Special:MyLanguage/Движок правил wb-rules|Движок правил wb-rules]].


We also maintain our own '''debian repository''' ''releases.contactless.ru'', which contains packages developed specially for the controller. By default, this repository is listed in Wiren Board software image (file ''/etc/apt/sources.list'').


== Как работать с модулями контроллера и портами ввода-вывода из своих программ ==
All the source code is available at [https://github.com/contactless/wirenboard/ | Github].There you can find examples for development of your custom software.


[[MQTT/en | '''MQTT message queue''']] — is the "skeleton" of the Wiren Board software architecture. For basic information about MQTT see [http://en.wikipedia.org/wiki/MQTT Wiki].


=== [[Special:MyLanguage/GSM/GPRS|GSM/GPRS]] ===
Drivers responsible for the hardware capabilities of the controller (digital inputs, ADC, ...) and functions of external connected devices (for example, connected via RS-485 relay modules), record their status in the MQTT queue in the form of special messages. The web interface reads these messages and displays the status of the devices based on them.


If a button is pressed in the web interface, the web interface sends a message to the MQTT queue, the device driver receives it and sends a command to the device.


=== [[Special:MyLanguage/Wi-Fi|Wi-Fi]] ===
Web interface, rules engine and built-in drivers work via MQTT. If you develop your own software in addition to the preinstalled one, we advise you to use MQTT as well.


[[Файл:Веб-интерфейс - главная.png|thumb|500 px|Web interface home page]]
'''[[Веб-интерфейс Wiren Board/en|Wiren Board web interface]]''' works directly on the controller. It can:
*monitor and manage the status of the controller and connected devices
*connect devices to the controller
*configure the controller and update its software
*write rules on the built-in engine
*set up SMS and email notifications
*watch historical graphs of values of the parameters (e.g., temperature)


=== [[Special:MyLanguage/RS-485|RS-485]] ===
'''[[Движок правил wb-rules/en|WB rules engine]]''' allows you to create your own rules for the controller, for example: "If the sensor temperature is less than 18°C, turn on the heater." Rules are created via [[Special:MyLanguage/Веб-интерфейс Wiren Board|web interface]] and are written in a simple Javascript-like language.


To work with SCADA-systems you have:
* [[Zabbix support/en|Zabbix support]]
* [[Шлюз Modbus TCP/en|Modbus TCP gateway]]
* [[Драйвер SNMP/en|SNMP driver]]


=== [[Special:MyLanguage/GPIO|GPIO]] ===
[[Как разрабатывать ПО для Wiren Board/en|How to develop software for Wiren Board]] — this article is for programmers.


[[Обновление прошивки/en|Firmware update]]


=== [[Special:MyLanguage/Watchdog|Watchdog]] ===
'''[[Node-Red/en|Node-RED]]''' - is a visual programming tool.

Текущая версия на 18:30, 26 января 2021

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

Wiren Board software architecture

The structure of the controller software. The MQTT message queue in the center is used to exchange information between different parts of the software

Wiren Board runs under a standard configuration of Debian Linux 9 Stretch. There is an official version of the system suitable for architecture of the used processor. That's why it is possible to find any package in the standard repository and install it by one command (apt-get install).

We also maintain our own debian repository releases.contactless.ru, which contains packages developed specially for the controller. By default, this repository is listed in Wiren Board software image (file /etc/apt/sources.list).

All the source code is available at | Github.There you can find examples for development of your custom software.

MQTT message queue — is the "skeleton" of the Wiren Board software architecture. For basic information about MQTT see Wiki.

Drivers responsible for the hardware capabilities of the controller (digital inputs, ADC, ...) and functions of external connected devices (for example, connected via RS-485 relay modules), record their status in the MQTT queue in the form of special messages. The web interface reads these messages and displays the status of the devices based on them.

If a button is pressed in the web interface, the web interface sends a message to the MQTT queue, the device driver receives it and sends a command to the device.

Web interface, rules engine and built-in drivers work via MQTT. If you develop your own software in addition to the preinstalled one, we advise you to use MQTT as well.

Web interface home page

Wiren Board web interface works directly on the controller. It can:

  • monitor and manage the status of the controller and connected devices
  • connect devices to the controller
  • configure the controller and update its software
  • write rules on the built-in engine
  • set up SMS and email notifications
  • watch historical graphs of values of the parameters (e.g., temperature)

WB rules engine allows you to create your own rules for the controller, for example: "If the sensor temperature is less than 18°C, turn on the heater." Rules are created via web interface and are written in a simple Javascript-like language.

To work with SCADA-systems you have:

How to develop software for Wiren Board — this article is for programmers.

Firmware update

Node-RED - is a visual programming tool.