Продолжение когда-то поднятой темы плат удаленного управления.
В последнее время стал часто подвисать модем-роутер Tp-link 6400. Было несколько идей решить проблему (кроме исследования внутренностей на предмет дохлых конденсаторов и допайки своих, что не помогло) – Arduino+ethernet-шилд (все есть, но надо сесть и написать код watchdog’а); ESP32+ethernet (заказаны, получены, тоже надо написать код); и, наконец, 8-портовая плата с прошлой темы (но как-то жирно ставить плату, купленную когда-то почти за 40 баксов для того, чтобы дергать 1 роутер. Ну ок, 2). Плату я в итоге все же поставил – все равно валяется, а задачу минимизации потребления надо было решить “прямо сейчас”.
Но перед тем я таки полез на Али посмотреть, что нынче можно купить по данной теме. И вот этот лот весьма привлек хорошим исполнением и низкой ценой.
Заказал вариант с Wifi+коробочка. На фото сначала не рассмотрел – думал, просто коробочка. Дождался, приехало, получил – оказалось, это готовый корпус под DIN-рейку. Блок на 2 реле – под 5 юнитов, на 4 реле – под 6,5 юнита. Разобрал – мне попалась версия на ESP32. Для заказа есть разные варианты – с RS485, CAN-шиной, с Wifi и без. Правда, нигде нет Bluetooth – но, думаю, при нормальной поддержке устройства появление такой версии – вопрос времени, благо в железе он есть.
На корпусе расписаны все параметры подключения и обозначен актуальный вариант внутренностей. Клеммник под RS485 распаян, но микросхемы преобразователя отсутствуют. На той же табличке присутствует и ссылка на SDK, где реально КУЧА примеров кода по взаимодействию с устройством. Сходу использовал вариант для bash (через отправку пакетов через /dev/udp), но в комментариях на Али нашел и чуть поправил более привычный пример:
echo -ne "11" | nc -uq1 192.168.1.100 60001
Далее, админка. Тут уж китайцы постарались, устройство на несколько голов выше того, что видел ранее. Правда, и ресурсов у ESP32 хватает – есть где разгуляться. Итак:
- Синхронизация времени через NTP
- Работа через wifi – в том числе подъем своей точки доступа
- Ethernet – статика / DHCP
- Поддержка HTTPS
- RS485 / CAN / ModBUS / MQTT
- Поддержка переключения с настраиваемой задержкой (Выключились – подождали – включились. Ну или наоборот)
- Работа по расписанию – годовой (!) таймер. Т.е., можем включить что-то в 12-45 6-го января и выключить в 23-21 7 октября.
- Настраиваемая реакция на входные пины
- WATCHDOG! То, ради чего все затевалось. Можно указать адрес для пингования, режим, интервал и так далее и оно само будет работать. Честно говоря, настроек столько, что я в них теряюсь и пока так и не решил использовать.
- Поддержка апгрейда прошивки
Еще есть авторизация у админки, но тут не обошлось без ложки дегтя – да, логин/пароль запрашивается, но я вполне могу перейти сразу на нужную мне страничку без какой-либо авторизации.
Потребление – 60 мА при 12,3В (при выключенных реле, конечно). В комплекте идет пакетик с шнурком для подключения питания и несколько резисторов и конденсаторов (возможно, для шунтирования реле).
Примеры кода для watchdog’а на Arduino:
https://forum.arduino.cc/t/patch-panel-poe-with-ping-watchdog/113619
https://forum.arduino.cc/t/internet-watchdog/492984