AlertBox Radio: ещё больше магии (плюс ETH, RS485, RTC, WDG, SD)
В прошлой статье мы познакомились с «волшебной коробочкой» AlertBox Radio Lite, в этой статье мы продолжим знакомство с продукцией UNIMON и разберём устройство «старшего брата» AlertBox Radio (без приставки Lite). Это гораздо более функциональная версия контроллера со множеством интересных возможностей, в ней добавлены: проводной Ethernet, интерфейс RS485, часы реального времени (RTC), модуль watchdog, картридер для microSD карты памяти и прочие элементы.
AlertBox Radio Lite уже был интересным решением, AlertBox Radio со всеми его дополнениями — это совсем серьёзный контроллер при помощи которого можно решать множество IoT задач. Приглашаю вас познакомиться с устройством этого чуда техники и получить очередную порцию вдохновения для создания ваших проектов по автоматизации.
❯ AlertBox Radio
Комплект AlertBox Radio содержит: сам контроллер с блоком питания, две антенны (GSM и LoRa) и SIM карту Билайн с тарифом «Универсальный тарифный план для GSM устройств» с 1 Гб трафика и 200 SMS в месяц по цене 3,35 руб./сутки. Разумеется, вместо этой SIM карты можно использовать любую другую с более выгодными условиями (если у вас есть таковая).
Плюс комплект содержит довольно подробную инструкцию, написанную на хорошем техническом языке — что-то среднее между инструкцией на советский осциллограф и инструкцией на DECT телефон Panasonic, с указанием всех характеристик в таблицах и при этом без ошибок в данных и обозначениях их единиц измерения.
AlertBox Radio сделан на микроконтроллере ESP32-WROOM-32D (Wi-Fi, Bluetooth и т. д.) и содержит следующие компоненты:
- ESP32-WROOM-32D
- GSM модуль SIM800C
- Разъём для SIM-карты
- Разъём для подключения GSM антенны
- 1 вход «сухой контакт»
- Беспроводные Bluetooth датчики (до 5 шт.)
- LoRa модуль с внешней антенной (до 25 датчиков)
- Интерфейс 1-Wire (до 10 датчиков)
- Реле 220 В, 3 А
- Кнопка FN
- Аккумулятор резервного питания (18650)
- Разъём питания (12 В)
- Тумблер ON/OFF
- Разъём RS485 ext
- Разъём для программирования (VCC, RX, TX, GND)
- Разъём BOOT
- Разъём RESET
- 3 светодиода (на плате) STBY/CHRG, GSM
- 5 светодиодов (на корпусе) POWER, RELAY, GSM, INTERNET, STATUS
- Интерфейс Ethernet (W5500)
- Интерфейс RS485
- Часы реального времени (RTC)
- microSD картридер
- Модуль watchdog
Более чем внушительный список компонентов и возможностей. AlertBox Radio содержит всё, что необходимо для реализации продвинутых IoT проектов. Ему не хватает разве что развитой входной («сухие контакты») и выходной (реле или MOSFET) части, но этот функционал можно добавить контроллеру при помощи подключения внешних блоков по RS485.
Ну и список интерфейсов AlertBox Radio внушает: он может связываться с «системой» по Ethernet, Wi-Fi, GPRS и SMS. Заблокировать его работу очень непросто — нужно одновременно перекрыть все эти каналы связи. А если вы будете самостоятельно программировать AlertBox Radio, то можно дополнительно организовать мосты через LoRa и RS485.
❯ Внешний вид и разборка
Внешний вид AlertBox Radio нельзя назвать выдающимся, но и «страшным» его тоже не назовёшь — обычная коробочка, внешне напоминающая Wi-Fi роутер, что в контексте его применения неплохо — не будет привлекать лишнего внимания.
Разбирается AlertBox Radio очень просто — нужно открутить всего 4 винта, дальше корпус сам просто разваливается на составные части. Любопытно, что в моём экземпляре отсутствовали шурупы для крепления платы к нижней крышке корпуса. Не совсем понятно так это и должно быть или плату просто забыли закрепить шурупами.
Сама плата внушает уважение — видно, что там «понатыкано» много всего интересного и вкусного, далее мы попробуем подробно разобраться с её содержимым.
❯ Схемотехника
Схема AlertBox Radio недоступна, поэтому будем применять партизанские методы исследования под названием «оч.умелые ручки». Начнём с осмотра платы сверху:
Очень и очень. Некоторый диссонанс вносит только типовой «зелёный» модуль на W5500, но на моей памяти это уже третий или четвёртый контроллер на ESP32, где производитель «не заморачивается» разводкой LAN8720A, а применяет готовый модуль на W5500.
Обратная сторона платы девственно чиста, на ней нет ни одной установленной детали. Перед съёмкой мне пришлось поработать жидкостью для удаления флюса (пока оттирал флюс, вспоминал кристально чистую плату ТГС-7А из одного из моих обзоров).
Теперь переходим к более детальному разбору подсистем контроллера AlertBox Radio.
❯ Подсистема питания
Питается AlertBox Radio от напряжения 12 вольт, которое подаётся на круглый разъём «а-ля Ардуино». Далее при помощи LM2576S это напряжение преобразуется в 5 вольт и подаётся на схему зарядки Li-Ion аккумулятора формата 18650 ёмкостью 1800–3800 мАч и формирования нужных напряжений для питания различных компонентов контроллера.
Зарядом аккумулятора занимается связка микросхем TP4056/DW01AT. Напряжение 3,3 В формирует регулятор ADP3338.
На корпус выведена кнопка ON/OFF включения и выключения контроллера (она разрывает цепь питания 4,2 В/3,3 В, аккумулятор с его схемой зарядки всегда остаётся подключённым к входному напряжению 12 В). Следствием такого подключения является то, что AlertBox Radio можно включить полностью автономно, с питанием только от внутреннего аккумулятора (но не очень ненадолго, производитель гарантирует автономную работу не менее 6-и часов).
❯ Ядро ESP32
В качестве ядра в контроллере используется ESP32-WROOM-32D. Под его встроенную антенну в плате сделан вырез.
По какой-то непонятной мне причине все производители игнорируют рекомендации по свободному пространству вокруг антенны беспроводных модулей — это явно не способствует дальности и качеству связи. Что мешало сделать вырез в плате чуть большего размера?
❯ Технологические разъёмы
Рядом с микроконтроллером ESP32 находятся нераспаянные технологические разъёмы VCC/RX/TX/GND, BOOT и RESET, которые можно использовать для самостоятельного программирования AlertBox Radio.
❯ GSM часть
В качестве GSM части используется модуль SIM800C с разъёмом для установки SIM-карт. Здесь же присутствует разъём для подключения внешней антенны.
Модуль SIM800C обеспечивает 2G связь и возможность получения и посылки SMS сообщений.
❯ LoRa часть
Работу LoRa части (868 МГц) обеспечивает модуль на чипе RF96. Тут же выведен разъём для подключения внешней антенны (большая антенна в комплекте).
LoRa чип RF96 совместим с SX1276, поэтому никаких проблем с его программированием быть не должно.
❯ Реле
AlertBox Radio содержит всего одно реле на ток до 3-х ампер, поэтому, если вам необходимо управлять различными устройствами, то нужно либо подключать дополнительные модули с реле по RS485, либо использовать беспроводные (LoRa, Wi-Fi) реле.
❯ Индикация и управление
На фото ниже отмечены все индикаторные светодиоды и одна управляющая кнопка (FN). Линейка светодиодов POWER, RELAY, GSM, INTERNET, STATUS делает AlertBox Radio похожим на (типовой) роутер.
❯ Цифровой вход
На I/O колодку контроллера AlertBox Radio выведен контакт для подключения цифрового входа «сухой контакт» (да, всего 1 штука). Ответная часть колодки идёт в комплекте.
Распиновка разъёма: INP, A, B, GND, 12V, COM, NC, NO.
В спецификациях на сайте указывается возможность подключения сети датчиков 1-Wire (до 10 шт.), но на практике для меня осталось не совсем понятным где и как нужно подключать эти датчики (или в моём экземпляре эта возможность отсутствует).
❯ RS485ext
На плату выведен отдельный RS485ext разъём. Это дублирование контактов (MCU-RS485). Для чего это нужно мне тоже не совсем понятно, видимо для использования RX и TX для случаев, когда RS485 не нужен, а нужно подключить какое-то оборудование, работающее по UART.
❯ RTC
Подсистема часов реального времени (RTC) сделана на микросхеме PCF85063TR, тут же находится кварц и батарейка резервного питания.
❯ ETH
Ethernet интерфейс выполнен на типовом модуле с микросхемой W5500 (сам по себе это неплохой чип с 8-ю аппаратными сокетами) — это довольно часто встречающееся на практике решение для контроллеров на ESP32.
❯ EXT
Для компенсации небольшого числа GPIO ESP32 в контроллере AlertBox Radio применён I2C расширитель портов на чипе PCA9555.
К нему подключено управление GSM модемом (ON/OFF), перезагрузкой Ethernet модуля ETH_RST, вход INP, и три светодиода «GSM», «Internet», «Status».
❯ RS485
Интерфейс RS485 реализован на микросхеме SN65HVD75DR с соответствующей обвязкой — лишним он точно не будет в проектах по автоматизации.
❯ SD картридер
На плате установлен картридер для microSD карт памяти. В базовом варианте с «родным» софтом этот картридер используется для записи на карту оперативных данных (для последующей отправки на сайт интернет-сервиса UNIMON)
В случае самостоятельного программирования AlertBox Radio, вы можете как угодно использовать SD карту памяти, например для хранения файлов веб-интерфейса.
❯ WD
Watchdog реализован на «чём-то вроде операционника» с 5-ю выводами и маркировкой «V04», точнее идентифицировать чип мне не удалось, на вход его заводятся импульсы «LED Status», а выход, соответственно, идёт на перезагрузку ESP32.
На мой взгляд, отдельный «хардверный» watchdog — это отличное дополнение AlertBox Radio и вообще неотъемлемая часть любого контроллера, который выполняет какие-то ответственные функции.
❯ Итого по AlertBox Radio
Очень и очень круто. Есть конечно, что ещё можно улучшить и дополнить, но наличие встроенного аккумулятора, GSM модуля, часов реального времени, хардверного watchdog-а и прочих наворотов делает AlertBox Radio (почти) контроллером нашей мечты.
❯ Заключение
Мы рассмотрели устройство и назначение двух контроллеров UNIMON AlertBox Radio Lite и AlertBox Radio, теперь настаёт время самого интересного — я планирую поэкспериментировать с самостоятельным программированием этих контроллеров и доложить вам о результатах своих изысканий.