Czy da się zidentyfikować wnętrze Tongou TO-Q-SA1 i uruchomić go z niestandardowym firmware, a jeśli tak, to przez jakie układy i z jakim dostępem do programowania?
Da się go częściowo obsłużyć, ale najpewniejsza droga to nie „czysty flash”, tylko przeróbka toru pomiarowego: w środku jest moduł Tuya CB2S z BK7231N, osobny MCU STC8H3K64S2 i układ pomiarowy BL0942, a połączenie między nimi jest na 4 pinach UART [#21562880][#21563065] W OpenBeken można go skonfigurować jako TuyaMCU, mapując dpID 6 na `RAW_V2C3P3` i ustawiając baud rate 115200; tak udało się uzyskać prawie poprawne odczyty napięcia, prądu i mocy [#21570955] Problem w tym, że po około 25–30 minutach STC przestaje wysyłać dane pomiarowe, nawet po ręcznym `tuyaMcu_sendQueryState`, więc samo programowe obejście wygląda na niestabilne [#21576465][#21576531][#21576703] Najlepiej sprawdziło się usunięcie STC8H3K64S2 i podłączenie BL0942 bezpośrednio do BK7231N przez UART1 (RX1/TX1); po tej zmianie OBK z driverem BL0942 działało poprawnie [#21577273][#21734387] Potem można skalibrować napięcie, prąd i moc na znanym obciążeniu, a jeśli licznik jest wpięty odwrotnie, prąd będzie raportowany ze znakiem minus [#21577379]
Dzieje się tak, ponieważ to urządzenie ma nieizolowane zasilanie. Może więc mieć potencjał przewodu pod napięciem na liniach TuyaMCU RX/TX. Jeśli na przykład urządzenie ma uziemienie USB (bezpośrednio lub pośrednio), nastąpi zwarcie pod napięciem.
Nie polecam testowania z samym napięciem 3,3V. Możesz spróbować, ale jak wtedy będziesz w stanie stwierdzić, że to faktycznie działa?
Może lepiej byłoby spróbować podać 12V DC (z izolowanego zasilacza) na wejście sieciowe urządzenia. Być może działałoby przy napięciu tak niskim jak 12V.
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
Nie polecam testowania z samym 3,3V. Można by spróbować, ale jak wtedy stwierdzić, że to faktycznie działa?
. Spędziłem więc kilka minut zastanawiając się, którą ścieżkę wybrać - próbując odtworzyć protokół Tuya czy uciekając się do metod chirurgicznych. Biorąc pod uwagę, że takie badania niosą ze sobą ryzyko pożaru i porażenia prądem (a moje mieszkanie nie jest ubezpieczone), a co gorsza, pierwszy gość, który zaczął badać to urządzenie w wątku, zniknął bez śladu... Postanowiłem pójść drogą najmniejszego oporu .
Chip 8H3K64S2 został usunięty jako źródło problemu. Układy BL0942 i BK7231N zostały podłączone bezpośrednio przez UART (jak na zdjęciu). Nic więcej nie trzeba było robić. W OBK po prostu włączyłem sterownik BL0942.
Myślę, że jeśli ktoś jest w stanie wgrać OBK na to urządzenie, to wlutowanie dwóch kabelków też nie powinno być wielkim wyzwaniem.
Przypominam tylko, że instalując urządzenie na przewodzie, należy pamiętać o kierunku prądu. Jeśli zainstalujesz go odwrotnie, odczyty prądu będą ujemne.
Dla przypomnienia: podczas instalowania urządzenia na przewodzie należy pamiętać o kierunku prądu. Jeśli zainstalujesz go odwrotnie, odczyty prądu będą ujemne.
To prawda, ale to nie jest błąd, to funkcja dla użytkowników PV.
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
Prawda, ale to nie błąd, to funkcja dla facetów z PV.
Teraz zastanawia mnie coś innego. Na wykresie widzę skoki prądu o około 1,2 ampera i nie mogę dowiedzieć się, skąd pochodzą. Próbowałem już wyłączyć prawie każde urządzenie w mieszkaniu - z wyjątkiem kilku, do których obecnie nie mam dostępu. Zaczynam podejrzewać, że może trafiłem na jakąś "specjalną" wersję BL0942 😄 Czy ktoś wcześniej spotkał się z takim zachowaniem?
Dodano po 25 [minutach]: .
Fałszywy alarm! 😄 Znalazłem źródło skoków prądu - to ogrzewanie podłogowe przy balkonie, zainstalowane przez dewelopera. Dziwne jest to, że miał to być po prostu samoregulujący kabel grzewczy, ale ten wyraźnie wykorzystuje jakiś rodzaj sterowania impulsowego. Wygląda na to, że deweloper po prostu osadził jednostkę sterującą gdzieś w betonie - nigdzie nie mogłem jej znaleźć 😅 Przepraszam za off-topic!
Dodano po 20 [minutach]: .
p.kaczmarek2 napisał:
Dobra robota. Czy dokonałeś również kalibracji?
Tak, wszystko skalibrowało się idealnie przy użyciu żarówki OSRAM 60W.
Rozumiem, interesujące. Z mojego doświadczenia wynika, że BL0942 jest bardziej niezawodny niż BL0937, więc nie powinno być dziwnych impulsów. W przypadku BL0937 dziwne odczyty mogą się zdarzyć, jeśli użyjesz oszczędzania energii MCU razem z nim, ponieważ opiera się on na przerwaniach GPIO. Dlatego w OBK mamy opcję oszczędzania energii tylko przez RF, która jest mniej wydajna, ale przyjazna dla BL0937.
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
.
Więc rzeczywiście sprawdza BL0937 i pomija uśpienie MCU, jeśli zostanie znalezione.
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
Więc rzeczywiście sprawdza BL0937 i pomija uśpienie MCU, jeśli zostanie znalezione.
to dobra wiadomość. Myślę, że Zanadar może zamknąć ten PR.
Nie widziałem potwierdzenia na liście poleceń, więc może zaproponuję aktualizację, chyba że zrobisz to pierwszy. A może to nie ma teraz znaczenia i nie wymaga specjalnej wzmianki, ponieważ jest automatyczne, jeśli BL0937.
Musimy zaktualizować dokumenty, aby to odzwierciedlić, zachęcamy do pomocy, jeśli masz trochę wolnego czasu
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
>>21577273 Sorry, nie zniknąłem ale powiedziałem tyle ile mogłem. Niestety nie miałem zbyt wiele czasu, aby się nim pobawić (lub go użyć), więc to odkrycie o niewysyłaniu danych było na ciebie . Ale to też mogę potwierdzić. Też od początku podejrzewałem, że drugi MCU może powodować jakieś problemy, bo nie rozumiem po co on tu jest.
BTW @p.kaczmarek2 czy to możliwe, że moduł myśli, że jest w innym trybie i raportuje tylko co godzinę? Mam na myśli to
2) The meter reports data based on a certain period. Suggestion: In WIFI mode, report once every 15 seconds. In NB mode, it is reported once every hour.
EDIT: Tak offset dla wszystkich trzech (U, I, P) byłby fajny - jeśli to ma sens. Bo teraz z danymi co godzinę to chyba nie). Ale także więcej danych o tym, jak "dokładny" jest pomiar, będzie również pomocne.
{
"abilityId": 6,
"accessMode": "ro",
"code": "phase_a",
"description": "1,A相电压,电流及功率\n2,大端模式,HEX格式,共8个字节\n3,单位精度:电压,2字节,单位0.1V。电流,3字节,单位 0.001A 。A相有功功率,3字节,单位0.0001kW\n4,报文格式\n举例:08 80 00 03 E8 00 27 10 表示A相217.6V,A相电流1.000A,A相功率10.000KW\n5,通信逻辑:\n1)用户进面板,主动查询。用户进入面板,面板马上下发0x08到电表,电表上报数据到云平台,面板拿到数据,然后展示。 注:最新WIFI支持。 \n2)电表基于一定周期上报数据。建议:在WIFI模式时,15秒上报一次。NB模式时,1个小时上报一次。
1. Napięcie, prąd i moc fazy A
2, tryb big-endian, format HEX, łącznie 8 bajtów
3. Dokładność jednostki: napięcie, 2 bajty, jednostka 0,1 V. Prąd, 3 bajty, jednostka 0,001A. Moc czynna fazy A, 3 bajty, jednostka 0,0001 kW
4, format komunikatu
Przykład: 08 80 00 03 E8 00 27 10 oznacza fazę A 217.6V, fazę A prąd 1.000A, fazę A moc 10.000KW.
5, Logika komunikacji:
1) Użytkownicy wchodzą do panelu i aktywnie wysyłają zapytania. Gdy użytkownik wchodzi do panelu, panel natychmiast wysyła 0x08 do licznika. Licznik zgłasza dane do platformy w chmurze. Panel pobiera dane, a następnie je wyświetla. Uwaga: Najnowsza wersja obsługuje WIFI.
2) Licznik raportuje dane w oparciu o określony okres. Sugestia: W trybie WIFI raportowanie raz na 15 sekund. W trybie NB raportowanie odbywa się raz na godzinę.
",
Jest to w opisie danych dpID 6, które są wysyłane z MCU do modułu WiFi. Nie wiem, w jaki sposób moduł WiFI może go wykorzystać do zmiany okresu raportowania. Na razie wydaje mi się to niejasne lub niezaimplementowane.
Najlepsze, co mogę polecić, to wspomniana już komenda tuyaMcu_sendQueryState. Wydawało się działać w przeszłości, przynajmniej dla niektórych urządzeń TuyaMCU.
kymlalu napisał:
EDIT: Tak, offset dla wszystkich trzech ( U, I, P ) byłby fajny - jeśli ma to sens. Ponieważ teraz z danymi co godzinę tak nie jest ). Ale i więcej danych jak "dokładny" jest pomiar też by się przydało.
Za chwilę dodam autotest.
PS: Pierwsza delta jest dla napięcia, druga dla prądu, trzecia dla mocy. Delty są nieskalowane, tak jak w wartościach Tuyamcu. Tak więc, gdy TuyaMCU wysyła 2305 (jak dla 230,5), to ustaw deltę na 10, a otrzymasz 2305 + 10 = 2315 (231,5 V)
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
Dodałem to polecenie, ale z takimi samymi wynikami jak casiopeia80. Nic się nie zmieniło. Zauważyłem również, że po ponownym uruchomieniu modułu z interfejsu użytkownika (czerwony przycisk restartu w interfejsie użytkownika "tasmota") nie otrzymuję żadnych wiadomości dpID6, tylko TUYA MCU przesyła niektóre dane (siła sygnału, temperatura MCU, częstotliwość, całkowita kW / h i inne identyfikatory), ale nie dpID6.
Dokładność urządzenia jest zaskakująco dobra. Na zrzucie ekranu: po prawej - odczyty z certyfikowanego licznika energii w mieszkaniu, po lewej - obliczenia energii w Grafanie przy użyciu całki z mocy zmierzonej przez urządzenie. W ciągu sześciu dni różnica wyniosła zaledwie 0,012%.
Więc w końcu miałem trochę czasu, aby podłączyć szeregowy TTL do mojego urządzenia, sflashować go oryginalnym FW, zrobić prowizoryczny przedłużacz i podłączyć go do RPi, aby rejestrować komunikację szeregową (używam CoolTerm - wygląda solidnie i może logować się do pliku, ale jeśli ktoś ma coś lepszego i działa na RPI, mogę spróbować) przez dłuższy czas. Podłączyłem też lodówkę jako obciążenie Aaand wszystko, co widzę w dzienniku, to tylko bicie serca (w oparciu o to, jak wygląda hex dla bicia serca i co pokazał tuyaanalyzer).
Jestem przyklejony do pinów RX / TX modułu TUYA, kiedy przełączam coś w aplikacji TUYA, widzę polecenie w dzienniku, ale nie widzę żadnych danych pomiaru mocy (prąd, napięcie, moc...). Ale w aplikacji TUYA wszystko jest wyświetlane. Nie wiem więc, co jest nie tak.
Załączyłem również -overnight log
Załączniki:
po.zip(292 Bajtów)
Musisz być zalogowany, aby pobrać ten załącznik.
W przypadku LN882H PowerSave nie będzie działać jako polecenie startowe, więc użyj w autoexec.
Hm, będę musiał sprawdzić, ale czy nie zmieniliśmy tego, aby LN882H działał w każdym przypadku? Pamiętam, że faktyczne włączenie PowerSave było opóźnione do momentu, aż WiFi zacznie działać. Czy to też nie liczyło się do uruchomienia? Jeśli nikt nie będzie szybszy, spróbuję po południu.
Dodano po 3 [godzinach] 29 [minutach]: .
Niewiarygodne, szybciej niż @divadiow
W rzeczywistości "powersave" można ustawić w komendzie startowej LN882H
Jeśli chcesz dostosować opisy poleceń, musisz edytować kod źródłowy OBK - opisy poleceń znajdują się w komentarzach XML, a getcommands.js analizuje je przy każdej kompilacji dokumentów
Tworzę pierwsze na świecie oprogramowanie open source przeznaczone dla platform BK7231, XR809, BL602, W600, W800, LN882H, ECR, TRS, RTL, jak również ESP8266 i ESP32 używanych w różnych urządzeniach IoT, pozwalające uwolnić je od serwerów producenta, od śledzenia, dowolnie modyfikować i sparować z Home Assistant.
Dodatkowo publikuję różnorodne materiały, często tutoriale i praktyczne demonstracje.
Jeśli podoba Ci się moja twórczość i w czymś Ci pomogłem, to rozważ wsparcie mnie tutaj: https://www.paypal.com/paypalme/openshwprojects Mój Github: https://github.com/openshwprojects Mój tutorial PIC18F SDCC: https://www.elektroda.pl/rtvforum/topic3635522.html Pracuję na stacji hot air SUGON 8630 Pro od Katemedia
Kilka postów temu zamieściłem zalogowane dane z urządzenia z oryginalnym FW, ale nie było ich zbyt wiele (może zrobiłem coś źle?). Ale ostatecznie skończyło się na usunięciu mikrokontrolera STC i dodaniu zworek (jak napisał OP), które i tak pierwotnie planowałem. Teraz działają dobrze przez jakiś czas.
✨ Dyskusja dotyczy inteligentnego licznika energii Tongou TO-Q-SA1, urządzenia montowanego na szynie DIN z łącznością WiFi opartą na platformie Tuya, wyposażonego w mikrokontroler STC8H3K64S2, moduł WiFi Tuya CB2S oraz układ pomiaru mocy BL0942. Urządzenie nie posiada przekaźnika, co czyni je bezpiecznym do monitoringu inline. Użytkownicy podjęli próbę flashowania i integracji z oprogramowaniem OpenBK7231T (OBK), jednak oryginalny MCU STC8 powodował problemy z regularnym przesyłaniem danych pomiarowych (dpID 6) – po około 30 minutach odczyty napięcia, prądu i mocy przestawały być wysyłane, a MCU przechodził w stan uśpienia. Próby wymuszenia raportowania za pomocą komend TuyaMCU (np. tuyaMcu_sendQueryState) oraz dodawanie powtarzających się zdarzeń nie przyniosły trwałego efektu. W efekcie zdecydowano się na usunięcie mikrokontrolera STC8 i bezpośrednie podłączenie układu BL0942 do modułu WiFi BK7231N przez UART, co pozwoliło na stabilną pracę i poprawne odczyty energii. W OBK włączono sterownik BL0942, umożliwiający kalibrację urządzenia za pomocą znanego obciążenia (np. żarówki 60W). Dyskutowano także o problemach z izolacją galwaniczną podczas podłączania UART, ryzyku zwarć i konieczności stosowania izolowanych zasilaczy. Ostatecznie urządzenie po modyfikacji działa stabilnie, a dokładność pomiarów jest wysoka (różnica poniżej 0,02% względem certyfikowanego licznika). Wątek zawiera także informacje o konfiguracji oprogramowania OBK, mapowaniu dpID, problemach z trybami oszczędzania energii oraz sugestiach dotyczących dalszych testów i dokumentacji.