OP-WF-A3 to trzykanałowy kontroler kolorowego paska LED RGB oferujący sterowanie na dwa sposoby - przez Wi-Fi z poziomu aplikacji Tuya, lub poprzez dołączony w zestawie pilot. Tutaj pokażę jego wnętrze, potem zmienię mu oprogramowanie tak, by można było go programować trochę tak, jak Arduino, a na koniec pokażę dekodowanie kodów pilota i ich obsługę w nowym firmware.
Zestaw kupiliśmy za 50 zł - nie ma w nim taśmy i zasilacza. Kontroler fabrycznie współpracuje z taśmą RGB, ale po mojej przeróbce będzie dowolnie konfigurowalny - będzie mógł np. obsłużyć też taśmę CCT (temperatury bieli) lub kilka osobnych białych taśm.
Aplikacji Tuya nie omawiam, jedynie umieszczam poniżej zdjęcie instrukcji:
Wnętrze OP-WF-A3
Podważamy pokrywę, jest na zatrzask. Nie ma śrubek.
Oznaczenie PCB: 240315 (data? 15 03 2024?) BK7231 RGBWY V0.1.
BK7231N jest bezpośrednio na PCB. Nie ma osobnego modułu Wi-Fi. Antenka od Wi-Fi też jest w formie ścieżki na PCB. W sekcji zasilania jest przetwornica obniżająca napięcie. Na płytce jest miejsce na 5 tranzystorów, więc teoretycznie by mógł być pasek RGB + CCT, ale tylko 3 z nich są obsadzone. Przy układzie dostępne są sygnały do jego programowania na padach.
Po drugiej stronie mamy jeszcze mikrofon ze wzmacniaczem:
Jeszcze został spód PCB - ścieżki na większy prąd są pogrubione i ocynowane:
Programowanie OP-WF-A3
Potrzebny będzie konwerter USB na UART. Mamy tu wszystko wyprowadzone na pady. Trzeba je najpierw pobielić:
Potem lutujemy przewody:
Wgrywamy OBK:
https://github.com/openshwprojects/OpenBK7231T_App
Postępujemy wedle instrukcji naszego flashera:
https://github.com/openshwprojects/BK7231GUIFlashTool
Kopia zapasowa:
https://github.com/openshwprojects/FlashDumps/commit/7c149aba30cc6e96e1b15167d2965c8de83cf81f
Flasher powinien wykryć też konfigurację GPIO, choć w przypadku tego urządzenia to nie wyszło.
Kod: JSON
Konfiguracja OP-WF-A3
Piny PWM można znaleźć za pomocą GPIO Doctor:
GPIODoctor w OpenBeken - wygodny sposób na poznanie ról GPIO w urządzeniu IoT
Ścieżkę do odbiornika IR trzeba prześledzić samodzielnie - ale już to dla Was zrobiłem, jest on na pinie P26:
Sygnały IR musimy ręcznie zbadać - restartujemy urządzenie po ustawieniu role IRRecv i zaglądamy do logu. Kierujemy pilot na odbiornik i wciskamy przyciski. Patrzymy, co jest odbierane.
Przycisk on i off:
Przyciski są w standardzie NEC. Kody 0x02 i 0x03 odpowiadają za włączanie/wyłączanie.
Analogicznie, kontrola jasności:
W ten sposób poznajemy ich kody i następnie możemy dopasować do nich komendy OBK, tak jak przykładowo w materiale o BK7238:
Tutorial/prezentacja obsługi pilota zdalnego sterowania NiceMCU BK7238/T1 IR - Home Assistant
Można jeszcze dodać samodzielnie przyciski do "fizycznej" kontroli LEDów - dla mnie to niezbędne:
Tak oprogramowany kontroler jest kompatybilny z Home Assistant:
W ten sposób przekonwertowane paski można też łączyć w grupy DGR:
Podsumowanie
To był bardzo prosty do przeróbki produkt. Wystarczy przylutować kabelki, pady mamy podane jak na dłoni. Wgrywamy firmware i zyskujemy nowe możliwości - można dowolnie oskryptować przyciski pilota, jak również dodać dodatkowe fizyczne przyciski, a nawet dodatkowe czujniki takie jak DHT11 czy DS18B20. Wszystko to oczywiście kompatybilne z Home Assistant. Tak przerobiony produkt działa też oczywiście 100% lokalnie, bez chmury producenta i stanowi ryzyka dla prywatności użytkownika.
A z jakich kontrolerów do pasków LED Wy korzystacie?
Fajne? Ranking DIY Pomogłem? Kup mi kawę.