Jak odbierać zdarzenia IR na urządzeniu Tuya BK7238 (T1, T5) za pomocą płytki rozwojowej lub pilota uniwersalnego? Jak przekazywać kody IR do Home Assistant w formacie Tasmota JSON? Jak uruchomić automatyzację HA za pomocą dowolnego pilota? I jak sterować innym urządzeniem bezpośrednio z odbiornika IR - bez angażowania Home Assistant?
W tym przewodniku przeprowadzę cię krok po kroku przez konfigurację prostego odbiornika podczerwieni na płytce rozwojowej BK7238 i skryptowanie go do pracy z Home Assistant. Pokażę również, jak używać go do bezpośredniego sterowania urządzeniem, całkowicie pomijając HA.
Ten samouczek wykorzystuje płytkę NiceMCU BK7238. Więcej szczegółów można znaleźć w naszym poprzednim samouczku NiceMCU.
Tutorial NiceMCU XH-WB3S BK7238 - szybki start, flashowanie, czujniki, MQTT i Home Assistant
Wstępne flashowanie BK7238
Wystarczy użyć naszego Flashera:
https://github.com/openshwprojects/BK7231GUIFlashTool
Sprawdź nasze powiązane przewodniki tutaj:
NiceMCU XH-WB3S BK7238 tutorial - szybki start, flashowanie, czujniki, MQTT i Home Assistant
Karta katalogowa modułu Tuya BK7238 T1, T1-M, T1-3S, wyprowadzenia i flashowanie, Home Assistant
Konfiguracja wbudowanej diody LED
Na potrzeby tego demo zdecydowałem się użyć wbudowanej diody LED RGB. Wbudowana dioda LED znajduje się na P6, P24 i P26, ale poziomy logiczne są odwrócone. Musiałem więc ustawić role PWM_n (odwrócone). Można to zrobić ręcznie w Config->Configure Module lub zaimportować mój szablon:
Kod: JSON
Teraz powinieneś otrzymać to na panelu głównym i być w stanie kontrolować diodę LED:
Konfiguracja odbiornika IR
Najpierw musisz znać wyprowadzenia odbiornika IR. Jeśli ponownie używasz starego odbiornika ze starej płytki, podążaj za śladami na PCB. Sprawdź kondensatory i płaszczyznę uziemienia. Sprawdź oznaczenia na sitodruku.
Jeśli kupiłeś nowy odbiornik IR, sprawdź arkusz danych producenta/sprzedawcy.
Sprawdź również napięcie robocze - u mnie działało tylko 5V.
Oto moje połączenie:
Wybrałem P21 jako wejście IR i skonfigurowałem je w sekcji Configure Module:
Zdarzenia IR w OBK Web App Log
Skieruj pilota w stronę odbiornika i naciśnij jakiś przycisk - obserwuj dziennik.
Jak widać, przyciski 1, 2, 3 na moim pilocie mają następujące kody:
REKLAMA
Zdarzenia IR w OBK
Zdarzenia IR można skryptować bezpośrednio w OBK. Na przykład, można ich użyć do sterowania diodami LED. Utwórz następujący plik autoexec.bat:
startDriver IR
addEventHandler2 IR_RC6 0x0 0x1 led_basecolor_rgb FF0000
addEventHandler2 IR_RC6 0x0 0x2 led_basecolor_rgb 00FF00
addEventHandler2 IR_RC6 0x0 0x3 led_basecolor_rgb 000FF0
IR zdarzenia w Home Assistant - format nieprzetworzony
Najpierw włącz flagę 14:
Upewnij się również, że masz skonfigurowany MQTT.
Panel główny poinformuje Cię, czy połączenie się powiodło:
Następnie możesz odsłuchać temat urządzenia w Home Assistant:
IR events in Home Assistant - Tasmota format
Tak jak poprzednio, ale użyj flagi 21.
Następnie ponownie można odsłuchać temat urządzenia w Home Assistant:
Automatyzacje IR w Home Assistant
Jest na to wiele sposobów, zacznijmy od najprostszego.
Po pierwsze, załóżmy, że masz jakieś inne urządzenie do kontrolowania. Powiedzmy, że jest to żarówka RGBCW:
Nazywa się obk_n_rgbcw_e27.
Teraz stwórzmy automatyzację. Najpierw ustaw wyzwalacz na temat MQTT RESULT:
Następnie, najprostszym sposobem byłoby ustawienie surowego payloadu:
i ustawić akcję do wykonania:
Można również zauważyć, że czasami dane IR zawierają dodatkowy bit naciśnięcia/przytrzymania. Możesz obsłużyć obie wiadomości w jednej automatyzacji, aby to obejść:
Teraz działa dobrze:
Oto moje źródła automatyzacji w YAML:
Kod: YAML
Kod: YAML
Bezpośrednie sterowanie innym urządzeniem bez HA
Możliwe jest również sterowanie innym urządzeniem bezpośrednio, bez Home Assistant. W tym celu można użyć polecenia OBK SendGet. Oto krótki przykład sterowania jasnością światła docelowego za pomocą polecenia HTTP GET:
startDriver IR
addEventHandler2 IR_RC6 0x0 0x1 SendGET http://192.168.0.212/cm?cmnd=add_dimmer%2010
addEventHandler2 IR_RC6 0x0 0x2 SendGET http://192.168.0.212/cm?cmnd=add_dimmer%20-10
Oba przyciski wysyłają komendy add_dimmer, pierwsza dodaje 10 do ściemniacza, druga odejmuje.
Spowoduje to wysłanie GET po pierwszym naciśnięciu i przytrzymaniu. Można zmniejszyć ruch, wysyłając GET tylko przy pierwszym naciśnięciu.
startDriver IR
addEventHandler3 IR_RC6 0x0 0x1 0 SendGET http://192.168.0.212/cm?cmnd=add_dimmer%2010
addEventHandler3 IR_RC6 0x0 0x2 0 SendGET http://192.168.0.212/cm?cmnd=add_dimmer%20-10
Przełączanie światła i początkowego naciśnięcia w stosunku do przytrzymania
W pewnym momencie możesz chcieć wysłać polecenie TOGGLE do kontrolki. Prawidłowy sposób jest następujący:
startDriver IR
addEventHandler3 IR_RC6 0x0 0x1 0 SendGET http://192.168.0.212/cm?cmnd=POWER%20TOGGLE
Trzeci argument, 0, oznacza "początkowe naciśnięcie". Jest więc wywoływany tylko raz.
Nie używaj go bez tego argumentu:
startDriver IR
addEventHandler2 IR_RC6 0x0 0x1 SendGET http://192.168.0.212/cm?cmnd=POWER%20TOGGLE
W tym przypadku może on zostać wywołany wielokrotnie, jeśli przytrzymasz przycisk dłużej.
Alternatywna wersja biblioteki IR
Stockowy obk używa portu Arduino-IRRemote, możesz też spróbować rozszerzonej wersji w postaci ESP8266IrRemote. Pobierz go z wydań:
https://github.com/openshwprojects/OpenBK7231T_App/releases/
Podsumowując .
W ten sposób można sterować urządzeniami za pomocą odbiornika podczerwieni z OBK. Możesz użyć automatyzacji Home Assistant lub sterować nimi bezpośrednio - poprzez żądanie GET.
Ten poradnik został przygotowany dla płytki BK7238, ale ta sama logika dotyczy innych obsługiwanych układów Beken, takich jak BK7231T lub BK7231N.
Nie zapominaj, że OBK ma również integrację skryptów Berry, które można wykorzystać do tworzenia bardziej zaawansowanej logiki.
To wszystko na razie, jeśli masz jakieś pytania, nie krępuj się zapytać - dołożymy wszelkich starań, aby pomóc.
Możesz również sprawdzić naszą dokumentację tutaj: https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/README.md
i naszą listę urządzeń: https://openbekeniot.github.io/webapp/devicesList.html
i nasz kanał YT: https://www.youtube.com/@elektrodacom
Fajne? Ranking DIY Pomogłem? Kup mi kawę.