Как стать автором
Обновить
0
Рейтинг

Wiren Board 6: снова на Хабре с новой версией контроллера для автоматизации

Блог компании Wiren Board Компьютерное железо Умный дом Интернет вещей DIY или Сделай сам
Всем привет!

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




Кратко о контроллерах Wiren Board
Контроллер Wiren Board — устройство, которое работает как центральный контроллер в системе автоматизации или мониторинга.

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

Контроллер работает под управлением Linux, имеет множество встроенных проводных и беспроводных интерфейсов для связи с внешними устройствами и внешним миром.
Контроллер модульный — сбоку пристыковываются модули ввода-вывода (реле, входы для сухих контактов), внутрь вставляются модули расширения — дополнительные порты RS-485, RS-232 и т. д.

Естественно, всё это industrial-grade: корпус на DIN-рейку, большой диапазон входного питания, широкий температурный диапазон, надёжная память, защита всех портов и т. д.

Зачем мы выпустили новую версию


Времена нынче тяжелые: чтобы помигать светодиодом, без гигагерца тактовой частоты часто не обойтись. Если серьёзно, то производительности нашего предыдущего Wiren Board 5 с ARM9 хватало практически для всех задач, но только с нашим ПО, написанным на C++ и Go.

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

Главное изменение в Wiren Board 6 — новый процессор NXP i.MX 6ULL с одним ядром Cortex A7 на частоте 800 МГц и 512 Мбайт оперативной памяти DDR3 (в WB5 был Freescale i.MX28 454 МГц ARM9 и DDR2 128 Мбайт).

Контроллер стал быстрее в несколько раз: кроме собственно увеличения тактовой частоты, играет роль и использование более производительной (в пересчёте на МГц) архитектуры ядра. В i.MX 6ULL есть аппаратный FPU — в некоторых приложениях, сохраняющих и обрабатывающих данные, это дало существенный прирост в производительности.

Новый процессор позволил использовать свежие версии Node.js (архитектура предыдущего процессора не поддерживалась в движке V8), использовать Node-RED и устанавливать готовое ПО для Raspberry Pi без перекомпиляции.

В целом, с точки зрения разработки и выбора ПО Wiren Board 6 перешёл из категории «встраиваемое железо» в категорию «обычный компьютер с Linux, но со множеством интерфейсов».

Пара слов про то, почему не 8xCortex A53@2.2GHz мы выбрали процессор медленнее, чем в новых ТВ-приставках или в свежей Raspberry Pi. i.MX 6ULL — это современный (2017 год) процессор для индустриальных встраиваемых систем. Он имеет очень низкое энергопотребление — и поэтому почти не греется. Но при этом допустимая рабочая температура ядра составляет целых 105 °C. Для нас это важно, потому что Wiren Board обычно стоят в закрытых шкафах без всякого охлаждения. На холоде контроллеры тоже работают, минимальная температура всех компонентов — минус 40 °C.

А ещё этот процессор имеет отличную поддержку в mainline ядре Linux, и производитель гарантирует его производство минимум до 2026 года.



Другие изменения в контроллере


У контроллеров Wiren Board 5 было несколько аппаратных ревизий, по которым можно проследить эволюцию устройства. Отличий последней ревизии от первой довольно много:

  • добавлен клеммник Vout — выход напряжения питания. Удобно для подключения периферийных устройств по RS-485 — можно взять линии данных и питания от единого устройства;
  • отладочная консоль выведена на интерфейс Micro-USB вместо UART;
  • добавлен второй порт Ethernet. Используется как резервный канал, для подключения к изолированным сетям и для подключения других контроллеров;
  • изменена схема питания. Использовали синхронный step down (выше КПД — меньше нагрев платы), диапазон входного питания до 40 вольт, избавились от электролитических конденсаторов (теперь только керамические) — это увеличивает срок службы;
  • добавлены джамперы для включения терминирующих резисторов на линиях RS-485/CAN;
  • убран интерфейс цифрового звука S/PDIF — не пользовался популярностью;
  • убран порт для ИК-приёмопередатчика — использовать оказалось не очень удобно, поэтому выпустили отдельное устройство WB-MIR с RS-485;
  • ограниченная поддержка 3G модема: его можно устанавливать вместо модуля Wi-Fi.

В Wiren Board 6 добавились еще изменения:

  • добавили поддержку двух SIM-карт. Страна большая, качество связи не всегда на высоте, а теперь сразу есть резерв;
  • реализовали полноценную поддержку 3G модуля и даже NB-IoT (про это будет отдельная статья). 3G честно выдаёт 5 Мбит/с. SSH не тормозит, в целом более стабильное соединение, можно забирать любое количество параметров с удалённых объектов;
  • температурный датчик на плату контроллера. Недорого, а людям полезно посмотреть, в каких условиях работает контроллер. Ещё один датчик измеряет температуру ядра процессора, чтобы контроллер автоматически сбрасывал частоту при перегреве;
  • второй порт USB. Потому что можем.

Внутренние изменения:

  1. Переделали схему питания (опять? сколько можно, Карл?). Теперь выглядит так:



    Плюсы такой схемы:

    — основное потребление в контроллере идет по линии 5В. КПД при большой нагрузке (много боковых модулей, внешние датчики и т.д.) получается выше;
    — если внутрь контроллера установить наш модуль резервного питания, то при отсутствии внешнего напряжения на клеммник Vout подается 11 вольт. Это позволяет работать нескольким подключенным по RS-485 устройствам;
    — выход можно программно включать и выключать, что полезно, чтобы удалённо перезагружать по питанию подключенную периферию разных производителей.
  2. Программно отключаемая растяжка линий RS-485. Слабая резисторная «растяжка» линий нужна, чтобы задавать на шине фиксированный логический уровень, когда ни одно устройство не передаёт данные. Отключать «растяжку» (failsafe bias по-умному) нужно, если к шине подключено несколько контроллеров, например, когда Wiren Board работает как Modbus slave.
  3. «Умные» ключи вместо транзисторов на клеммах A1-A4: с защитой от КЗ и перегрева, и ограничением тока.

Модули расширения


Модули ввода-вывода (это модули с дополнительными входами-выходами, подключающиеся к контроллеру сбоку) оставили такими же как раньше, а вот модули расширения решили переделать.



Распиновка разъема расширения. Слева — как было, справа — как стало.

В WB5 вывели сигналов с запасом — питание, UART, I2C, SPI. За три года придумали только один модуль использующий SPI — модуль SD карты, и для него не требуются внешние клеммники. А I2C достаточно программного на GPIO. Поэтому лишнее убрали, и освободилось место под третий слот для модулей расширения, не требующих внешних клеммников (это GPS, слот microSD, в перспективе разные модули с радио).



Сами модули расширения сделали с ключом — выступающая часть платы вставляется в прорезь в плате контроллера. Это добавляет жесткости соединению — платки не болтаются в разъеме, и вставить неправильно невозможно.

Криптопроцессор


В Wiren Board 6 мы добавили криптопроцессор. Это специальный чип, который хранит в себе пользовательские приватные ключи шифрования и использует их, чтобы делать криптографическую цифровую подпись данных.

Если просто, то это аналог смарт-карт или USB-свистков, которые выдают банки и госорганы для подтверждения личности пользователя.

Зачем нужен криптопроцессор
Криптопроцессор в контроллере используется для его аутентификации в системах мониторинга и управления верхнего уровня.

Раньше для подключения контроллеров, допустим, к VPN-серверу нужно было использовать общий логин и пароль (небезопасно) или выдавать каждому контроллеру отдельные реквизиты (неудобно). Кроме сложностей с управлением реквизитами, оба решения потенциально небезопасны: и реквизиты, и файл сертификата при желании можно было скопировать с одного контроллера на другой и получить доступ к системе.

С криптопроцессором всё сильно упрощается: на сервере нужно только прописать список серийных номеров (common name) разрешённых контроллеров. Сервер при этом проверяет криптографическую подпись сертификата контроллера, которую невозможно подделать и скопировать.

Мы реализовали поддержку крипточипа в стандартной системной библиотеке OpenSSL, поэтому почти любое стандартное ПО, использующее SSL, TLS или HTTPS, сможет работать с защищёнными аппаратными ключами.

Сейчас мы работаем с партнёрами — поставщиками систем верхнего уровня над тем, чтобы Wiren Board подключался к этим системам без паролей и предварительной настройки. Поддержка также запланирована для IoT-платформ ведущих вендоров: Amazon, Google и прочих.

Софт


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

Однако к выходу Wiren Board 6 мы приурочили несколько важных изменений в софте.

Debian 9


Новые контроллеры поставляются с последней стабильной версией Debian — Debian Stretch. Процесс перехода с Debian Wheezy оказался долгим и болезненным, в первую очередь, из-за использования systemd вместо sysvinit в новых Debian.

Зато теперь наши пользователи получают современный дистрибутив с относительно свежими версиями стороннего ПО. Более того, дистрибутив и сам WB6 совместимы с пакетами для Raspbian.

Новая система обновлений и восстановления прошивки


Предыдущие версии контроллеров можно было обновлять через пакетный менеджер APT, или перезаписывать целиком всю прошивку через веб-интерфейс. Если неосторожные действия пользователя привели к неработоспособности системы, то полное восстановление заводской прошивки выполнялось через USB-порт с использованием компьютера или виртуалки с Linux и специальной программы mxsldr.

В Wiren Board 6 мы реализовали ещё и обновление с помощью загрузчика. Для восстановления прошивки достаточно вставить в USB-порт контроллера флешку с файлом новой прошивки и нажать на кнопку обновления.

Похожим образом можно сбросить все настройки контроллера на заводские.

Call To Action


Нужно больше технической информации? Здесь можно найти полные характеристики.

Есть другие вопросы по устройству и его применениям? Ждём вас на нашем сайте https://wirenboard.com/ и в гостях в нашем офисе.

Хотите попробовать новый контроллер в работе? Купить контроллер в розницу можно прямо у нас на сайте. Мы отправляем оборудование курьером через 1-2 дня после заказа.
Теги:
Хабы:
Всего голосов 43: ↑43 и ↓0 +43
Просмотры 36K
Комментарии Комментарии 94

Информация

Дата основания
Местоположение
Россия
Сайт
wirenboard.com
Численность
11–30 человек
Дата регистрации