Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja

p.kaczmarek2 07 Jun 2022 21:08 1866 4
  • OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    Witajcie moi drodzy.
    Przedstawię tutaj jak na mojej platformie OpenBeken można uruchomić ściemniacz oparty o TuyaMCU i połączyć go z Home Assistant. OpenBeken to alternatywne, otwarte oprogramowanie przeznaczone dla urządzeń IoT, oferujące m.in. niezależność od chmury producenta, kompatybilność z wieloma ekosystemami, konfigurowalność oraz wsparcie różnych platform, m. in. BK7231T, BK7231N, XR809 i BL602.
    Główny zbiorczy temat o moim firmware: [BK7231T] Mój serwer HTTP, konfigurator, wsparcie MQTT z Home Assistant
    Temat o BL602: Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Czym jest TuyaMCU? TuyaMCU to protokół komunikacji mikrokontrolera z modułem WiFi stosowany w produktach Tuya:
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    Protokół TuyaMCU - komunikacja pomiędzy mikrokontrolerem a modułem WiFi

    Zakup ściemniacza
    Produkt kupowałem już jakiś czas temu. Znalazłem go pod hasłem MoesHouse DIY Smart WiFi Light LED Dimmer Switch Smart Life/Tuya APP Remote Control 1 Way Switch Works With Alexa Google Home - 1pcs. Teraz chyba mu trochę cena podrosła, ale można go też znaleźć taniej na różnych portalach:
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    Maksymalna moc oświetlenia dla tego ściemniacza to 150W. Standard WiFi to 2.4GHz 802.11 b/g/n. Współpracuje on z aplikacjami Tuya Smart/Smart Life. Jego rozmiar to 51x46x22mm.
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    W zestawie dostajemy też instrukcje:
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja

    Wnętrze ściemniacza
    Teraz pora zajrzeć do środka.
    Obudowę zdjąć jest naprawdę bardzo łatwo.
    Tutaj galeria zdjęć będzie nieco inna, bo mam też taki sam ściemniacz uszkodzony, dostałem go od jednego z naszych użytkowników, więc w kadrze umieszczę oba
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    Dwa ściemniacze obok siebie, sprawny i uszkodzony:
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    Co ściemniacz ma w środku? Przede wszystkim moduł WiFi WB2S + mikrokontroler Holtek HT66F3195. To one komunikują się przez UART.
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    Zasila je BP2525 (zasilacz beztransformatorowy), a obok mamy cały układ powiązany ze ściemniaczem (diody prostownicze S3M), transoptor do wykrywania cyklu sinusoidy, nieoznaczony układ kontrolera i... SIF12N65F. Początkowo oczekiwałem tu triaka, ale to jest tranzystor MOSFET z kanałem typu N (Vds=650V, RdsOn = 0.6Ohm, Id =12A). To wyjaśnia te cztery diody prostownicze. Ten ściemniacz najwyraźniej prostuje napięcie sieciowe a potem je kluczuje tranzystorem.

    Programowanie WB2S
    Programowania dokonałem zgodnie z poprzednimi tematami z serii, poprzez bkWriter 1.60.
    WB2S wylutowałem z płytki za pomocą topnika i plecionki. Tak wygodniej i jest pewność, że nic na linii RX/TX nie zakłóci wgrywania wsadu.
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    Potem można uruchomić OBK zgodnie z tymi tematami:
    Qiachip Smart Switch - BK7231N/CB2S - wnętrze, programowanie
    Włącznik światła z USA - Gosund Smart Switch SW5-A-V2.1 - BK7231T
    Ogrodowy podwójny przekaźnik Tuya CCWFIO232PK - BK7231T - programowanie



    Konfiguracja OpenBeken
    Po podstawowej konfiguracji, którą omawiałem w poprzednich tematach z serii należy przygotować skrypt startowy (plik o nazwie autorun.bat o zawartości jak poniżej):
    Code: script
    Log in, to see the code

    I w panelu App przeciągnąć go na system plików OBK:
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    Ten skrypt wykona się po starcie urządzenia. Po samym przeciągnięciu się nie wykona, trzeba wykonać ręcznie Restart (np. przyciskiem z panelu WWW).
    Po wgraniu:
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    Znaczenie poszczególnych komend:
    - startDriver TuyaMCU - uruchamia sterownik TuyaMCU
    - setChannelType 1 toggle - ustawiaw typ kanału numer 1 na On/Off
    - setChannelType 2 dimmer - ustawia typ kanału numer 2 na ściemniacz
    - tuyaMcu_setDimmerRange 0 1000 - ustawia zakres wartości ściemniacza TuyaMCU (dla GUI jest od 0 do 100 zawsze, na 0 do 1000 jest to konwertowane tylko dla MCU)
    - linkTuyaMCUOutputToChannel 1 bool 1 - łączy dpID numer 1 TuyaMCU z kanałem numer 1 o typie bool
    - linkTuyaMCUOutputToChannel 2 val 2 - łączy dpID numer 2 TuyaMCU z kanałem numer 2 o typie value
    Wartości dpID mogą być różne w różnych rodzajach urządzeń. Jeśli chcemy dodać wsparcie czegoś nowego, to musimy je poznać, np. nasłuchując pakiety. Wartości dpID można też brać z opisów urządzeń przeznaczonych dla Tasmoty, bo Tuya często zmienia tylko moduł WiFi a reszta zostaje taka sama.
    Po restarcie w panelu OpenBK mamy osobno włącznik i ściemniacz:
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    Tak wyglądają różne poziomy jasności:
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja

    A jak działa przycisk?
    Z pozoru można by pomyśleć, że przycisk nie jest wspierany przez OpenBeken. Ale nic bardziej mylnego!
    W tym produkcie przycisk podłączamy do TuyaMCU, a nie do modułu z WiFi. To TuyaMCU obsługuje przycisk. Wszystko mamy gotowe. Podłączamy przycisk do odpowiedniego pinu (S jak switch):
    OpenBeken i ściemniacz na TuyaMCU - konfiguracja i demonstracja
    Można używać zarówno bistabilny jak i monostabilny. Przycisk działa tak, że po włączeniu jasność stopniowo narasta a my możemy wybrać sobie jaki poziom chcemy po prostu go ponownie przełączając. Jeśli z kolei już lampka jest włączona, to szybkie włączenie i wyłączenie przycisku ją całkiem zgasi. Wszystko to robi HT66F3195.


    Wsparcie Home Assistant
    Parowanie z Home Assistant jest bardzo proste, a wszystko to dzięki automatycznemu mapowaniu kanałów OpenBeken na zmienne TuyaMCU. Ściemniacz TuyaMCU obsługiwany jest z poziomu HA tak samo jak zwykły ściemniacz oparty o PWM. Oto przykładowy kod Yaml:
    Code: yaml
    Log in, to see the code

    Mamy tu dwa osobne kanały - jeden określa stan urządzenia (on/off), drugi poziom jasności.
    Finalny test aplikacji:

    Finalny test przycisku:

    Co na filmach rzuca się w oczy? Przede wszystkim animacja przesuwania się stopnia jasności, krok po kroku, która pochodzi od układu Holteka i nie da się jej zmienić. Z tego powodu tak "klatkuje" suwak w Home Assistant.
    Oprócz tego jest małe opóźnienie raportowania stanu, ale to normalne.

    Wsparcie skryptów i komend po HTTP
    OpenBeken wspiera wysyłanie komend w stylu Tasmoty, przez tzw. "Tasmota HTTP". Wysłać je można nawet przez zwykłą przeglądarkę.
    Ta komenda włączy lampkę na pełną jasność:
    Code:

    http://192.168.0.115/cm?cmnd=backlog%20setChannel%201%201;%20setChannel%202%20100

    Ta na 50% jasności:
    Code:

    http://192.168.0.115/cm?cmnd=backlog%20setChannel%201%201;%20setChannel%202%2050

    Ta wyłączy ją po 5 sekundach:
    Code:

    http://192.168.0.115/cm?cmnd=addRepeatingEvent%205%201%20setChannel%201%200

    (składnia addRepeatingEvent: okres powtórzeń, ilość powtórzeń, komenda)
    Są też komendy np. dodające wartość do bieżącej wartości jasności, ale o tym innym razem.

    Powiązany temat
    TuyaMCU jest w wielu urządzeniach, również można je znaleźć w kontrolerze wentylatora WiFi/RF433MHz. Polecam przeczytać temat:
    QIACHIP Universal WIFI Ceiling Fan Light Remote Control Kit - BK7231N - CB2S


    Podsumowanie
    Wygląda na to, że TuyaMCU jest już w dużym stopniu wspierane. Wszystko współdziała sensownie z MQTT i Home Assistant (wraz z komunikacją w obie strony i aktualizacją stanów), a nawet tez pozwala na skryptowanie prostych automatyzacji w obrębie samego OpenBeken.
    Wkrótce potestuję więcej urządzeń z TuyaMCU i również dodam więcej możliwości dla interpretera komend (możliwość wykonywania prostych skryptów).
    PS: A jeśli interesuje was nieco inny ściemniacz z innym protokołem UART (już nie TuyaMCU, lecz inny protokół tekstowy) to zapoznajcię z tym tematem.

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    p.kaczmarek2
    Level 26  
    Offline 
  • #3
    p.kaczmarek2
    Level 26  
    Bardzo ciekawa sugestia. Dzięki, nie widziałem tego wcześniej.

    Jedyne co mi się trochę nie podoba to to, że pod hasłem BK7252 w Google ten temat z forum HA jest jako drugi i oprócz tego jest jakaś (na szczęście) dokumentacja i SDK... ale to świadczy o tym, że BK7252 nie jest popularny i nie jest stosowany w wielu urządzeniach. A jak nie jest popularny, to siłą rzeczy ma mniejszy priorytet niż np. wsparcie układów WiFi od Realteka, typu WBR3, WBR2, itp.

    No ale dobra, przekonałeś, kupiłem jedną A9 mini kamerkę i zobaczymy co to będzie jak przyjdzie paczka.
  • #4
    austin007
    Level 17  
    @ p.kaczmarek2 Super. Widzę,że wkładasz dużo wysiłku, są efekty i dzielisz się nimi! - upodobałeś sobie SoC Bekena :) Wiadomo,że producenci szukają oszczędności . BK jest tańszy od Realteka i stąd wybór. Bardziej interesują mnie urządzenia zigbee, ale akurat streaming wymaga czegoś innego. Kamera jest tania, ma jakieś swoje zasilanie, IR i detekcję ruchu oraz nagrywanie na kartę SD. Gdyby udało się zachować te funkcjonalności i umożliwić integrację z HA byłoby to bardzo ciekawe rozwiązanie.
    Sam obraz pewnie niczego nie urywa, ale w tej cenie. Dopiero zamówiłem, więc nie wiem jaki tam przetwornik siedzi. Mi brakowałoby jeszcze podłączenia po Lan, żeby monitorować miejsce parkingowe w garażu podziemny,... ale nie ta kasa.
  • #5
    noel200
    Level 26  
    Słyszałeś o czymś takim jak Supla? Ostatnio kupiłem gniazdko Nous A1. Miało być klonem gosund sp111 na ESP8266/8285, a w środku był układ BK. Jakie są różnice w stosunku do esp? Da się wrzucić firmware od ESP do BK?