Wiren Board 8M

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

Это черновик страницы. Последняя правка сделана 13.08.2024 пользователем A.Degtyarev.

Купить в интернет-магазине

Файл:WB8M side.png
Контроллер Wiren Board 8M
Файл:WB8M System Level.png
Логическая блок-схема контроллера

Сводная таблица характеристик

Общее
Процессор ARM Cortex-A53 4 ядра 1.5 ГГц, 64 бита (Allwinner T507)
Память оперативная LPDDR4 RAM 1, 2 или 4Гбайт
Память энергонезависимая eMMC 8, 16 или 64 Гбайт
Габариты
Ширина, DIN-юнитов
Габаритные размеры (Д x Ш х В)
Масса (с коробкой)
Условия эксплуатации
Температура воздуха * от -40 до +75 °С
Относительная влажность До 92%, без конденсации влаги
Климатическое исполнение по ГОСТ 15150-69 O2.1*
Гарантийный срок 2 года
Срок службы 5 лет
Интерфейсы
RS-485 2
CAN до 2 — с помощью модулей расширения
Слот Micro SD до 60 Мбайт/с 1
Порты Wx: интерфейс 1-Wire/дискретный вход 2
Порты Ax: дискретный/аналоговый вход и выход «открытый коллектор» 4
Коммуникации
Ethernet 10/100 2
USB Host (USB-A) 1
Wi-Fi 802.11a/b/g/n (2.4 ГГц и 5 ГГц) Нет
Bluetooth 4.2 + BLE Нет
Сотовая связь 2G/3G/4G(LTE) или без модема — можно выбрать при заказе
SIM-карты 2 x nanoSIM, одновременно в сети одна
Питание
Напряжение 9…48 В постоянного тока
Потребляемая мощность средняя 3 Вт, до 8 Вт с модемом
Приоритет входов питания от входа с бо́льшим напряжением
Входы питания
  • 2 входа V+ на клеммной колодке.
  • 1 вход PoE 802.3af, 802.3at или Passive на Etnernet 1 с помощью встраиваемого модуля, подробнее в разделе Питание.
Выходы для питания внешних устройств
Vout На клеммы подаётся напряжение питания контроллера, но с ограничением тока в 1А, программным отключением и сохранением состояния при перезагрузке контроллера. Если контроллер питается от Passive PoE и напряжение питания контроллера выше 29 В — выход Vout будет автоматически отключен для защиты подключённых устройств.
5Vout 5 В — с ограничением тока и программным отключением
Модульность
Слоты для внутренних модулей расширения 3 с клеммами
Другие разъемы Для модуля резервного питания, для модуля PoE
Программное обеспечение в комплекте
Операционная система Debian Linux 11 Bullseye
Встроенный веб-интерфейс Добавление устройств, настройки, визуализация, мнемосхемы. Подробнее
Сценарии Правила wb-rules на JavaScript, редактирование через веб-интерфейс.
Визуализация Табличное представление, мнемосхемы во встроенном веб-интерфейсе
Управление с мобильного устройства Адаптивный веб-интерфейс или сторонние мобильные приложения.
Архив Хранение истории значений каналов wb-mqtt-db, до 1 Гбайт данных. Для больших объёмов используйте Grafana или аналогичные решения.
Обновление ПО Отдельных компонентов через APT, целиком прошивки с сохранением резервной копии через Web и USB-флеш
Удалённый доступ Wiren Board Cloud — сервис удалённого администрирования: веб-интерфейс, SSH, организации и группы, Grafana
Прочее Простая установка тысяч пакетов из репозиториев Debian, NodeJS, Python и т.п.
Программирование контроллера В комплекте: wb-rules • Python

Сторонние решения: Node-RED Языки МЭК 61131-3 • NodeJS и другие

Поддерживаемые протоколы, устройства и системы верхнего уровня
Протоколы
Опрос датчиков и работа с устройствами (в базовой комплектации) 1-WireDLMS/COSEM Modbus RTU/TCP Master ГОСТ МЭК 61107 СПОДЭС (ГОСТ Р 58940-2020)
Опрос датчиков и работа с устройствами (с помощью модулей расширения) KNXeBUSOpenThermZ-WaveZigbee
Опрос контроллера из систем верхнего уровня и с других устройств KNX Modbus RTU/TCP SlaveMQTTOPC UASNMPZabbix МЭК 104SmartWeb (Гидролого)
Системы верхнего уровня
Системы мониторинга и SCADA GrafanaHome Assistant IntraHouse IntraSCADASprut.hubMasterSCADANagiosSimpLight SCADARapid SCADASAYMONZabbix iRidium Server
Приложения
Управление с телефона MQTT DashiRidiumHome Assistant Apple HomeДом с АлисойСалют! Умный дом
Голосовые помощники Siri Салют Алиса
Способы программирования
Языки программирования ПЛК FBD, ST, LD, SFC (МЭК 61131-3)
Визуальное программирование Node-RED
Упрощённый текстовый движок правил wb-rules
Стандартное программирование Python C++ Go Node.js
Устройства сторонних производителей Таблица поддерживаемых устройств

Сборка и запуск

Контроллер поставляется собранным, прошитым и готовым к работе, но перед его использованием надо выполнить несколько шагов:

  1. Если установлен 4-G модем WBC2-4G — прикрутите его антенну и установите SIM-карту.
  2. Подключите питание контроллера:
    • к клеммнику 9-48V;
    • к интерфейсу Ethernet 1, если у вас установлен один из модулей PoE.

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

При подаче питания контроллер включится автоматически, подождите пару минут, пока загружается ОС Linux. В рабочем режиме индикатор контроллера будет мигать зелёным с частотой один раз в секунду.

Кнопка Pwr служит для завершения работы и аварийного выключения контроллера:

  • Короткое нажатие (0.5 сек) отправит операционной системе Linux команду poweroff, что приведёт к завершению работы и отключению питания.
  • Длинное нажатие принудительно выключает питание контроллера — это полезно, если по каким-то причинам Linux не может завершить работу сам.

С контроллером можно взаимодействовать через встроенный веб-интерфейс или через командную строку. В обоих случаях вам нужно подключить контроллер к компьютеру и узнать его IP-адрес.

Подключение к компьютеру

В контроллере есть несколько интерфейсов для связи с компьютером: Debug Network, Wi-Fi, Ethernet и Debug Console.

Для первоначальной настройки удобно использовать Wi-Fi или Ethernet, а в экстренных случаях Debug Console, которая предоставляет доступ к логам загрузчика и командной строке.

Ниже мы рассмотрим основные моменты, полную информацию по настройке сети читайте в статье Настройка сети в контроллере Wiren Board.

Wi-Fi

Контроллер создает Wi-Fi точку доступа без пароля:

  • Откройте на ноутбуке или телефоне список Wi-Fi точек доступа.
  • Выберите из списка точку доступа с именем WirenBoard-XXXXXXXX. Где XXXXXXXX - серийный номер контроллера.

При подключении по Wi-Fi контроллер будет доступен по адресу 192.168.42.1.

Ethernet

Оба Ethernet порта контроллера настроены на получение IP-адреса по DHCP, поэтому вам понадобится роутер с настроенной раздачей IP-адресов — обычно это любые роутеры, стоящие в квартире или офисе:

  1. Возьмите патчкорд с коннекторами RJ-45 и воткните его с одной стороной в свободный порт роутера, а с другой в один из портов контроллера.
  2. Зайдите в настройки вашего роутера и посмотрите, какой IP-адрес он выдал контроллеру. Другие способы узнать IP-адрес.
  3. Откройте на компьютере, подключённому к тому же роутеру, что и контроллер, веб-браузер и введите IP-адрес из предыдущего пункта.

Безопасность

Нарушение правил безопасности может повлечь потерю данных, доступа к контроллеру или отказ всей системы автоматизации. Контроллер — это сложное устройство с множеством сервисов и программ, которое предназначено для работы внутри доверенного контура локальной сети.

В заводской конфигурации на контроллере открыты:

  • Wi-Fi точка доступа;
  • SSH со стандартными логином и паролем;
  • веб-интерфейс;
  • MQTT-брокер.

Если вы устанавливаете сторонний софт, он тоже открывает порты, номера портов смотрите в документации на софт.

Всё это позволяет злоумышленнику получить доступ к вашим данным, украсть или удалить их. Например, через MQTT-брокер или веб-интерфейс можно загрузить скрипт на wb-rules, который пропишет ключ доступа злоумышленника в контроллер, а ваш пароль сменит.

Сразу после первого включения:

  1. Закройте стандартную точку доступа Wi-Fi паролем или отключите, если она не нужна.
  2. Смените пароль на SSH, а лучше используйте авторизацию по ключу. Инструкции.

Если контроллер в корпоративной сети или к нему есть доступ по VPN — к нему могут получить доступ другие пользователи сети. Чтобы этого избежать, установите пароль на веб-интерфейс и заблокируйте доступ к MQTT-брокеру.

Используйте для удаленного доступа Wiren Board Cloud, Tailscale, OpenVPN или аналоги.

Если контроллеру нужно назначить внешний IP-адрес. Выполните все рекомендации выше и позовите системного администратора, который дополнительно настроит контроллер для противодействия угрозам: переключит веб-интерфейс на https, закроет лишние порты и т.п.

Подробнее в статье Как защитить контроллеры Wiren Board.

Что дальше

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

Дополнительно:

  • Установите верный часовой пояс.
  • Для активных пользователей и проектов на стадии стройки и пусконаладки рекомендуем переключить ПО контроллера на Testing релиз.
  • Если вы забыли пароль для входа — можете сбросить пароль пользователя root.
  • Если возникли неполадки с контроллером, вы можете провести диагностику.
  • Настройте автоматизацию с помощью правил на wb-rules.

Если в процессе экспериментов что-то пошло не так, или вам надо откатить контроллер к заводским настройкам, можете удалить все данные и вернуть установленное на заводе ПО.

Программное обеспечение

Основная информация

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

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

Программное обеспечение контроллеров Wiren Board состоит из множества пакетов, которые мы объединяем в релизы stable — стоит на новых контроллерах и testing — rolling-релиз с самыми свежими версиями пакетов.

Дополнительную информацию смотрите в статье Программное обеспечение Wiren Board.

Предустановленно

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

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

Веб-интерфейс Wiren Board работает непосредственно на контроллере. В нём можно:

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

Движок правил wb-rules позволяет создавать собственные правила для контроллера, например: «Если температура датчика меньше 18°С, включи нагреватель». Правила создаются через веб-интерфейс и пишутся на простом Javascript-подобном языке.

Полезные ссылки

Интеграция со SCADA-системами

Для работы с SCADA-системами есть:

Поддержка сторонних программ

Дополнительно можно установить:

  • Node-RED — инструмент визуального программирования.
  • МЭК 61131-3 — программирование контроллеров с помощью языков FBD, ST, LD, SFC.
  • Grafana — мощный инструмент архивирования и визуализации данных.
  • IntraSCADA — платформа для систем диспетчеризации зданий, мониторинга и автоматизации промышленных объектов и инженерных сооружений (СМИС).
  • Rapid SCADA — это платформа для промышленной автоматизации с открытым исходным кодом.
  • Home Assistant — платформа для домашней автоматизации с открытым исходным кодом.
  • Docker — программное обеспечение для запуска приложений в изолированной среде.

А также сотни пакетов из репозитория Debian Linux и программное обеспечение партнёров.

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

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

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

Статьи:

Индикация этапов загрузки

Файл:WB8M Leds.jpg
Индикатор контроллера

В контроллерах Wiren Board 8M есть встроенный в кнопку светодиодный индикатор зеленого и красного цветов, которые можно включать поочерёдно.

Индикатор показывает основные этапы загрузки и его можно использовать для быстрого поиска неисправностей при старте. Для детальной информации о происходящем в контроллере используйте отладочный порт.

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


Условия Индикация Этапы Сообщения в Debug-UART
Включение контроллера Отсутствует Embedded controller производит подготовку к старту контроллера
[EC]: Wiren Board Embedded Controller
[EC]: Firmware version: 1.0.0-rc3
[EC]: Git info: 2dc0fda_feature_main-algorithm
[EC]: Power on reason: Wiren Board supply on
[EC]: Now the main processor will be powered on. All next debug messages are from processor.
0.2 секунды после включения. горит красный Загрузчик U-boot ждёт команду по debug-uart в течение 3 секунд.
Hit any key to stop autoboot:  3
5 секунд после включения и в USB-разъём вставлен носитель с файлом обновления. мигает красный Загрузчик U-boot увидел файл обновления и 3 секунды ждёт подтверждения.
##############################
# Detected USB flash drive with update file
# Filename: wb6_update_FACTORYRESET.fit
# Press a FW key if you want to update firmware from this file
# or wait 3 seconds to boot normally.
##############################
5 секунд после включения и USB-разъёмы свободны. горит красный Загрузчик U-boot применяет аппаратную конфигурацию контроллера.
Applying DT overlay ...
10 секунд после включения. мигает красный Загрузка OC и внутренних сервисов. Множество записей, есть
Welcome to Debian GNU/Linux 10
60-70 секунд после включения. мигает зеленый ОС загрузилась, контроллер готов к работе. Приглашение для входа в систему
wirenboard-<Серийный номер> login:

Внутренние модули расширения

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

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

Модуль резервного питания — дополнительные мезонинные платы, устанавливаются внутрь корпуса Wiren Board и обеспечивает работу контроллера до 3 часов.

PoE модули — дополнительные модули обеспечивающие питание от PoE.