Управление реле по UDP: Беспроводное решение с ESP8266, ESP32 и Easy HMI
Вы уже, наверное, в курсе, что Easy HMI получил поддержку беспроводной связи по UDP. Если нет, то ознакомьтесь с новыми возможностями тут. А так как есть беспроводной интерфейс, неплохо было бы сделать удаленное управление реле. Что, в свою очередь, позволит управлять светом, вытяжкой, вентилятором, чайником, кофемашиной, обогревателем и другими устройствами и приборами. Для реализации данной идеи можно использовать готовые модули на базе ESP32 и/или ESP8266. Я уже рассказывал про модуль ESP12F Relay X4 (LC-Relay-ESP12-4R-MV – по даташиту). Сегодня напишем код для управления данным модулем и также посмотрим, как можно управлять по UDP 2, 3, 5, 10 и даже 12 группами реле с одного сенсорного дисплея. Думаете, это невозможно реализовать? Давайте разберемся!
Бюджетный и «злой» аналог Flipper Zero – борьба с надоедливыми блютуз колонками, тестирование WiFi сетей, шлагбаумы и не только
Речь в посте пойдет об устройстве LilyGO T-Embed CC1101 с небольшими доработками.
Дисклеймер: все описанные ниже действия, тесты и атаки проводились только на собственных устройствах или с согласия владельцев тестируемых устройств и сетей, nrf24 jammer использовался только в экранированном помещении, исключительно в рамках тестирования помехоустойчивости личной колонки.
Использование данного функционала в иных целях может преследоваться по закону!
Ну что, мамин хакер, заинтересовался?) Или тебя просто достали колонки с плохой музыкой в общественных местах? Поехали!
ВАЖНО: в посте именно версия CC1101, обычная версия не имеет радиомодулей!
Железо: на борту имеем микроконтроллер ESP32, 2,4ГГц Wi-Fi модуль, Bluetooth, NFC, SUB-GHZ радиомодуль CC1101, ИК приемопередатчик
Прошивка: Bruce 1.9.1. Отключаем на T-embed аккумулятор, идем на https://bruce.computer/flasher, зажав центральную кнопку на девайсе подключаем его к ПК и прошиваемся прямо из браузера за пару минут. Удобно, однако.
Прошивка поддерживает также работу с модулем NRF24, о нем позже. Потребуются навыки небольшого колхоза с паяльником или внешний переходник.
WiFi 2,4ГГц: стандартный набор для тестирования безопасности сетей и разумности сотрудников, к ним подключенных:
Deauther ("глушилка" WiFi): отправка на роутер пакетов деаутентификации, выбивающих все устройства из сети без возможности подключиться обратно, пока идет атака. Можно одновременно с атакой расшарить сеть с таким с таким же названием и открывающимся окном с просьбой ввести пароль от роутера для его перезагрузки, получая на T-Embed введенные юзером данные. Если роутер раздает 2,4ГГц и 5ГГц сети, вышибет только сеть 2,4ГГц. 5ГГц WiFi модуля тут, увы, нет.
Deauth flood: то же самое, но атака сразу на все доступные роутеры.
Beacon: спам названий WiFi сетей.
Bluetooth: тупые хулиганские fast pair атаки на доступные устройства. Вызывает раздражение пользователей, не более.
IR: чтение/сохранение и передача заранее сохраненных/загруженных из интернета ИК сигналов (совместим с файлами от Flipper), выключатель всех телеков одним нажатием.
SUB-GHZ: самое интересное. Захват радиосигналов в достаточно широком диапазоне, их сохранение и ретрансляция, а также воспроизведение файлов сигналов для Flipper (формат .SUB).
Тут начинается веселье и тест на защиту от тупого перехвата всех своих устройств. Итого, копированию и воспроизведению сигнала поддались: дверной звонок, сигнализация от мотоцикла (вот тут я реально расстроился), шлагбаум со статическим кодом (ожидаемо, имеем в итоге один пульт для всех). Файлу с большой базой кодов (перебор брутфорсом) спустя 5 минут сдался шлагбаум со скользящим кодом в гаражах. В целом, функционал позволяет скопировать и эмулировать любой простой радио пульт. А большая база .SUB файлов в интернете дает возможность этот пульт даже не искать. Да, даже от вибратора :)
Для большей дальности модуль можно дооснастить внешней антенной.
RFID: простой функционал чтения/записи/стирания меток. Эмуляцию пока не завезли, но обещают.
NRF24: еще одно интересное применение.
Важно: использование глушилок может быть незаконным!
Это модуль связи 2,4ГГц (на этой частоте работает WiFi, Bluetooth и не только), в котором возможно использование режима Jammer, т.е. глушилки сигналов.
Необходимо припаять его к плате по схеме, чтобы компактно разместить внутри устройства. Покупайте модуль с U.FL разъемом для внешней антенны.
Альтернативно можно подключить снаружи через microsd sniffer, схема есть на https://github.com/pr3y/Bruce/tree/main/media/connections
Если вам нужен только функционал WiFi, NRF24 и SUB-GHZ, возможно проще и дешевле купить M5STICK или Cardputer вместе с готовой платой с этими модулями. Однако, такая конструкция будет хрупкой из-за внешней голой платы - потребуется колхозить какую-то изоляцию для нее.
Припаиваем к выводам ESP32 и модуля CC1101
Паяем
Спиливаем ребра жесткости на задней крышке, сверлим отверстие под вывод внешней антенны, втыкаем u.fl – sma пигтеил и собираем все обрано.
Включаем колонку и пробуем
Поворачивая «крутилку» на девайсе, можно менять режимы, на блютуз колонки лучше всего влияют режимы WiFi, BLE и RC. Колонка заикается, а то и вовсе глохнет.
Дальность с качественной антенной, например от Baltic Signal – в пределах 10 метров.
При подключении дополнительного антенного усилителя, как на картинке ниже, дальность прилично возрастает.
JS Interpreter: запуск произвольных скриптов на девайсе. На случай, если захотите быстро допилить свой функционал.
BAD USB: притворяется клавиатурой, вводит заранее прописанный скрипт.
Заключение
Аналогичные девайсы можно собрать на основе других устройств, таких как M5 Cardputer, M5StickC2, “cheap yellow display” и т.д. Полный список совместимых с прошивкой плат есть на сайте Bruce.
Я никого ни к чему не призываю и напоминаю о незаконности некоторых атак и тестов, если они производятся без разрешения на чужом оборудовании.
Ценник на все это безобразие – порядка 5000 рублей. На Озон Глобал было дешевле, чем на Али, на момент моего заказа. Ссылок не дам, не реклама.
Действительно умная ферма. Часть 4
И так, настало время для последней перед паузой в какое то время между постами, частью моего рассказа. Расскажу немного про внешний вид, покажу систему в работе, затрону планы на будущее и раскрою некоторые будущие наработки и идеи, ну а так же опыт пользования)
А пока, можете посмотреть видео, в котором я добавил некоторые поясняющие субтитры. Автор не блогер, а только учится и весьма стеснителен в вопросе съемок, так что пока только субтитры, за что прошу простить)
Внешний вид, дизайн, интерфейсы взаимодействия c пользователем.
Внешний вид, я описывал в прошлых статьях, но никак не затронул сенсорный экран который в моем случае резистивный мультитач от Nextion, линейки Intelligence. Оверкилл конечно для фермы, но пока больше мне он никуда не нужен.
Интерфейс собственно там максимально простой, это показания с датчиков и управление реле. Страница системы с кнопкой перезагрузки и статусами подключений к интернету\роутеру и IP адрес веб морды. Мне нужен был базовый интерфейс, поэтому в нём пока нет ключевых функций таких как регуляция PH/EC, температуры, таймеров и так далее. Это совсем не основная задача была и я сейчас в процессе рисования нового интерфейса, который бы удволетворял всем требованиям.



Я использую Lunacy для проектирования интерфейсов. Скриншоты чисто рабочие, тк я в процессе рисования и изучения данной сферы деятельности.
Ничего замысловатого тоже нет. Мне предстоит продумать систему добавления и редактирования конкретных таймеров на дисплее, посадок и регуляции PH/EC. Последнее кстати весьма не сложно как я думаю с точки зрения UX.
Про второй интерфейс взаимодействия, я уже так же рассказывал в прошлых статьях, это WEB интерфейс и MQTT / Apple Home. Там тоже много ньюансов и проблем, но все в процессе, как только я закончу полноценный новый интерфейс, обязательно поделюсь.
Планы на будущее
А вот сейчас самое интересное. В данный момент, я разрабатываю полностью свою плату для умной фермы, что бы не было вот такого:
И выглядит это пока вот так:
На ней я разместил 3 независимых блока питания, 3.3\5 и 12 вольт для питания датчиков, насосов и тд. Но это скорее всего не очень оптимизировано, тк мне думается можно сделать 2 блока, 3.3 вольта и 24 вольта, и через DC-DC на плате уже сформировать нужные мне напряжения для питания всего что необходимо, я в первый раз познаю исскуство проектирования плат, поэтому все может быть тяп ляп, но я в процессе)
На самой плате, уже размещен RTC модуль, коннекторы для экрана, ph/ec сенсоров с необходимыми делителями напряжения, разведена сеть 220V с реле. Возможно стоит предусмотреть возможность перекоммутации напряжений на реле, с 220V на любые другие напряжения которые мне необходимы. Пока не определился. Поэтому заказать плату мне довольно сложно, потому что проект в процессе и пока мне будут ехать платы версии 5.0, я обязательно что то модернизирую и сделаю и 5.1 и 5.2 а то и 6.0...
Новый дизайн, доп функции, расширение.
И вот сегодня, я наконец увидел в голове, как же я вижу уже финальный вид устройство. Как говорят в судостроении, четвертое преведение.. Тоесть по сути переход от эскизного проекта к техническому проекту.
Я понял, что в виде конечного устройства, бак, контейнер, блок с электроникой, все это с кучей кабелей и трубочек - это жуткий геморой для финального пользователя. Поэтому, новый дизайн имеет в себе одновременно и бак и баки для корректоров PH и для удобрений EC, никаких видимых трубочек и кабелей, самое главное, возможность использования различных систем гидропоники. Хотите DWC? пожалуйста. Хотите проточную? Тоже пожалуйста.Частичное затопление? Вас понял, сделано. Капельный полив?Это пока то, что лежит на поверхности и я точно смог бы это реализовать, но конечно впереди много времени проектирования не в блендере. Ну и конечно, аэропоника тут это основной метод, который я предпочитаю.
Дизайн я вижу как у техники SMEG или что то оттуда. Хочется навернуть стиля. Но прежде чем все это делать, я хочу отточить все технологии. Пока идеи и планы такие и я действительно не хочу забрасывать этот проект, так как мне самому очень интересно в этом разбираться.
Всё это, я хочу сделать уже в версиях 5.0 - 6.0 и там же где то, попробовать сунуться в OpenSource сообщество (но с простыми решенями, что бы каждый мог повторить)
Стоит ли писать и рассказывать уже о дальнейшем проектировании? Читали ли бы вы такие посты? С радостью отвечу на ваши вопросы или предложения, выслушаю критику, так как она наверняка должна быть, в этом деле я затрагиваю множество областей в многих из которых я ну совсем профан и могу ошибаться. Вдруг среди читателей есть прошаренные)