Dzisiaj zaglądamy do wnętrza dość drogiego produktu, kupionego za całe 160$ (czyli ponad 600 zł). Będzie to trójfazowy miernik energii współpracujący z ekosystemem Tuya. Rozważymy tutaj również możliwość uwolnienia go od chmury tak, aby działał 100% lokalnie, bez serwerów producenta.
Pokazywany tu temat był realizowany z kolegą @DeDaMrAz , on jest właścicielem urządzenie i od niego pochodzą fotki.
Zacznijmy od zakupu. Sprzęt kupowaliśmy w Chinach:
Nie ma raczej potrzeby bym na piechotę tu tłumaczył co te urządzenie robi. Po prosty zacytuję opis od sprzedawcy:
W zestawie dołączony jest manual, który określa jakich pomiarów możemy się spodziewać:
Ale nas interesuje wnętrze, więc zdejmijmy obudowę:
Trafiła nam się sztuka oparta o moduł WiFi TYWE3S, czyli ESP8266. Można by wgrać Tasmotę. Co prawda my liczyliśmy na wersję z BK7231, aby nieco potestować OpenBeken, ale to nie jest problem. Można zawsze wymienić moduł WiFi.
Wnętrze:
Na drugiej stronie płytki z wyświetlaczem widoczny też jest dodatkowy mikrokontroler, tutaj SH79F6431P. Rdzeń 8051. To on komunikuje się z modułem WiFi przez wspomniany protokół TuyaMCU.
RN8302B renergy z kolei odpowiada za pomiar, do niego podłączone są cewki przekładników:
Poglądowy schemat części wykonującej pomiar:
Ta mała kość 24C16 (U7) na zdjęciu płytki to z kolei pamięć EEPROM.
Na płytce jest jeszcze układ odpowiedzialny za komunikację RS485, której jeszcze nie testowaliśmy:
A i bym zapomniał, już po zdjęciu obudowy - co pokazuje wyświetlacz:
Zrobiliśmy też kopię oryginalnego wsadu:
https://github.com/openshwprojects/FlashDumps...66/TYWE3S_HIKING-3-phase-wifi-smart-meter.bin
Został jeszcze zasilacz - w środku jest układ oparty o PN8145T, zasilacz typu flyback:
Przechwytywanie pakietów
To urządzenie opiera się o TuyaMCU, czyli moduł WiFi tutaj tylko realizuje komunikacje z zewnętrznym światem, a resztę (w tym LCD) obsługuje dodatkowy mikrokontroler. O TuyaMCU było już kilka tematów:
Protokół TuyaMCU - komunikacja pomiędzy mikrokontrolerem a modułem WiFi
Przewodnik flashowania, instalacji i konfiguracji TuyaMCU - skonfiguruj dpID dla Home Assistant
Polecam zapoznać się z powyższymi tematami, inaczej ten akapit będzie niezrozumiały.
No więc, zgodnie z powyższymi tematami przygotowaliśmy się do przechwytywania pakietów TuyaMCU. Posłużyły nam do tego moduły optoizolacji ADUM1201.
Oto jak to wygląda w praktyce:
Zebrane dane w naszym analizatorze, zwyczajna praca:
Test timera (widać tu dpID wartości odliczania oraz stan timera - boolean):
Do wglądu:
https://github.com/openshwprojects/TuyaMCUAnalyzer/tree/main/project/samples
Z ważniejszych dpID odkryślimy:
//1 => on/off
//18 => current in mA
//19 => power in watts/10
//20 => voltage
W Tasmocie można to zmapować wedle tej dokumentacji:
https://tasmota.github.io/docs/TuyaMCU-Devices/
Dla OBK poradnik jest tutaj:
https://www.elektroda.com/rtvforum/topic4038151.html
Konfiguracja OpenBeken
Nasza sztuka korzystała z TYWE3S, ale kolega miał kilka CB3S w zapasie więc wymienił moduł WiFi tak, byśmy mogli wgrać OBK. Oto plik autoexec.bat z konfiguracją podstawowych dpID dla tego urządzenia:
startDriver TuyaMCU
tuyaMcu_defWiFiState 4
// may be needed, depends on device
//tuyaMCU_setBaudRate 9600
// dpID 1 is power toggle ON or OFF
setChannelType 1 Toggle
linkTuyaMCUOutputToChannel 1 bool 1
// dpID 18 is amperage in mA
setChannelLabel 2 Current
setChannelType 2 Current_div1000
linkTuyaMCUOutputToChannel 18 val 2
// dpID 19 is power in W
setChannelLabel 3 Power
setChannelType 3 Power_div10
linkTuyaMCUOutputToChannel 19 val 3
// dpID 20 is power in W
setChannelLabel 4 Voltage
setChannelType 4 Voltage_div10
linkTuyaMCUOutputToChannel 20 val 4
test:
tuyaMcu_sendQueryState
delay_s 1
goto test
Dodatkowa pętla pod koniec konfiguracji co sekundę wywołuje odświeżenie danych od TuyaMCU.
Całość działa poprawnie i również pozwala na automatycznie sparowanie z Home Assistant poprzez HASS Discovery:
Podsumowanie
Zgodnie z oczekiwaniami - całość opiera się o TuyaMCU. Przy odrobinie sprytu i chęci można uwolnić ten produkt od chmury, zarówno w przypadku Tasmoty, jak i w przypadku OpenBeken. My konkretnie po zakupie dostaliśmy jeszcze wersje z TYWE3S (ESP8266), ale na naszym forum pojawiały się już ostatnio też produkty z tej samej serii (TOMZ/Hiking) oparte o CB3S (BK7231N). Jak już pokazałem, nie jest to problem, na ten moment wszystkie znane mi wersje tych produktów są bez problemu "flashowalne". Podsumowując, jak zależy nam na rozwiązaniu działającym bez chmury, 100% lokalnie, to można kupować i przerabiać, w razie czego pomogę.
Fajne? Ranking DIY Pomogłem? Kup mi kawę.
