Zapraszam na prezentację wnętrza oraz zmiany oprogramowania uniwersalnego pilota IR Tuya. Pokazane tu urządzenie potrafi odbierać i nadawać sygnały podczerwone w różnych standardach pilotów, takich jak RC5, RC6, NEC, itd. Całość sterowana jest z poziomu Wi-Fi, więc można tworzyć różne złożone mechanizmy i automatyzacje, a nawet potencjalnie sparować z Home Assistant.
W tym temacie pominę testy z aplikacją Tuya, gdyż było to już wcześniej prezentowane.
Przygoda zaczyna się z zakupem sprzętu - u nas w kraju za około 30 zł, w Chinach pewnie taniej. Zestaw obejmuje też przewód USB, ale nie przyda on się nam do wielu zastosowań, gdyż nie posiada linii danych.
Instrukcja (parowanie z Tuya, itd):
Zajrzyjmy do środka:
Budowa tego urządzenia jest bardzo prosta. Całość jest zasilana z 5V z USB, więc nie potrzeba żadnych przetwornic. Starcza regulator LDO AMS1117-3.3V, który zasila BK7231N znajdujący się bezpośrednio na PCB. Na PCB znajdują się też osobno diody podczerwone od nadawania, skierowane w różnych kierunkach, oraz pojedynczy odbiornik IR.
Ze względu na niską wydajność GPIO mikrokontrolera użyto tu tranzystorów do sterowania nadajnikami:
Antena Wi-Fi też jest w formie ścieżki na PCB:
Na spodzie PCB są dostępne pady do programowania. Można tu wyróżnić sygnały od UART oraz SPI.
Urządzenie programujemy naszym flasherem, wedle instrukcji z repozytorium:
https://github.com/openshwprojects/BK7231GUIFlashTool
Potrzebny jest konwerter USB na UART. Lutujemy zasilanie, RX1 i TX1.
Trzeba to też dobrze zasilić. Na zdjęciu użyłem do tego zewnętrznego LDO, choć tu równie dobrze można przylutować 5V na wejście LDO znajdującego się na płytce. Ważne, by BK7231 dostał 3.3V na VDD, a nie większe napięcie. Łatwo go można uszkodzić.
Flasher poprawnie wykrywa konfigurację GPIO:
JSON Tuya:
Kod: JSON
Można stąd wyczytać:
- wfst_pin - pin, na którym jest dioda LED status
- reset_pin - pin z przyciskiem parowania
- infrr - pin z odbiornikiem IR
- infre - pin z nadajnikiem IR
Opis z konwertera:
- WiFi LED on P24
- IR Receiver on P8
- IR Sender on P7
- Pair/Reset All Pin on P9
Szablon OBK:
Kod: JSON
Zdarzenia IR można obsługiwać wedle naszego poprzedniego materiału:
Było to również tłumaczone tutaj:
Tutorial/prezentacja obsługi pilota zdalnego sterowania NiceMCU BK7238/T1 IR - Home Assistant [PL]
Tutorial/prezentacja obsługi pilota zdalnego sterowania NiceMCU BK7238/T1 IR - Home Assistant [EN]
Do wysyłania danych służy komenda IRSend:
https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/commands.md
Należy pamiętać, że dostępne są dwie wersje OBK - główna to integracja Arduino-IRRemote, a druga to IRRemoteESP8266. Wersja IRRemoteESP8266 wspiera dodatkowe protokoły, można ją pobrać tutaj:
OpenBeken jest przemyślane tak, by wspierać wiele przypadków użycia i każdy może dobrać sobie pasującą wersję. W razie czego można też skompilować indywidualną konfigurację online - bez potrzeby instalowania kompilatora na komputerze (tutorial).
https://github.com/openshwprojects/OpenBK7231T_App/releases/
Po więcej informacji odsyłam do dokumentacji.
Dokumentacja komend:
https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/commands.md
Dokumentacja sterowania przez MQTT:
https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/mqttTopics.md
Podsumowując, tak przeprogramowane urządzenie można połączyć z Home Assistant i kontrolować z poziomu MQTT. Można odbierać sygnały (w formacie MQTT zgodnym z Tasmotą) z różnych pilotów i wyzwalać nimi automatyzacje, np. kontrolować nimi oświetlenie, rolety, czy tam inne urządzenia, jak również można z poziomu HA wysyłać przez ten gadżet własne sygnały - np. kontrolować telewizor (wyłączać lub włączać go o danej porze), a może i również klimatyzacje (o ile jej protokół jest wspierany - w tej sytuacji polecam wersje z IRRemoteESP). Wysyłanie też jest możliwe z poziomu HA - komenda IRSend zgodnie z dokumentacją OBK jest wysyła na temat cmnd w stylu Tasmoty.
Jakie widzicie zastosowania dla tego typu "bramek" IR?
Fajne? Ranking DIY Pomogłem? Kup mi kawę.