Блог

Рубрика: "А еще можно сделать вот так..." Прикручиваем прием и передачу RF 433 MHz к бочонку Broadlink RM3 mini с использованием Openmqttgateway.

Собственно с чего всё началось...

Попались мне на глаза фотки разборки Broadlink RM3 mini. И узрел я, что там оказывается полно свободного места. 

С одной стороны платы расположены детали самого устройства, а на другой стороне пусто. Совсем. Только дорожки и местами пятаки для сервисного обслуживания.

Broadlink RM3 mini я использую для управления ТВ, спутниковым ресивером и кондиционером в связке с Home assistant.

А еще есть у меня светодиодная лента, обычная белая, которая управляется с помощью пульта на частоте 433 MHz.

Почему бы не использовать свободное пространство, подумал я? Почему бы не сделать комбо? А именно из Broadlink RM3 mini сделать Broadlink RM PRO...

Здесь запросто можно разместить ESP12E+приёмник+передатчик 433MHz. Благо, эти устройства были в наличии.

Берем в руки паяльник, двойной скотч и запас терпения и на выходе получаем вот такой "колхоз"))

Так как моя ESP12E распаяна на плате, а так же на плате распаян еще и стабилизатор напряжения 3.3 В, то мне понадобилось 5 В для питания всей схемы. Питание я нашел здесь.

Остальные точки подписаны. И их можно использовать, например GND.

Теперь, что касается софта...

Конечно, в первую очередь я испробовал оживить эту конструкцию используя EspHome.

Однако, система не зажила. Точнее, всё, что касается работы в целом, всё отлично, но у меня не получилось идентифицировать коды с пульта ибо в логах при нажатии на разные кнопки пульта отображался один и тот же код, чего быть не должно...

В общем, с гугл-помощью нашел я интересный проект. Openmqttgateway

Читаем Wiki и всё становится ясно.

Проект мощный, много возможностей, но меня интересовал только мой вопрос.

Благо, в настройках можно выбирать только те модули, которые нужны. Для этого нужно раскомментировать строку с необходимым модулем в файле user_config.h. В моем случае, строку #define ZgatewayRF

Так же, в проекте есть возможность использовать MQTT discovery, благодаря чему в Home assistant не нужно будет создавать свитчи и сенсоры. Они сами добавятся нативно, если настроена интеграция  MQTT.  Для этого нужно в том же файле раскомментировать строку #define ZmqttDiscovery

В файле user_config.h настраиваем свою точку доступа WiFi, адрес, логин и пароль MQTT сервера, ну, а в файле  RF_config.h  прописываем пины, к которым у нас подключены приёмник и передатчик. 

Заливаем прошивку в ESP и радуемся.

Для теста - то, что нужно.

После нажатия на пульте кнопки Вкл в Home assistant появляется свитч, нажатие на который включает и выключает мою светодиодную ленту.  Казалось бы, задача решена...

Однако, обнаружилась такая проблема. 

После перезагрузки Home assistant, созданный автоматически свитч пропадал. Он просто отсутствовал. Но после нажатия на пульте кнопки Вкл появлялся снова... Это мне не понравилось и по этому я решил сделать так.

Я закомментировал  строку #define ZmqttDiscovery дабы устройство не появлялось в системе автоматически. Соответственно пришлось прописать все сенсоры и свитч вручную. Зная код, отправляемый пультом,  это сделать не сложно.

binary_sensor: - platform: mqtt name: "OpenMQTTGateway" #Состояние подключения state_topic: "home/OpenMQTTGateway/LWT" payload_on: "online" payload_off: "offline" device_class: "connectivity" sensor: - platform: mqtt name: "Wifi OpenGateway 8266" #Данные об уровне сигнала WiFi, времени работы и количестве свободной памяти state_topic: "home/OpenMQTTGateway/SYStoMQTT" unit_of_measurement: 'dB' value_template: "{{ value_json.rssi}}" availability_topic: "home/OpenMQTTGateway/LWT" payload_available: "online" payload_not_available: "offline" icon: "mdi:wifi" json_attributes: - version - uptime - freeMem - SSID - modules - platform: mqtt name: "OpenGateway input" #Отображение полученных кодов RF state_topic: "home/OpenMQTTGateway/433toMQTT" #unit_of_measurement: 'dB' value_template: "{{ value_json.value}}" #availability_topic: "home/OpenMQTTGateway/LWT" #payload_available: "online" #payload_not_available: "offline" #icon: "mdi:wifi" json_attributes: - protocol

В итоге всё получилось. Свитч работает. Теперь его можно использовать в автоматизациях.

Выглядит это примерно так:

Вот такая карта.
Здесь отображается уровень сигнала WiFi и дополнительная информация в атрибутах.
Здесь отображаются все полученные коды.

Как видно на последнем фото, в течение дня устройство получает и идентифицирует кучу разнообразных кодов. 

Это меня смущает, ибо нет у меня других излучателей RF-сигналов. Думаю, это некий мусор, который почему-то чувствует приёмник.


Спасибо за полезную статью.
Этот приёмник и передатчик на 433Мгц считаются не самыми лучшими, поэтому и наводок столько улавливают. Хотя функцию свою выполняют, а это - главное.

А можете посоветовать какой-нибудь хороший приемник/передатчик для Raspberry? (желательно с Aliexpress)

Пара сотен за плату, которая будет управлять люстрой, светодиодной лентой другими подобными устройствами, - это совсем недорого! Так что закажу.

Надеюсь сам разберусь с подключением к малинке

А к RaspberryPi можно подключить какой-нибудь 433Мгц приемник/передатчик, чтобы управлять подобными устройствами? 
Мне кажется, у меня люстра на такой частоте работает, хотелось бы её подключить к умному дому  

Можно. https://www.home-assistant.io/components/rpi_rf/">Есть компонент в НА. 

Так это еще одну есп туда ? а к той что на борту ? Прошивка не подхватит ?

На борту нет ESP...


Вернуться назад
Вернуться назад