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

Строка 14: Строка 14:


== Архитектура ПО Wiren Board ==
== Архитектура ПО Wiren Board ==
<img src="https://docs.google.com/drawings/d/10EKkSP6j3nM2OYGFicYATNuu1m52a-5p6MbMN6UNQes/pub?w=960&amp;h=720">
=== Операционная система ===
=== Операционная система ===
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 ===
=== Репозиторий и Git ===
Также у нас есть собственный debian-репозиторий releases.contactless.ru, в котором хранятся пакеты, собранные специально для контроллера. Репозиторий прописан в образе ПО для Wiren Board по умолчанию (файл /etc/apt/sources.list).
Также у нас есть собственный debian-репозиторий releases.contactless.ru, в котором хранятся пакеты, собранные специально для контроллера. Репозиторий прописан в образе ПО для Wiren Board по умолчанию (файл /etc/apt/sources.list).


Весь исходный код доступен на Github - https://github.com/contactless/. Там можно почерпнуть примеры для разработки собственного ПО.
Весь исходный код доступен на Github - https://github.com/contactless/. Там можно почерпнуть примеры для разработки собственного ПО.
=== MQTT ===
=== MQTT ===
<img src="https://docs.google.com/drawings/d/10EKkSP6j3nM2OYGFicYATNuu1m52a-5p6MbMN6UNQes/pub?w=960&amp;h=720" height="360" width="480" align="right">
Подробнее смотрите [[MQTT]].
Подробнее смотрите [[MQTT]].


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


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