Вступление
Занимаясь домашней автоматизацией на протяжение последних трех лет, я стараюсь отслеживать все новые устройства в этой области. Недавно на выставке попалось на глаза новое устройство отечественного производства. Поискав в интернете, не нашел о них никакой информации. Странно подумал я и решил связаться с производителем (указывать его не буду). Пообщавшись, удалось заполучить на месяц тестовый образец. Спустя месяц решил поделиться своими впечатлениями о данном изделии.
Описание от производителя
По словам производителя, исследуемое устройство представляет собой платформу, позволяющую создавать автоматизированные системы мониторинга и управления инфраструктурными объектами. Платформа позволяет разрабатывать как централизованные, так и распределенные системы, в том числе подключать любые смарт-устройства, а функциональные особенности системы определяются установленным программным обеспечением.
Производитель заявляет следующие характеристики устройства:Процессор• CPU: Allwinner H5,Quad-core 64-bit Cortex A53
• RAM:1GB
• Storage: 8GB eMMC, MicroSD cardОперационная система• Linux Debian или UbuntuКоммуникации• Network: Gbps Ethernet
• WiFi: 802.11b/g/n
• Bluetooth: 4.0 dual mode
• Radio: 2.4 GHz
• 2 x USB Host
• 1 x RS485Порты ввода — вывода• 4 «сухих» контакта 350 v / 120мА
• 4 выхода 12 v / 1А
• 4 входа 0 – 12 vИндикация состояния• OLED display
• LEDПитание• DC 12 vПрепарируем клиента
Устройство поставляется в двух вариантах: просто «голое» железо и уже готовое решение с программным обеспечением. Мне достался первый вариант, но так даже интереснее – есть где порезвиться фантазии.
Внешний вид устройства достаточно аскетичный:
Корпус устройства предусматривает крепление в шкафу на DIN рейку и занимает по ширине четыре модуля.
На лицевой панели находятся:
дисплей;четыре кнопки;светодиодный индикатор состояния устройства («красный» – отключено, «зеленый» – питание подано, «синий» — показывает активность процессора);
Под крышками расположены:
разъемы ввода-вывода (на первый взгляд мне показалось, что их количество может быть недостаточным, но прокомментирую этот момент чуть ниже);RS485 интерфейс;подключение питания.
Все разъемы сделаны под винт, что меня порадовало, так как не люблю я зажимные. На правой стороне коробки нет никаких разъемов и контролов, что в целом может пригодиться для более плотной установки оборудования в шкафу.
На левой стороне собраны все разъемы:
съёмная WiFi антенна;2 USB;1 Ethаудио разъем.
WiFi антенна мешает подключению USB устройств и сетевого кабеля. Её надо либо поворачивать вниз, либо выносить на лицевую сторону шкафа кабелем, второй вариант, наверное, правильнее, таким образом улучшаем уровень сигнала.
Приступим к «вскрытию пациента» (весь корпус собран на защелках, разобрать его не составляет труда) и посмотрим из чего он состоит внутри/Открываем лицевую крышку и видим:
OLED дисплей SSD1306 (128х64px): экранчик конечно небольшой, но получить минимальную информацию можно;Четыре кнопки для локального управления устройством, судя по обозначению, для управления выводом информации на экран;Кнопка управления питанием (как потом разобрался за управление питанием отвечает ATtiny13);RGB светодиод;Под надписью расположилась антенна радиомодуля.
Едем дальше – вскрываем корпус и видим, что устройство состоит из трех плат: основная плата, на ней крепиться процессорная плата и шлейфом к ней же подключается «верхняя» плата, лицевая сторона которой описана выше. Исследуем их внимательнее:
Процессорный модуль представляет собой одноплатный компьютер NanoPi NEO Plus2. Не слишком раскрученный OBC, но очень интересный с технической точки зрения. Прочитать про него можно тут.
На основной плате располагается:
Защита от переполюсовки (продумали «защиту от дураков» уже неплохо);DC-DC преобразователь на XL4005E1 5А, радует, что не поскупились на мощный диод Шотки (на 12А), но вот катушка намотана тонковатым проводом – 3А потянет, но более грузить бы ее не стал, на обратной стороне платы сделаны полигоны охлаждения преобразователя, что добавляет уверенности в работе (управляется преобразователь от ATtiny13);Остальные детали включены по стандартным схемам: стабилизатор напряжения AMS 1117 на 3.3 v, MCP23017 расширитель, SP3485 для организации RS485 интерфейса, ADS1115 16-битный АЦП, наличие датчика атмосферного давления BMP180 приятно удивило.
На обратной стороне «верхней» платы установлены:
RTC модуль DS3231;Расширитель портов PCF8574, отвечающий за обработку нажатий кнопок;Радиомодуль nRF24L01P с усилителем.Использование и программирование
Как я уже говорил мне досталось голое железо и проверять работу модулей и создание сценариев работы пришлось самому. Не стал мудрствовать лукаво, Linux сборку взял Armbian, а все программирование сделал на Python – быстро, дешево и сердито! Все микросхемы хорошо известны широкому кругу радиолюбителей, найти описание и базовые способы применения не составит никакого труда.
После изучения устройства сформировался примерный перечень задач:
Через выходы «сухих» контактов подключить контакторы 220v. (Получить управляемые линии электропитания)К двум выходам 12v/1А и на два входа подключить стандартные охранные и пожарные датчики. (Получить охранно-пожарную систему, без выхода на пульт, но это зачастую и не надо).На свободные входы-выходы подключить, датчики протечки и шаровые краны с электроприводом на 12 v. (Получить защиту от протечки).Поднять WEB сервер и написать интерфейс управления (Получить удаленное управление).Проверить подключение по радио, WiFi и RS485 дополнительных устройств (Проверить возможность построения распределенной сети).Проверить работу USB модема.Проверить работу в качестве роутера.
Для тестирования собрал быстренько стенд и начал развлекаться:
ATtiny13 уже запрограммирована, я ее трогать не стал пусть отвечает за питание по замыслу производителя.
MCP23017, ADS1115, PCF8574, DS3231, BMP180 – все это работает по I2C, так что понимание функционирования этой шины сразу определяет около 80% кода. Все завелось (как и ожидалось), благо адресация устройств уже установлена производителем.
nRF24L01P работает по SPI шине, примеров использования которой тоже достаточно. Связался с парой устройств на Arduino, все работает, как и задумано.
RS485 был опробован на протоколе Modbus со счетчиком электроэнергии Eastron SDM220. Показания снимаются, ни каких неожиданностей не возникло.
В USB воткнул модем Huawei E1550 все определилось, поднял vpn-клиент и связался с домашним сервером. Установил WEB-сервер и поигрался удаленным управлением.
Модуль WiFi работает, как в режиме клиента, так и в режиме точки доступа. Перевел модуль в режим AP, установил DHCP-сервер, настроил iptables и получил WiFi-роутер.
Установка локального Blynk-серввера не вызвала проблем. Проверил работу с ESP8266. Управление со смартфона работает, показания отображаются.
Итак, все поставленные задачи выполнены, центральное устройство умного дома запущено! Может сложиться впечатление, что все программируется, настраивается легко и просто или же я гений.
Уверяю вас, это не так! С большинством микросхем и модулей я уже сталкивался, так что на грабли наступал раньше причем лоб болел очень сильно , но шишки прошли, а знания остались!
Мощности процессорного модуля более чем достаточно для решения поставленных мною задач, во время тестирования средняя нагрузка на процессор не превышала 15%. Наличие eMMC памяти и MicroSD карты позволит организовать дублирование операционки и софта. Потребление без подключения USB устройств составляет около 300 мА. При таком потребление организовать бесперебойное питание от аккумулятора часов на 5 работы не составит сложностей.
Выбранная элементная база для построения периферии вполне надежна, что дает уверенность на беспроблемную работу устройства в режиме 24х7.
Наличие малого количества входов и выходов на самом устройстве вполне компенсируется наличием 485 шины и радиомодулем, то есть построить распределенную систему управления ни составит большого труда, а тот набор входов и выходов, что имеется на борту может быть использован для локального управления в шкафу электропитания.
Выводы
Выполнит ли это устройство, заявленную производителем, интеграцию всех smart устройств? С некоторой натяжкой можно сказать, что выполнит. Но к сожалению, не хватает радиомодуля на 433 MHz, CAN-шины, поддержки ZigBee, но наличие RS485, радиомодуля на 2.4 GHz и WiFi позволит подключить достаточное количество устройств, а протоколы взаимодействия можно реализовать программным способом.
Повторюсь, рассматриваемое устройство производится в двух вариантах: полностью готовым решением для построения распределенной системы управления и только «железо». На мой взгляд, готовое решение можно покупать только при нежелании разбираться с программированием и лени. В остальных случаях намного интереснее взять платформу и запрограммировать ее под себя.
Стоимость устройства в настоящий момент мне неизвестна. На мой взгляд, если производитель не загонит цену более 13 т.р. за «голую» версию, то данное устройство вполне интересно к приобретению. Закупив все детали в Китае и скомпоновав это в единый корпус, вы вряд ли получите дешевле.
Конкурентом может выступить Wiren Board 5. Он выигрывает по количеству портов и возможных интерфейсов, но проигрывает по мощности процессорного модуля. На стандартных задачах это никак не сказывается, а вот установить локально Blynk-сервер или сделать модуль голосового управления может быть проблематично. Если кто пробовал это сделать на WB5 прошу высказаться в комментариях.
P.S.: Уже закончив статью, обнаружил на плате еще и микросхему криптографии ATSHA204. Она поддерживает криптографический алгоритм SHA‑256 и отлично подходит для задач симметричной аутентификации. Ну это уже совсем для Гиков! http://ctrl.info/2018/02/26/%d0%b5%d1%89%d1%91-%d0%be%d0%b4%d0%bd%d0%be-%d1%83%d1%81%d1%82%d1%80%d0%be%d0%b9%d1%81%d1%82%d0%b2%d0%be-%d0%b4%d0%bb%d1%8f-%d1%83%d0%bc%d0%bd%d0%be%d0%b3%d0%be-%d0%b4%d0%be%d0%bc%d0%b0/
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев