Niedawno dokonałem rozbiórki i ponownego flashowania nowego S06 Pro.
Hardware
To urządzenie zostało już omówione w wielu postach i znajduje się już w bazie danych teardown.
Jednak jak widać na zdjęciach, moje urządzenie wydaje się być nową wersją, która wykorzystuje procesor T1-3S - czyli BK7238.
W przypadku oryginalnego jailbreaka najpierw próbowałem Tuya Cloudcutter na wszelki wypadek - ale bezskutecznie.
Byłbym zdumiony, gdyby nie został załatany, aby to zablokować.
Jednak próba oparta na UART była dość prosta.
Odpowiednie piny dla połączenia UART to:
Ponieważ urządzenie jest zasilane przez USB-C, nie ma potrzeby podłączania szyny 3,3 V - wystarczy podłączyć je do zasilania USB-C.
Firmware
Najnowszy BK7231GUIFlashTool działał dobrze, aby wykonać kopię zapasową oprogramowania układowego i przeflashować najnowszą wersję OpenKeben BK7238.
Miałem trochę problemów z uzyskaniem stabilnej szybkości transmisji, ponieważ zarówno kopia zapasowa, jak i flash nie powiodły się kilka razy.
Próbowałem wielu wolniejszych prędkości, ale ostatecznie prędkość 460800 wydawała się całkiem niezawodna.
Zauważyłem również, że początkowe kasowanie często kończyło się niepowodzeniem przy powyższej prędkości, a 115200 wydawało się działać lepiej (prawdopodobnie dlatego, że kasowanie wymaga więcej energii?).
Po skasowaniu firmware'u Tuya, wyższa prędkość wydawała się działać dobrze.
Wypróbowałem kilka nowszych wersji OpenBeken i wszystkie wydają się działać OK.
Prześledziłem płytę, aby określić piny używane do odpowiednich połączeń i znalazłem je w następujący sposób:
Odpowiedni szablon konfiguracji, którego używam to:
Aby sprawdzić, jak radzi sobie MCU Tuya, uruchomiłem urządzenie z nowym firmware.
Przy pierwszym uruchomieniu OpenBeken wszystko wydawało się w porządku - z wyjątkiem tego, że urządzenie uruchamiało się ponownie co około 60 sekund.
Zakładam, że jest to jakiś rodzaj restartu watchdoga albo w BK7238, albo w Tuya MCU.
Dodanie startDriver TuyaMCU naprawiło to.
Dziennik OpenBeken wyraźnie pokazywał wartości temperatury i wilgotności przesyłane z Tuya MCU.
Korzystając z tych danych, ustaliłem używane kanały.
Użyłem pliku autoexec.bat :
Interfejs OpenBeken zachowuje się zgodnie z oczekiwaniami przy tych ustawieniach, pokazując temperaturę i wilgotność.
MQTT
Po prawidłowym skonfigurowaniu MQTT mogłem zobaczyć odpowiednie tematy.
Następnie ustawiłem następujące flagi:
Flaga 2 - [MQTT] Broadcast self state every N (def: 60) seconds (opóźnienie konfigurowalne przez polecenia 'mqtt\_broadcastInterval' i 'mqtt\_broadcastItemsPerSec')
Flaga 10 - [MQTT] Rozgłaszanie własnego stanu przy połączeniu MQTT
Flaga 19 - [MQTT] Zawsze publikuj kanały używane przez TuyaMCU
Po tym Home Assistant MQTT discovery również działa dobrze.
Infra-Red
Na koniec przetestowałem możliwość wykrywania podczerwieni za pomocą prostego pilota kompatybilnego z NEC.
I byłem w stanie wysłać te same kody IR za pomocą:
Ustawiłem następujące flagi, aby wysłać IR z powrotem do Home Assistant:
Flaga 14 - [IR] Do MQTT publish (RAW STRING) dla przychodzących danych IR
Flaga 22 - [IR] Do MQTT publish (format Tasmota JSON) dla przychodzących danych IR
Oba ustawienia działają dobrze zarówno z surowym, jak i JSON przesyłanym jako temat / ładunek MQTT.
Nie testowałem jeszcze wysyłania IR z Home Assistant, ale zakładam, że powinno to działać OK.
Podsumowanie
To był mój pierwszy raz, kiedy korzystałem z Open Beken.
Byłem pod wrażeniem łatwości konfiguracji tego urządzenia.
Od dawna korzystam z ESPHome dla ESP8266 i ESP32 - ale ESPTiny nie obsługuje BK7238 (jeszcze?).
Open Beken zapewnia tę obsługę i pozwala mi korzystać z większej różnorodności gotowych urządzeń.
Wielkie podziękowania dla twórców.
Kolejne kroki
Dla mnie wisienką na torcie byłoby uruchomienie MQTT przez TSL na tym urządzeniu, co pozwoliłoby mi używać go w zdalnych lokalizacjach.
Moje badania pokazują, że BK7238 powinien mieć wystarczającą pojemność, aby to zrobić.
Byłem w stanie zbudować własną kopię oprogramowania Open Beken lokalnie, ale zmagam się z włączeniem opcji TLS.
Zobacz mój inny post na ten temat.
Mam też niedawno zakupioną S09, która jest moim kolejnym celem.
Chcę jednak móc korzystać z niego zdalnie, więc nie usunąłem jeszcze oprogramowania układowego Tuya, ponieważ dopóki nie uruchomię MQTT przez TSL, jest to moje jedyne rozwiązanie.
Wiele z powyższych informacji opiera się na świetnej pracy wykonanej już przez ludzi na tym forum, ale mam nadzieję, że dostarczyłem wystarczających informacji, aby pomóc innym w korzystaniu z najnowszej wersji tego urządzenia.
Dzięki
Hardware
To urządzenie zostało już omówione w wielu postach i znajduje się już w bazie danych teardown.
Jednak jak widać na zdjęciach, moje urządzenie wydaje się być nową wersją, która wykorzystuje procesor T1-3S - czyli BK7238.
W przypadku oryginalnego jailbreaka najpierw próbowałem Tuya Cloudcutter na wszelki wypadek - ale bezskutecznie.
Byłbym zdumiony, gdyby nie został załatany, aby to zablokować.
Jednak próba oparta na UART była dość prosta.
Odpowiednie piny dla połączenia UART to:
| UART | MCU |
| RX | TX1 (16) |
| TX | RX1 (15) |
| GND | GND (9) |
Ponieważ urządzenie jest zasilane przez USB-C, nie ma potrzeby podłączania szyny 3,3 V - wystarczy podłączyć je do zasilania USB-C.
Firmware
Najnowszy BK7231GUIFlashTool działał dobrze, aby wykonać kopię zapasową oprogramowania układowego i przeflashować najnowszą wersję OpenKeben BK7238.
Miałem trochę problemów z uzyskaniem stabilnej szybkości transmisji, ponieważ zarówno kopia zapasowa, jak i flash nie powiodły się kilka razy.
Próbowałem wielu wolniejszych prędkości, ale ostatecznie prędkość 460800 wydawała się całkiem niezawodna.
Zauważyłem również, że początkowe kasowanie często kończyło się niepowodzeniem przy powyższej prędkości, a 115200 wydawało się działać lepiej (prawdopodobnie dlatego, że kasowanie wymaga więcej energii?).
Po skasowaniu firmware'u Tuya, wyższa prędkość wydawała się działać dobrze.
Wypróbowałem kilka nowszych wersji OpenBeken i wszystkie wydają się działać OK.
Prześledziłem płytę, aby określić piny używane do odpowiednich połączeń i znalazłem je w następujący sposób:
| Physical Pin | MCU Pin Name | Function | Connected do |
| 13 | P24 | GPIO\_24 / PWM4 | LED 8 / WiFi/Para |
| 14 | P26 | GPIO\_26 / PWM5 | Odbiornik podczerwieni |
| 5 | P6 | GPIO\_06 / PWM0 | Nadajnik podczerwieni |
| 7 | P9 | GPIO\_09 / PWM3 | Przycisk |
Odpowiedni szablon konfiguracji, którego używam to:
Kod: JSON
Aby sprawdzić, jak radzi sobie MCU Tuya, uruchomiłem urządzenie z nowym firmware.
Przy pierwszym uruchomieniu OpenBeken wszystko wydawało się w porządku - z wyjątkiem tego, że urządzenie uruchamiało się ponownie co około 60 sekund.
Zakładam, że jest to jakiś rodzaj restartu watchdoga albo w BK7238, albo w Tuya MCU.
Dodanie startDriver TuyaMCU naprawiło to.
Dziennik OpenBeken wyraźnie pokazywał wartości temperatury i wilgotności przesyłane z Tuya MCU.
Korzystając z tych danych, ustaliłem używane kanały.
Użyłem pliku autoexec.bat :
startDriver TuyaMCU
// set TuyaMCU default wifi state 0x04, which means "paired",
// because some TuyaMCU MCUs will not report all data
// unless they think they are connected to cloud
tuyaMcu\_defWiFiState 4
startDriver NTP
// dpID 1 is temperature div 10
setChannelType 1 temperature\_div10
linkTuyaMCUOutputToChannel 101 val 1
// dpID 2 is % humidity
setChannelType 2 Humidity
linkTuyaMCUOutputToChannel 102 val 2
REKLAMA
Interfejs OpenBeken zachowuje się zgodnie z oczekiwaniami przy tych ustawieniach, pokazując temperaturę i wilgotność.
MQTT
Po prawidłowym skonfigurowaniu MQTT mogłem zobaczyć odpowiednie tematy.
Następnie ustawiłem następujące flagi:
Flaga 2 - [MQTT] Broadcast self state every N (def: 60) seconds (opóźnienie konfigurowalne przez polecenia 'mqtt\_broadcastInterval' i 'mqtt\_broadcastItemsPerSec')
Flaga 10 - [MQTT] Rozgłaszanie własnego stanu przy połączeniu MQTT
Flaga 19 - [MQTT] Zawsze publikuj kanały używane przez TuyaMCU
Po tym Home Assistant MQTT discovery również działa dobrze.
Infra-Red
Na koniec przetestowałem możliwość wykrywania podczerwieni za pomocą prostego pilota kompatybilnego z NEC.
I byłem w stanie wysłać te same kody IR za pomocą:
Ustawiłem następujące flagi, aby wysłać IR z powrotem do Home Assistant:
Flaga 14 - [IR] Do MQTT publish (RAW STRING) dla przychodzących danych IR
Flaga 22 - [IR] Do MQTT publish (format Tasmota JSON) dla przychodzących danych IR
Oba ustawienia działają dobrze zarówno z surowym, jak i JSON przesyłanym jako temat / ładunek MQTT.
Nie testowałem jeszcze wysyłania IR z Home Assistant, ale zakładam, że powinno to działać OK.
Podsumowanie
To był mój pierwszy raz, kiedy korzystałem z Open Beken.
Byłem pod wrażeniem łatwości konfiguracji tego urządzenia.
Od dawna korzystam z ESPHome dla ESP8266 i ESP32 - ale ESPTiny nie obsługuje BK7238 (jeszcze?).
Open Beken zapewnia tę obsługę i pozwala mi korzystać z większej różnorodności gotowych urządzeń.
Wielkie podziękowania dla twórców.
Kolejne kroki
Dla mnie wisienką na torcie byłoby uruchomienie MQTT przez TSL na tym urządzeniu, co pozwoliłoby mi używać go w zdalnych lokalizacjach.
Moje badania pokazują, że BK7238 powinien mieć wystarczającą pojemność, aby to zrobić.
Byłem w stanie zbudować własną kopię oprogramowania Open Beken lokalnie, ale zmagam się z włączeniem opcji TLS.
Zobacz mój inny post na ten temat.
Mam też niedawno zakupioną S09, która jest moim kolejnym celem.
Chcę jednak móc korzystać z niego zdalnie, więc nie usunąłem jeszcze oprogramowania układowego Tuya, ponieważ dopóki nie uruchomię MQTT przez TSL, jest to moje jedyne rozwiązanie.
Wiele z powyższych informacji opiera się na świetnej pracy wykonanej już przez ludzi na tym forum, ale mam nadzieję, że dostarczyłem wystarczających informacji, aby pomóc innym w korzystaniu z najnowszej wersji tego urządzenia.
Dzięki