Программное обеспечение контроллеров Wiren Board

Материал из Wiren Board



Wiren Board 5

Общие характеристики

Wiren Board ревизии 5.3
Процессор Freescale i.MX28 454 MHz ARM9
Память оперативная DDR2 SDRAM 128 MB
Память энергонезависимая 4 GB eMMC
Операционная система Debian Linux 7.0. Mainline kernel 4.1.
Габаритные размеры Корпус на DIN рейку шириной 6М.

106.25x90.2x57.5 мм. Размер без корпуса: 103x87x20 мм.

Эксплуатация Рабочая температура - -25...+70С

(-40..+70С по запросу).

Питание 7-28VDC

Страница продукта и магазин: Wiren Board 5

Для начала работы с контроллером рекомендуется прочитать статью Первое включение.


Как устроено ПО Wiren Board

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

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

Все сервисы контроллера общаются между собой по общей «шине», в роли которой выступает Очередь сообщений MQTT.

По умолчанию установлены Веб-интерфейс Wiren Board, Движок правил wb-rules, а также драйвера и вспомогательные утилиты.

Опционально можно установить шлюзы для интеграции со SCADA-системами и сторонний софт. Полный список смотрите в Таблице поддерживаемых устройств, протоколов и программ.

Разработка своих решений

Вы можете разрабатывать своё ПО для контроллеров Wiren Board или собрать собственный образ прошивки с нужными вам настройками, лицензиями и пакетами. Свой образ прошивки можно установить в контроллеры самостоятельно штатными средствами, или мы можем делать это сразу на производстве при заказе отдельной партии.

Исходный код программного обеспечения контроллера доступен на GitHub. Там можно почерпнуть примеры для разработки собственного ПО.

Статьи:

Обновление прошивки и релизный цикл

Кратко о релизах

Релизный цикл ПО Wiren Board

Программное обеспечение контроллеров Wiren Board состоит из множества пакетов, которые мы объединяем в релизы:

  • Stable — стабильный релиз: обновление пакетов раз в три месяца и исправления критических ошибок. Рекомендуем для инсталляций, которые делает интегратор и которые работают сейчас.
  • Testing — тестовый релиз: свежие версии пакетов с новыми функциями и исправлениями, но возможно и с новыми ошибками. Рекомендуем для активных пользователей (DIY), для инсталляций на стадии стройки и проектирования.

Стабильные релизы имеют номер вида wb-YYMM, где YY — год, а MM — месяц выпуска. Например, wb-2104 — релиз, выпущенный в апреле 2021 года.

Мы будем рады, если вы сможете присоединиться к использованию testing, ведь кроме получения новых фич вы поможете уменьшить количество ошибок в stable.

Журналы изменений в релизах
Ветка Имя
stable wb-2401wb-2310wb-2307wb-2304wb-2207wb-2204wb-2201wb-2110wb-2108 • wb-2104
testing скользящий релиз, изменения

Какой релиз на вашем контроллере

Версия ПО в веб-интерфейсе контроллера
WebUIDevicesSystem

С завода на контроллерах Wiren Board установлен актуальный на момент производства стабильный релиз.

Узнать версию релиза можно в веб-интерфейсе контроллера в разделе Устройства в карточке устройства System или в консоли командой wb-release.

Переключение между релизами

Между релизами можно переключаться вручную. Сделайте резервную копию настроек, подключитесь к контроллеру через SSH и выполните одну из команд:

  • Переход со стабильного на тестовый:
    wb-release -t testing
    
  • Переход с тестового на стабильный:
    wb-release -t stable
    

После смены релиза рекомендуем перезагрузить контроллер на случай, если обновилось ядро, а также обновить страницу веб-интерфейса в браузере со сбросом кэша (Ctrl+F5 для Chrome), чтобы загрузилась обновленная версия.

Кроме этого, сменить релиз можно с помощью прошивки контроллера fit-файлом, способы и ограничения смотрите в инструкции по обновлению ПО для вашего контроллера.

Обновление прошивки контроллера и откат к заводским настройкам

Прошивку контроллера можно обновить или вернуть его к заводскому состоянию с удалением всех данных.

Все ревизии контроллера можно обновить через менеджер пакетов apt или веб-интерфейс, а в относительно свежих добавилась возможность обновления с флеш-накопителя и через Debug Network.

Инструкции:

Список сервисов и их назначение

Список сервисов, запущенных на контроллере, их статус и описание можно получить командой:

systemctl list-units --type=service

Про управление сервисами читайте в статье Диагностика ошибок в работе контроллера.

Имя сервиса Описание
avahi-daemon.service Avahi mDNS/DNS-SD Stack
bluetooth.service Bluetooth service
cgmanager.service Cgroup management daemon
cron.service Regular background program processing daemon
dbus.service D-Bus System Message Bus
dnsmasq.service dnsmasq - A lightweight DHCP and caching DNS server
getty@tty1.service Getty on tty1
hostapd.service LSB: Advanced IEEE 802.11 management daemon
kmod-static-nodes.service Create list of required static device nodes for the current kernel
knxd.service KNX Daemon
mosquitto.service Mosquitto MQTT v3.1/v3.1.1 Broker
netplug.service LSB: Brings up/down network automatically
networking.service Raise network interfaces
nginx.service A high performance web server and a reverse proxy server
ntp.service LSB: Start NTP daemon
rsyslog.service System Logging Service
serial-getty@ttymxc0.service Serial Getty on ttymxc0
ssh.service OpenBSD Secure Shell server
systemd-fsck-root.service File System Check on Root Device
systemd-fsck@dev-mmcblk0p6.service File System Check on /dev/mmcblk0p6
systemd-journal-flush.service Flush Journal to Persistent Storage
systemd-journald.service Journal Service
systemd-logind.service Login Service
systemd-modules-load.service Load Kernel Modules
systemd-random-seed.service Load/Save Random Seed
systemd-modules-load.service Load Kernel Modules
systemd-random-seed.service Load/Save Random Seed
systemd-remount-fs.service Remount Root and Kernel File Systems
systemd-sysctl.service Apply Kernel Variables
systemd-tmpfiles-setup-dev.service Create Static Device Nodes in /dev
systemd-tmpfiles-setup.service Create Volatile Files and Directories
systemd-udev-trigger.service udev Coldplug all Devices
systemd-udevd.service udev Kernel Device Manager
systemd-update-utmp.service Update UTMP about System Boot/Shutdown
systemd-user-sessions.service Permit User Sessions
user@0.service User Manager for UID 0
watchdog.service watchdog daemon
wb-configs-early.service prepare mounts and symlinks to config files
wb-configs.service watch config files
wb-gsm-rtc.service LSB: initscript to use GSM modem integrated RTC
wb-homa-ism-radio.service LSB: MQTT driver for WB HomA for RFM69 ISM radio
wb-hwconf-manager.service LSB: Hardware configuration with Device Tree overlays
wb-init.service LSB: board-specific initscript
wb-mqtt-adc.service MQTT Driver for ADC
wb-mqtt-confed.service LSB: Configuration Editor Backend
wb-mqtt-db.service Wiren Board database logger
wb-mqtt-gpio.service MQTT Driver for GPIO-controlled switches
wb-mqtt-knx.service LSB: : Wiren Board MQTT KNX bridge
wb-mqtt-logs.service Wiren Board journald to MQTT gateway
wb-mqtt-mbgate.service Wiren Board MQTT to Modbus TCP gateway
wb-mqtt-opcua.service Wiren Board MQTT to OPC UA gateway
wb-mqtt-serial.service MQTT Driver for serial devices
wb-mqtt-w1.service Kernel 1-Wire MQTT driver for WB-HomA
wb-prepare.service initialize filesystems at first boot
wb-repart.service prepare partitions at first boot
wb-rules.service MQTT Rule engine for Wiren Board
wb-systime-adjust.service Compensation of systime in PPM from value, stored in device-tree (with opposite sign)
wb-watch-update.service LSB: Firmware update monitor

Модульность контроллера

Модуль расширения KNX
Подключение модуля ввода-вывода к контроллеру


Внутренние модули расширения - это небольшие платы, устанавливаемые внутрь корпуса Wiren Board 5 и расширяющие его функциональность - дополнительные порты RS-485, RS-232, релейные выходы и т. д.

В контроллере есть два слота для подключения модулей расширения. На каждый модуль отводится 3 внешних клеммника.


Модули ввода-вывода стыкуются с боковым разъемом на WB5 с правой стороны, добавляя от 8 до 16 цифровых или аналоговых портов.

Последовательно можно подключать до 8 модулей: до 4 модулей ввода (типа I) и до 4-х модуля вывода (типа O и IO).


Модуль резервного питания - дополнительная мезонинная плата, устанавливается вторым этажом в корпус на DIN-рейку.

Содержит Li-Ion (Li-Pol) аккумулятором емкостью 1800 mAh, обеспечивает работу контроллера до 3 часов.

Беспроводные интерфейсы

Модуль сотовой связи - модем 2G (GPRS), 3G (UMTS) или NB-IoT устанавливается в контроллер при производстве. Требуется SIM-карта формата microSIM.

Модем позволяет отправлять и принимать SMS, подключаться к интернету.


Модуль Wi-Fi в Wiren Board можно настроить на работу в одном из трёх режимов:

  • режим точки доступа, включён по умолчанию (имя WirenBoard, без пароля, адрес контроллера в созданной сети: 192.168.42.1).
  • режим клиента;
  • одновременная работа в режиме и точки доступа, и клиента.

Модуль Bluetooth 4.0 (Bluetooth Low Energy) - можно отслеживать приближение других Bluetooth устройств - например, телефона владельца или метки.


USB-стик Z-Wave дает поддержку устройств стандарта Z-Wave.


Пакетное радио 433 МГц - радиомодуль RFM69H устанавливается в контроллер при производстве.

Позволяет подключать к контроллеру устройства Noolite, датчики Oregon.


Антенны Wi-Fi, GSM и радио 315/433MHz подключаются к SMA разъемам.

При слабом сигнале GSM рекомендуется использовать выносную антенну и располагать ее вдали от контроллера.

Проводные интерфейсы

Интерфейс Ethernet поддерживает скорость 10/100 Мбит/с. В ревизиях с 5.8 есть второй порт Ethernet.

Так же присутствует один порт USB 2.0. Работает в режиме USB Host или USB Device. Управление питанием отдельных USB-устройств описано в статье Питание USB-портов.

Настройка происходит через страницу Configs веб-интерфейса

Интерфейс RS-485 - стандарт коммуникации по двухпроводной шине.

Контроллер имеет 2 порта RS-485 + можно добавить еще 2 порта модулями расширения RS-485 .

Статья RS-485:Физическое подключение поможет вам правильно выбрать и проложить кабеля.

Настройка подключения устройств осуществляется в веб интерфесе.

Стандартно в Wiren Board с подключёнными по RS-485 устройствами работает Драйвер wb-mqtt-serial через систему MQTT-сообщений.

CAN - это стандарт коммуникации по двухпроводной шине. На контроллере мультиплексирован (выведен на те же клеммники) со вторым портом RS-485.

1-Wire - шина для подключения внешних датчиков по двум или трём проводам. Так как это шина, можно подключить несколько устройств на один порт 1-Wire. ПО контроллера поддерживает подключение температурных датчиков типа DS18B20.

Для питания датчиков удобно использовать выход +5V. Он защищен от КЗ и подачи повышенного напряжения. При питании контроллера от аккумулятора выход +5V остается активным. Так же есть программное управление этим выходом (его можно отключать).

Универсальные входы/выходы A1-A4

Универсальный канал Ах объединяет в себе три функции и может работать как:

Резистивные входы R1 и R2

Могут работать в режимах:

  • измерения сопротивления 1-30кОм
  • измерения напряжение в диапазоне 0-3.0В
  • цифровой вход

Вход R2 есть только в версии 5.3.

ADC:Измерение сопротивлений - технические детали

Клеммники

Wiren Board 5
Работа с самозажимными клеммами

подпись

Max. V, I cостояние по умолчанию Функции
Верхний ряд, левый блок
Vin 28V Питание, защита от переполюсовки
GND "земля", минус блок питания
Верхний ряд, правый блок
O1-O3 Входы/выходы 1-го модуля расширения
O1-O3 Входы/выходы 2-го модуля расширения
Нижний ряд, правый блок
A1-A4 28V , 2A High Z Выходы "открытый коллектор", ADC, цифровые входы, защита ключей от индуктивной нагрузки.
R1-R2* 5V High Z Резистивные датчики, ADC, цифровые входы
GND Для удобства подключения внешних датчиков
W1 30V 3.3V 1-Wire, GPIO
5V out 5V, 0.5A 5V Выход 5V. Защита от КЗ. Программное вкл/выкл.
A 30 V 0V порт RS-485 (/dev/ttyAPP1)
B 30 V +5V
L 30 V 0V Порт CAN или RS-485 (/dev/ttyAPP4).

Подключение RS-485: A к клемме L, B к клемме H.

H 30 V +5V
Vout* 1A Выход питания. Входное напряжение, подключенное через диод.

* зависит от аппаратной ревизии

Все входы защищены от подачи напряжения питания (до 28 В) и импульсных помех.

В качестве интерфейсных клемм в контроллере применены клеммы "тип 250". Это самозажимные клипсы. При вставке очищенного одножильного провода в гнездо, он автоматически зажимается пружинной защѐлкой. Для вставки многожильных проводов, необходимо отжать пружину, нажав на кнопку клипсы. Кнопка имеет паз под шлицевую отвертку. Для извлечения провода, нужно отжать пружину, нажав на кнопку клипсы, и вытащить провод.

Другие интерфейсы

Отладочный порт - подключившись к нему можно получить прямой доступ к консоли контроллера. Через него можно также взаимодействовать с загрузчиком и следить за загрузкой операционной системы (последовательная консоль, serial console).

"Пищалка" - издает звуковой сигнал, частота настраивается.

Часы реального времени RTC питаются от внутренней резервной батарейки.

В контроллерах ревизии 5.3 и 5.6 так же есть:

  • ИК-порт
  • Аудиовыход цифрового звука - S/PDIF, разъём TOSLINK.

Сторожевой таймер

Отдельный аппаратный watchdog, перезагружающий контроллер целиком по питанию при зависании ПО.

Отключение аппаратного сторожевого таймера

Питание

На контроллере есть три внешних входа для подключения питания:

  • DC jack - стандартный штекерный разъем (5.5x2.1мм) на левой стороне корпуса.
  • Клеммники Vin и GND - в контроллерах ревизии 5.8 и выше: две клеммы Vin, к которым можно подключить два независимых блока питания для резервирования. Земли блоков питания должны быть соединены и подключены к клемме GND.

Возможно одновременное подключения источников к разным входам, в том числе с разным напряжением.

Для резервного питания можно подключить внутренний модуль WBMZ-BATTERY с Li-Ion (Li-Pol) аккумулятором.

Допустимый диапазон питания 7-28В. Среднее потребление платы - 1,5-2 Вт. Но т.к. модуль GSM потребляет импульсно до 8 Вт, рекомендуется использовать блоки питания с мощностью не менее 10 Вт.

Поддерживаемые устройства

Устройства нашего производства с интерфейсом RS-485

Поддерживаемые устройства

Подключение периферийных устройств

Подробное тех.описание платы контроллера

Размеры платы контроллера

В статье Wiren Board 5:Схемотехника описаны некоторые особенности работы и устройства входов, схемы питания контроллера.

Аппаратные ошибки/особенности Wiren Board 5 найденные при эксплуатации контроллера.

Wiren Board: Аппаратные ревизии - описание изменений в плате контроллера.

Таблицы соответствия GPIO процессора и сигналов на плате для ревизий:

rev. 5.5 (5.6, 5.6.1), rev. 5.8 (5.9), rev. 5.3

Работа с GPIO -как работать с GPIO напрямую.

Wiren Board 5:Восстановление пароля пользователя root

Изображения и чертежи устройства


По ссылкам ниже вы можете скачать изображения и чертежи устройства Wiren_Board-5.8.

Corel Draw 2018: Wiren_Board-5.8.cdr.zip

Corel Draw PDF: Wiren_Board-5.8.cdr.pdf

Autocad 2013 DXF: Мы еще не подготовили чертеж этого устройства. Вы можете запросить чертеж устройства "Контроллер Wiren Board 5.8" на портале техподдержки Wiren Board (необходима регистрация).



По ссылкам ниже вы можете скачать изображения и чертежи устройства Wiren_Board-5.9.

Corel Draw 2018: Wiren_Board-5.9_new.cdr.zip

Corel Draw PDF: Wiren_Board-5.9_new.cdr.pdf

Autocad 2013 DXF: Мы еще не подготовили чертеж этого устройства. Вы можете запросить чертеж устройства "Контроллер Wiren Board 5.9" на портале техподдержки Wiren Board (необходима регистрация).