To jest moje doświadczenie z flashowaniem oprogramowania układowego OpenBK na inteligentną wtyczkę KMC.
Obudowa musi być przyklejona z powrotem. W przeciwnym razie wyciągnięcie wtyczki z gniazdka ściennego pozostawi pustą obudowę w dłoni i odsłonięte przewody fazowe na gnieździe. Niebezpiecznie.
Bardzo dobry powód, aby preferować bezprzewodowe flashowanie tuya-cloudcutter (jeśli/dopóki nie będzie dostępne) zamiast demontażu w przypadku flashowania przewodowego.
Przykleiłem za pomocą kleju, który zadziałał dla mnie.
Urządzenie
KMC 30153. ,,Inteligentna mini wtyczka" o wartości znamionowej 15 A 125 V AC 60 Hz. Jednak nie takie mini. Podłączony do standardowego gniazdka z podwójnym gniazdem w USA nie pozwala na użycie drugiego gniazda z wtyczką z trzema bolcami (uziemioną). Dwuczęściowy by się zmieścił.
Kupiony od Amazonka .
Strona produktu: https://kmc.co/products/smart-plug-mini.
Otwarcie
Dość łatwe do zrobienia. Na obwodzie tylnej zaślepki znajdują się dwa proste segmenty. Użyłem do nich noża uniwersalnego, aby nieco podważyć tylną pokrywę. Potem ostrym, małym, płaskim śrubokrętem bez większego oporu wyrwał zakrętkę. Wydaje mi się, że nałożono trochę lekkiego kleju, ale nie jestem pewien. Nie złożyłem jeszcze wtyczki z powrotem, aby sprawdzić, czy nasadka zatrzaśnie się i pozostanie na swoim miejscu. Elementy wewnętrzne wysuwają się bez wysiłku. Kołek uziemiający to tylko przejście. Nie łączy się z płytą.
Znaleziono sprzęt
Chip: Beken BK7231N
Płytka: CB2S
Oprogramowanie układowe: 1.1.8, zgodnie z raportem aplikacji Smart Life.
Błyskowy
Szybki przegląd moich kroków.
1. Przygotowano platformę do flashowania urządzenia przez port szeregowy.
2. Nie działało. Podczas rozwiązywania problemów...
3. Natknąłem się tuya-cloudcutter . To się udało.
1. Flashowanie konfiguracji szeregowej.
Wlutowane przewody płytki stykowej do modułu CB2S. Na zdjęciu:
* Czerwony - 3V3
* Biały - masa
* Zielony -- RX1
* Niebieski -- TX1
Miałem pomarańczowy przewód uziemiający, którego użyłem do zresetowania chipa do programowania.
Ja jestemza pomocą SparkFun FT231X , którego używałem wcześniej z układami ESP. Płytka zapewnia zasilanie 3,3 V.
2. Nieudane próby flashowania.
korzystałem z program uart narzędzie. Przez pierwsze 20 prób doszedłem do wniosku, że czas resetowania jest wyłączony. Po kolejnych 40 próbach zdecydowałem się zbadać sprawę.
Problem polega na tym, że samotny przycisk na urządzeniu jest podłączony do styku TX1 w CB2S. W ten sposób:
W efekcie TX1 jest podciągany, co uniemożliwiłoby prawidłową komunikację szeregową. Rozwiązaniem byłoby odłączenie pinu TX1 od przełącznika. Mój plan polegał na wycięciu ścieżki zaznaczonej na zdjęciu poniżej kolorem pomarańczowym, która odpowiada pomarańczowemu połączeniu na schemacie powyżej. Po flashowaniu ponownie połączyłbym dwa punkty kawałkiem drutu, aby przywrócić funkcjonalność przycisku.
Ponownie nie zrobiłem powyższego, ponieważ znalazłem tuya-cloudcutter.
3. Flashowanie za pomocą programu tuya-cloudcutter.
To narzędzie świetnie się u mnie sprawdziło. Opiera się na wykorzystaniu luki w zabezpieczeniach. Szczegóły są doskonała lektura - Zalecana. To oczywiście oznacza, że nowsze oprogramowanie układowe może mieć naprawioną lukę, a to narzędzie nie będzie już działać.
Podczas uruchamiania narzędzie poprosi o urządzenie docelowe. Nie mogłem znaleźć pasującej wtyczki KMC. Moje wybory (oznaczone znakiem >) do monitów były następujące:
Wybrałem LSPA7 na podstawie zdjęć z sieci, które wyglądały jak wtyczka KMC. LSPA7 jest już objęty Tutaj . Jest to wtyczka brytyjska i nie korzysta z układu BK7231N. Niemniej jednak powyższe wybory zadziałały na mojej wtyczce KMC.
Z narzędzia można korzystać bez otwierania urządzenia, bez przewodów, lutowania czy cięcia. Miałem już to otwarte i na platformie, więc miałem tylko zasilanie do CB2S z FT231X. Zwykle podłączasz go do gniazdka ściennego i wszystko odbywa się bezprzewodowo/OTA. Z drugiej strony może być konieczne wprowadzenie pewnych poprawek w środowisku, aby narzędzie działało. Widzieć Czkawka DNS .
Migające notatki
Kilka uwag na temat mojego procesu po wykonaniu wszystkich czterech wtyczek, które mam.
(1) Tryb AP.
Tuya-cloudcutter wymaga przełączenia wtyczki w tryb AP. Oferuje dwa sposoby na zrobienie tego, a ja użyłem tego:
W moim przypadku dla tej wtyczki przy "szybkim miganiu" dioda świeci jaśniej i mruga około 2 razy na sekundę. (Początkowo myślałem, że to ,,wolne" mruganie). Przy miganiu ,,wolnym" wtyczka nie miga wcale. Dzięki temu mój proces przełączania wtyczki w tryb AP był następujący:
- Wyłącz.
- Poczekaj 5 sekund.
- Zasilanie włączone.
- Poczekaj 5 sekund.
- Naciśnij i przytrzymaj przycisk (przez około 10 sekund), aż dioda LED zamiga jasno 3 - 4 razy.
- Puść przycisk.
- Naciśnij i przytrzymaj przycisk (przez około 10 sekund), aż dioda przestanie migać.
(2) Listwa zasilająca.
Do pełnego flashowania oprogramowania układowego tuya-cloudcutter wymaga przełączenia wtyczki w tryb AP cztery (4) razy. Wyłączanie/włączanie wtyczki jest łatwiejsze, gdy jest ona podłączona do listwy zasilającej z włącznikiem/wyłącznikiem. Wtyczka jest dość pewnie trzymana w moim gniazdku ściennym. W pewnym momencie obawiałem się, że oddzielę obudowę od tylnej płyty wtyczki, odsłaniając jej wnętrzności. Powinni byli użyć śrub do tylnej płyty lub zrobić jedną część z tyłu ze skorupą, a przód mieć przyklejoną zaślepkę.
(3) Profil urządzenia.
Aby w pełni sflashować oprogramowanie OpenBK, narzędzie musi zostać uruchomione dwukrotnie. (Za każdym razem wykonując tryb AP dwa razy.) Pierwsze uruchomienie było następujące:
Dzięki temu urządzenie będzie można flashować za pomocą niestandardowego oprogramowania układowego.
A potem drugi bieg, aby sflashować oprogramowanie układowe:
Przy pierwszym uruchomieniu skryptu przeszedłem przez opisaną wcześniej opcję wyboru urządzenia. Skrypt zapisze te wybory w profilu. Przy kolejnych uruchomieniach skryptu po prostu używam tego profilu, gdy tylko pojawi się monit. Przykład:
(4) Plik oprogramowania układowego.
Ta część jest w dokumentacji. Ale ponieważ nawaliłem za pierwszym razem, napiszę to tutaj dla mojego przyszłego mnie.
tuya-cloudcutter współpracuje z UG wpisz plik bin. Tak mówi pod Aktywa tabela. Jest identyfikowany jako użycie CCtr.
Wziąłem (wówczas aktualny) plik OpenBK7231N_UG_1.15.485.bin i umieściłem go w moim lokalnym folderze /git/tuya-cloudcutter/custom-firmare. Przy drugim (bez parametrów) uruchomieniu skrypt wybiera go stamtąd, a jego monity wyglądają następująco:
(5) Docker, DNS, Wi-Fi
Drobne rzeczy, które równie dobrze mogą być osobliwościami mojego laptopa (Lenovo Ideapad) lub systemu operacyjnego (Linux Mint 20).
Obrazy platformy Docker wygasają. Gdy doker to wykryje, odbuduje się, a skrypt będzie działał dłużej. Robienie wielu urządzeń jeden po drugim najprawdopodobniej spowoduje ponowne użycie obrazu i rzeczy szybko.
Zobacz wspomniane wcześniej Czkawka DNS . Jest to z pewnością zależne od systemu operacyjnego.
Po każdym uruchomieniu skryptu mój laptop był odłączony od Wi-Fi.
Zidentyfikowane połączenia pinów
TX1 -- Przycisk
P26 - Przekaźnik
P08 - Dioda LED
tkk
Cytat:Nie złożyłem jeszcze wtyczki z powrotem, aby sprawdzić, czy nasadka zatrzaśnie się i pozostanie na swoim miejscu.
Obudowa musi być przyklejona z powrotem. W przeciwnym razie wyciągnięcie wtyczki z gniazdka ściennego pozostawi pustą obudowę w dłoni i odsłonięte przewody fazowe na gnieździe. Niebezpiecznie.
Bardzo dobry powód, aby preferować bezprzewodowe flashowanie tuya-cloudcutter (jeśli/dopóki nie będzie dostępne) zamiast demontażu w przypadku flashowania przewodowego.
Przykleiłem za pomocą kleju, który zadziałał dla mnie.
Urządzenie
KMC 30153. ,,Inteligentna mini wtyczka" o wartości znamionowej 15 A 125 V AC 60 Hz. Jednak nie takie mini. Podłączony do standardowego gniazdka z podwójnym gniazdem w USA nie pozwala na użycie drugiego gniazda z wtyczką z trzema bolcami (uziemioną). Dwuczęściowy by się zmieścił.
Kupiony od Amazonka .
Strona produktu: https://kmc.co/products/smart-plug-mini.
Otwarcie
Dość łatwe do zrobienia. Na obwodzie tylnej zaślepki znajdują się dwa proste segmenty. Użyłem do nich noża uniwersalnego, aby nieco podważyć tylną pokrywę. Potem ostrym, małym, płaskim śrubokrętem bez większego oporu wyrwał zakrętkę. Wydaje mi się, że nałożono trochę lekkiego kleju, ale nie jestem pewien. Nie złożyłem jeszcze wtyczki z powrotem, aby sprawdzić, czy nasadka zatrzaśnie się i pozostanie na swoim miejscu. Elementy wewnętrzne wysuwają się bez wysiłku. Kołek uziemiający to tylko przejście. Nie łączy się z płytą.
Znaleziono sprzęt
Chip: Beken BK7231N
Płytka: CB2S
Oprogramowanie układowe: 1.1.8, zgodnie z raportem aplikacji Smart Life.
Błyskowy
Szybki przegląd moich kroków.
1. Przygotowano platformę do flashowania urządzenia przez port szeregowy.
2. Nie działało. Podczas rozwiązywania problemów...
3. Natknąłem się tuya-cloudcutter . To się udało.
1. Flashowanie konfiguracji szeregowej.
Wlutowane przewody płytki stykowej do modułu CB2S. Na zdjęciu:
* Czerwony - 3V3
* Biały - masa
* Zielony -- RX1
* Niebieski -- TX1
Miałem pomarańczowy przewód uziemiający, którego użyłem do zresetowania chipa do programowania.
Ja jestemza pomocą SparkFun FT231X , którego używałem wcześniej z układami ESP. Płytka zapewnia zasilanie 3,3 V.
2. Nieudane próby flashowania.
korzystałem z program uart narzędzie. Przez pierwsze 20 prób doszedłem do wniosku, że czas resetowania jest wyłączony. Po kolejnych 40 próbach zdecydowałem się zbadać sprawę.
Problem polega na tym, że samotny przycisk na urządzeniu jest podłączony do styku TX1 w CB2S. W ten sposób:
W efekcie TX1 jest podciągany, co uniemożliwiłoby prawidłową komunikację szeregową. Rozwiązaniem byłoby odłączenie pinu TX1 od przełącznika. Mój plan polegał na wycięciu ścieżki zaznaczonej na zdjęciu poniżej kolorem pomarańczowym, która odpowiada pomarańczowemu połączeniu na schemacie powyżej. Po flashowaniu ponownie połączyłbym dwa punkty kawałkiem drutu, aby przywrócić funkcjonalność przycisku.
Ponownie nie zrobiłem powyższego, ponieważ znalazłem tuya-cloudcutter.
3. Flashowanie za pomocą programu tuya-cloudcutter.
To narzędzie świetnie się u mnie sprawdziło. Opiera się na wykorzystaniu luki w zabezpieczeniach. Szczegóły są doskonała lektura - Zalecana. To oczywiście oznacza, że nowsze oprogramowanie układowe może mieć naprawioną lukę, a to narzędzie nie będzie już działać.
Podczas uruchamiania narzędzie poprosi o urządzenie docelowe. Nie mogłem znaleźć pasującej wtyczki KMC. Moje wybory (oznaczone znakiem >) do monitów były następujące:
Cytat:
Ładowanie opcji, proszę czekać...
[?] Jak chcesz wybrać urządzenie?:
Według nazwy producenta/urządzenia
> Według wersji i nazwy oprogramowania układowego
Z profili urządzeń (tj. profilu niestandardowego)
[?] Wybierz wersję oprogramowania i nazwę:
1.1.71 -- BK7231T / bk7231t_common_user_config_ty
> 1.1.8 -- BK7231N / oem_bk7231n_plug
1.1.8 -- BK7231T / oem_bk7231s_rnd_switch
1.1.80 -- BK7231T / bk7231t_common_user_config_ty
[?] Wybierz markę swojego urządzenia:
Atarm
Aubess
Baytion
Rozum
QNCX
Topgreener
> Ogólny Tuya
[?] Wybierz numer artykułu swojego urządzenia:
Brytyjska inteligentna wtyczka BSD48 16A
> Wtyczka LSPA7
Slug wybranego urządzenia: tuya-generic-lspa7-plug
Wybrany profil: oem-bk7231n-plug-1.1.8-sdk-2.3.1-40.00
Wybrałem LSPA7 na podstawie zdjęć z sieci, które wyglądały jak wtyczka KMC. LSPA7 jest już objęty Tutaj . Jest to wtyczka brytyjska i nie korzysta z układu BK7231N. Niemniej jednak powyższe wybory zadziałały na mojej wtyczce KMC.
Z narzędzia można korzystać bez otwierania urządzenia, bez przewodów, lutowania czy cięcia. Miałem już to otwarte i na platformie, więc miałem tylko zasilanie do CB2S z FT231X. Zwykle podłączasz go do gniazdka ściennego i wszystko odbywa się bezprzewodowo/OTA. Z drugiej strony może być konieczne wprowadzenie pewnych poprawek w środowisku, aby narzędzie działało. Widzieć Czkawka DNS .
Migające notatki
Kilka uwag na temat mojego procesu po wykonaniu wszystkich czterech wtyczek, które mam.
(1) Tryb AP.
Tuya-cloudcutter wymaga przełączenia wtyczki w tryb AP. Oferuje dwa sposoby na zrobienie tego, a ja użyłem tego:
Cytat:Naciśnij długo przycisk zasilania/resetowania na urządzeniu, aż zacznie szybko migać, a następnie zwolnij go i ponownie przytrzymaj przycisk zasilania/resetowania, aż urządzenie zacznie wolno migać.
W moim przypadku dla tej wtyczki przy "szybkim miganiu" dioda świeci jaśniej i mruga około 2 razy na sekundę. (Początkowo myślałem, że to ,,wolne" mruganie). Przy miganiu ,,wolnym" wtyczka nie miga wcale. Dzięki temu mój proces przełączania wtyczki w tryb AP był następujący:
- Wyłącz.
- Poczekaj 5 sekund.
- Zasilanie włączone.
- Poczekaj 5 sekund.
- Naciśnij i przytrzymaj przycisk (przez około 10 sekund), aż dioda LED zamiga jasno 3 - 4 razy.
- Puść przycisk.
- Naciśnij i przytrzymaj przycisk (przez około 10 sekund), aż dioda przestanie migać.
(2) Listwa zasilająca.
Do pełnego flashowania oprogramowania układowego tuya-cloudcutter wymaga przełączenia wtyczki w tryb AP cztery (4) razy. Wyłączanie/włączanie wtyczki jest łatwiejsze, gdy jest ona podłączona do listwy zasilającej z włącznikiem/wyłącznikiem. Wtyczka jest dość pewnie trzymana w moim gniazdku ściennym. W pewnym momencie obawiałem się, że oddzielę obudowę od tylnej płyty wtyczki, odsłaniając jej wnętrzności. Powinni byli użyć śrub do tylnej płyty lub zrobić jedną część z tyłu ze skorupą, a przód mieć przyklejoną zaślepkę.
(3) Profil urządzenia.
Aby w pełni sflashować oprogramowanie OpenBK, narzędzie musi zostać uruchomione dwukrotnie. (Za każdym razem wykonując tryb AP dwa razy.) Pierwsze uruchomienie było następujące:
Cytat:sudo ./tuya-cloudcutter.sh -s mój-domowy-ssid tajne-word-for-ssid
Dzięki temu urządzenie będzie można flashować za pomocą niestandardowego oprogramowania układowego.
A potem drugi bieg, aby sflashować oprogramowanie układowe:
Cytat:sudo ./tuya-cloudcutter.sh
Przy pierwszym uruchomieniu skryptu przeszedłem przez opisaną wcześniej opcję wyboru urządzenia. Skrypt zapisze te wybory w profilu. Przy kolejnych uruchomieniach skryptu po prostu używam tego profilu, gdy tylko pojawi się monit. Przykład:
Cytat:
[?] Jak chcesz wybrać urządzenie?:
Według nazwy producenta/urządzenia
Według wersji i nazwy oprogramowania układowego
> Z profili urządzeń (tj. profilu niestandardowego)
[?] Wybierz profil urządzenia:
> wtyczka tuya-generic-lspa7
Slug wybranego urządzenia: tuya-generic-lspa7-plug
Wybrany profil: oem-bk7231n-plug-1.1.8-sdk-2.3.1-40.00
(4) Plik oprogramowania układowego.
Ta część jest w dokumentacji. Ale ponieważ nawaliłem za pierwszym razem, napiszę to tutaj dla mojego przyszłego mnie.
tuya-cloudcutter współpracuje z UG wpisz plik bin. Tak mówi pod Aktywa tabela. Jest identyfikowany jako użycie CCtr.
Wziąłem (wówczas aktualny) plik OpenBK7231N_UG_1.15.485.bin i umieściłem go w moim lokalnym folderze /git/tuya-cloudcutter/custom-firmare. Przy drugim (bez parametrów) uruchomieniu skrypt wybiera go stamtąd, a jego monity wyglądają następująco:
Cytat:
Pomyślnie zbudowano obraz dokera
1) Odłącz się od chmury i uruchom lokalnie oprogramowanie Tuya
2) Flashowanie oprogramowania firm trzecich
[?] Wybierz żądaną operację [1/2]: 2
Ładowanie opcji, proszę czekać...
[?] Wybierz niestandardowy plik oprogramowania układowego:
> OpenBK7231N_UG_1.15.485.bin
[?] Jak chcesz wybrać urządzenie?:
Według nazwy producenta/urządzenia
Według wersji i nazwy oprogramowania układowego
> Z profili urządzeń (tj. profilu niestandardowego)
[?] Wybierz profil urządzenia:
> wtyczka tuya-generic-lspa7
Slug wybranego urządzenia: tuya-generic-lspa7-plug
Wybrany profil: oem-bk7231n-plug-1.1.8-sdk-2.3.1-40.00
Wybrane oprogramowanie układowe: /work/custom-firmware/OpenBK7231N_UG_1.15.485.bin
(5) Docker, DNS, Wi-Fi
Drobne rzeczy, które równie dobrze mogą być osobliwościami mojego laptopa (Lenovo Ideapad) lub systemu operacyjnego (Linux Mint 20).
Obrazy platformy Docker wygasają. Gdy doker to wykryje, odbuduje się, a skrypt będzie działał dłużej. Robienie wielu urządzeń jeden po drugim najprawdopodobniej spowoduje ponowne użycie obrazu i rzeczy szybko.
Zobacz wspomniane wcześniej Czkawka DNS . Jest to z pewnością zależne od systemu operacyjnego.
Po każdym uruchomieniu skryptu mój laptop był odłączony od Wi-Fi.
Zidentyfikowane połączenia pinów
TX1 -- Przycisk
P26 - Przekaźnik
P08 - Dioda LED
tkk
Fajne? Ranking DIY
