Elektroda.pl
Elektroda.pl
X

Search our partners

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

Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.

p.kaczmarek2 24 Apr 2022 16:23 2652 28
  • Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Witajcie moi drodzy.
    Przedstawię tutaj mój zamiennik Tasmoty przeznaczony na platformę BL602 produkcji Bouffalo Lab, oferujący m. in. możliwość sparowania naszego urządzenia z Home Assistant poprzez MQTT. Pokażę tu, jak można łatwo wgrać wsad na BL602 za pomocą prostego konwertera USB na UART oraz również opiszę proces kompilacji SDK dla osób, które samodzielnie chciałyby programować tę platformę. Dodatkowo przedstawię dwa ciekawe demka z SDK BL602.

    Po co programować BL602?
    Motywacja jest taka sama jak w przypadku wcześniej omawianych przeze mnie platform. Własne firmware pozwala uwolnić produkt IoT od serwerów producenta, uniknąć ewentualnej utraty kontroli nad tym produktem gdy te serwery upadną, uniknąć śledzenia i zbierania danych przez producenta oraz dodatkowo umożliwia połączyć produkty różnych producentów w jeden ekosystem. To co tutaj tworzę to taka "Tasmota" dla innych platform.

    Użyty moduł z BL602
    Moduły z BL602 (lub pokrewnymi) układami można kupić w relatywnie niskich cenach, ale główną zasadą mojego działania jest "uwalnianie" gotowych produktów IoT z zamkniętym programowaniem ich producentów, więc do tego tematu też takiego produktu użyłem.
    Za poligon doświadczalny posłużył mi pasek LED RGB z pilotem IR i WiFi - MWIR-RGB Magic Home Pro.
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Szczegóły opisałem w dziale "Wnętrza urządzeń":
    https://www.elektroda.pl/rtvforum/topic3881416.html
    Na pokładzie tego sterownika jest BL602 oraz 3 tranzystory sterowane przez PWM:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Szkic połączeń:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.

    Co to za firmware?
    Repozytorium firmware znajduje się tutaj:
    https://github.com/openshwprojects/OpenBK7231T_App
    Moje firmware dla BL602 to zasadniczo port mojego OpenBeken, a właściwie OpenBeken przerobiłem tak, że jest teraz wieloplatformową aplikacją wspierającą układy BK7231T, BK7231N, XR809 i BL602.
    Inicjatywa zapoczątkowana została w tych tematach:
    WB2S/BK7231 Tutorial - tworzymy własny firmware - UDP/TCP/HTTP/MQTT
    [BK7231T] Mój serwer HTTP, konfigurator, wsparcie MQTT z Home Assistant

    Dla użytkownika - pobranie skompilowanego wsadu OpenBL602/OpenBeken dla BL602
    Moje repozytorium Github posiada skrypt automatycznie kompilujący online pliki binarne dla platform BK7231N, BK7231T i XR809, niestety BL602 nie jest jeszcze przez niego wspierany.
    Z tego też powodu wsad pobrać należy z folderu releases_bl602:
    https://github.com/openshwprojects/OpenBK7231T_App/tree/main/bl602_release
    W przyszłości być może się to zmieni i pobierać wsad będziemy z zakładki "Relases" po prawej stronie.

    Dla użytkownika - podłączenie hardware
    Potrzebny jest konwerter USB na UART o poziomach logicznych 3.3V, rezystor 10k, być może regulator LDO 3.3V (jak nie ma go na naszej płytce) oraz przewody.
    Podłączamy:
    - RX z modułu do TX UART
    - TX z modułu do RX UART
    - BOOT z modułu do 10k rezystora do zasilania, ale zostawiamy rozwarte (to podłączamy tylko na czas programowania)
    - masa do masy
    - zasilanie 3.3V (jeśli na płytce jest LDO, to możemy na jego wejście dać 5V z USB)
    Szczegóły tutaj:
    https://www.elektroda.pl/rtvforum/topic3881416.html
    U mnie wygląda to tak:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    UWAGA: Jeśli podłączycie zasilanie 5V z USB na wejście LDO (lub przetwornicy step down) na płytce z BL602 a potem podłączycie zasilacz 12V, to uszkodzicie sobie co najmniej przejściówkę USB na UART a być może też i samo USB... na czas programowania należy odłączyć zewnętrzne zasilanie.



    Dla użytkownika - wgrywanie wsadu
    Aby wgrać wsad musimy kolejno:
    1. Podłączyć sygnał BOOT do zasilania poprzez rezystor 10k
    2. Odłączyć i podłączyć ponownie zasilanie (wykonać reboot z sygnałem BOOT podniesionym do zasilania)
    3. W BLDevCube.exe wybieramy kolejno pliki:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    4. Upewniamy się, że port UART nie jest w użyciu (np. czy nie mamy go otwartego w RealTerm - jeśli tak, to zamykamy)
    5. Klikamy "Download" (co oznacza "wyślij wsad na BL602"):
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Gotowe!
    Teraz, aby uruchomić wsad, odłączamy BOOT (zostawiamy go luzem) i odłączamy na chwilę zasilanie, po czym je przywracamy.
    Logi urządzenia będą wciąż dostępne z baud = 2000000 (tak jak w demkach z SDK).


    Dla użytkownika - konfiguracja OpenBL602
    Konfiguracja portu mojego wsadu na BL602 jest analogiczna do konfiguracji opisanej w tych tematach:
    - Qiachip Smart Switch - BK7231N/CB2S - wnętrze, programowanie
    - Ogrodowy podwójny przekaźnik Tuya CCWFIO232PK - BK7231T - programowanie
    Warto też zapoznać się z tematem:
    Tutorial Home Assistant - konfiguracja, WiFi, MQTT, Zigbee, Tasmota
    Po ponownym uruchomieniu urządzenia powinien pojawić się otwarty Access Point o nazwie w stylu OpenBL602_1A1B2C3D4E5:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Podłączamy się do niego i otwieramy stronę o adresie 192.168.4.1. Konfigurujemy tak jak Tasmotę (podajemy namiary na nasze WiFi, ustawiamy role pinów, podajemy namiary na MQTT...
    W przypadku tego konkretnego paska LED RGB role wyprowadzeń są następujące:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    W bieżącej wersji moje firmware nie wspiera pilota IR, który posiada ten pasek.

    Dla użytkownika - parowanie z Home Assistant
    W panelu OpenBL602 jest opcja "Generate Home Assistant Config", ale nie zawsze ona wystarcza. W przypadku kontrolera RGB opcja ta "nie wie", że trzeba połączyć trzy PWM w jeden kontroler koloru.
    Z tego też powodu, polecam wziąć z niej tylko nazwę urządzenia, np obl42DACAB0 i wsadzić ręcznie do tego szablonu:
    Code: yaml
    Log in, to see the code

    Zapisujemy to w configuration.yaml. Jeśli mamy kilka świateł, to prefiks light z dwukropkiem umieszczamy raz.
    Po restarcie Home Assistant możemy już sterować paskiem:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant. Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant. Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant. Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Bieżąca wersja ma pewien mankament - po ponownym uruchomieniu Home Assistant nie odczytuje bieżącej wartości jasności i koloru. Będzie to uzupełniane, nie wpływa to jednak na sterowanie tym paskiem.

    Dla programisty - instalacja MSys2
    Nie trzeba samodzielnie kompilować firmware, bo udostępniam gotowe pliki binarne. Ale jeśli chcemy samodzielnie modyfikować mój kod, to jednak trzeba będzie nauczyć się kompilować. Do kompilacji firmware potrzebny będzie MSys2. Należy go pobrać i zainstalować stąd:
    https://www.msys2.org/#installation
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Windows może blokować MSys - należy mimo wszystko kontynuować.
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Wybieramy katalog instalacji:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Po instalacji uruchamiamy msys2. Trzeba go jeszcze zaktualizować.
    Wykonujemy komendę:
    pacman -Syu
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Potem też pacman -Su
    Potem pacman -S make
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.

    Dla programisty - pobranie SDK i kompilacja projektu
    Tutaj niestety sprawa się komplikuje. Oficjalne SDK jest tutaj:
    https://github.com/pine64/bl_iot_sdk
    Na dzień dzisiejszy (kwiecień 2022) jednak ostatnia wersja SDK z Githuba nie kompiluje się poprawnie, należy użyć starszej, a dokładniej wersji b3898a520d6e5a34a5f4de8241fcc1c1d3b071b9.
    Problemy z kompilacją najnowszej wersji mają też inne osoby niż ja:
    https://github.com/pine64/bl_iot_sdk/issues/94
    UWAGA: Jeśli pobieracie SDK z myślą o użyciu go do kompilacji mojego projektu, to należy pobrać moją zmodyfikowaną wersję stąd:
    https://github.com/openshwprojects/OpenBL602
    Wynika to stąd, że główna aplikacja OpenBK (czy tam OpenBL), zwana jako App, jest współdzielona między różnymi SDK różnych platform a same te SDK zawierają podstawy projektów w których te główne App się kompiluje.
    Projekty w SDK znajdują się w folderze customer_app:
    Oto ich lista:
    Code:

    benchmark_security_aes
    bl602_boot2
    bl602_boot2_mini
    bl602_demo_event
    bl602_demo_joylink
    bl602_demo_nano
    bl602_demo_noconnectivity
    bl602_demo_wifi
    bl602_huawei_cloud
    sdk_app_audio_udp
    sdk_app_ble_sync
    sdk_app_blog
    sdk_app_cli
    sdk_app_cronalarm
    sdk_app_dac
    sdk_app_easyflash
    sdk_app_event
    sdk_app_fdt
    sdk_app_gpio
    sdk_app_hbnram
    sdk_app_heap
    sdk_app_helloworld
    sdk_app_http_client_socket
    sdk_app_http_client_tcp
    sdk_app_i2c
    sdk_app_ir
    sdk_app_mdns
    sdk_app_pwm
    sdk_app_romfs
    sdk_app_spi_pdm
    sdk_app_spi_wave
    sdk_app_timer
    sdk_app_uart_ctl
    sdk_app_uart_echo

    Kompilacja sprowadza się do przejścia do folderu danego projektu i wywołania ./genromap
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Trzeba jeszcze wywołać:
    - export BL60X_SDK_PATH=~/your_path_to_Sdk/
    - export CONFIG_CHIP_NAME=BL602
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Ale z mojego doświadczenia wynika, że zazwyczaj nie jest to potrzebne a ścieżkę sam skrypt znajduje poprzez założenie, że SDK jest dwa katalogi wyżej niż budowany projekt. Z kolei CONFIG_CHIP_NAME wymagany jest jak chcemy wykonać komendę "clean" projektu, by usunąć pośrednie pliki .o generowane przez kompilator, które potem są łączone przez linkera.
    Wygenerowane pliki znajdują się w folderze build_out, przykładowo: customer_app\bl602_sharedApp\build_out


    Dla programisty - Demko sdk_app_gpio
    Skoro możemy już samodzielnie kompilować, to pora potestować demka funkcjonalności zapewnione nam przez twórców SDK.
    Jedno z ciekawszych demek to sdk_app_gpio.
    Demko sdk_app_gpio pozwala konfigurować piny GPIO z poziomu konsoli UART. Składnia komendy to "gpio-func <indeksPinu> <trybWejścia> <pullup> <pulldown>".
    Przykładowo, komenda:
    Code:
    gpio-func 8 0 0 0
    

    konfiguruje GPIO pin 8 jako wyjście bez rezystorów pull up/down.
    Baud demka to 2000000.
    Tak demko się prezentuje po uruchomieniu:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Po wysłaniu komendy sterowania pinem:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Potem można ustawić na tym pinie stan niski lub wysoki za pomocą:
    Code:

    gpio-set <pin_index> <value>

    W przypadku pinów wejścia, mamy analogiczną komendę UART gpio-get:
    Code:

    gpio-get <pin_index>

    Dla ciekawskich - implementacja gpio-func wygląda tak:
    Code: c
    Log in, to see the code

    Z kolei ustawianie pinu:
    Code: c
    Log in, to see the code

    Pobieranie jego stanu:
    Code: c
    Log in, to see the code


    Dla programisty - Demko bl602_demo_wifi
    Drugim ciekawym demkiem z SDK jest program pokazujący działanie WiFi. Tutaj również sterujemy nim poprzez komendy UART. Baud tak jak poprzednio.
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Na początek warto poznać całą listę komend poprzez dość oczywistą komendę help:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Wypróbujmy wifi_ap_start:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    wifi_scan również działa. Mamy cały kod tego demka więc możemy podejrzeć co i jak jest zrealizowane.

    Podsumowanie
    Kolejna platforma uwolniona! Zacząłem od uwolnienia XR809, następnie zająłem się BK7231T i BK7231N. Teraz udało się uwolnić BL602. Następne w kolejce są już układy Realteka oraz W600, ale czy z nimi się też uda? Zobaczymy.
    W kolejce do programowania mam jeszcze żarówkę z BL602, ale nie sądzę, by były z tym problemy - na płytce z modułem WiFi są wymagane pady, czyli RX, TX oraz BOOT. Opisz umieszczę w dziale "wnętrza urządzeń".
    Jeśli chodzi o stabilność bieżącej wersji firmware dla BL602, to testowałem ją dwa dni łącznie z celowym wyłączaniem routera (sprawdzenie, czy złapie event disconnect i podłączy się ponownie) i problemów nie napotkałem, ale oczywiście będę dalej testować i naprawiać na bieżąco ewentualne problemy.
    Po szczegóły odnośnie projektu zapraszam na jego oficjalne repo:
    https://github.com/openshwprojects/OpenBK7231T_App
    PS: Jeśli znacie jakieś urządzenia IoT bądź podobne oparte o BL602 lub pokrewny układ dajcie znać - na bieżąco dodaję wsparcie nowych funkcjonalności do firmware i zbieram informacje co jak działa. Z popularniejszych, z tego co wiem, to przykładowo Sonoff 40 chyba z BL602 korzysta.

    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 
  • #2
    khoam
    Level 41  
    p.kaczmarek2 wrote:
    Z popularniejszych, z tego co wiem, to przykładowo Sonoff 40 chyba z BL602 korzysta.

    Możesz podać jakiś link do opisu tego modelu Sonoff? Nie mogę odnaleźć.
  • #3
    p.kaczmarek2
    Level 26  
    https://itead.cc/product/sonoff-iplug-series-wi-fi-smart-plug-s40-s40-lite/
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Minir3 też:
    https://notenoughtech.com/home-automation-review/sonoff-minir3/
    Quote:

    Unlike other Sonoff devices, Sonoff MINIR3 is not ESP based. At heart, we can find BL602/BL604 RISC-V WiFi & Bluetooth 5.0 LE SoC. A move to RISK-V is an interesting jump as the replacement for ESP8266 with a similar price point and better specification.

    It also means that anyone hoping to flash is, can’t rely on the usual toolchain used for ESP based devices. I have no doubt that thanks to RISK-V’s “opensourceness”, we will see appropriate tools to handle that, but if you are hoping to get one now with the intention of tasmotising it – you will be disappointed.
  • #4
    zgierzman
    Level 30  
    Piękne. Śledzę posty kolegi @p.kaczmarek2 i jestem pod dużym wrażeniem. Zintegrowanie produktów różnych chińskich producentów w jednym autorskim środowisku wymaga nie lada zaangażowania.
    Ale proszę, niech mi ktoś wyjaśni, jaka jest praktyczna wartość sterowania żarówką w kiblu przez internet?

    Rozumiem kontrolę nad systemami bezpieczeństwa - włamaniowym, czy pożarowym, ale możliwość zmiany koloru oświetlenia?

    Można zmienić kolor oświetlenia, albo wyłączyć lampę, nie ruszając się z kanapy. Ale wybranie właściwej aplikacji, przeklikanie się przez odpowiednie opcje i wybranie nastawy może trwać wielokrotnie dłużej niż kliknięcie fizycznego przycisku.
    Dla osób niepełnosprawnych, przykutych do łóżka, to jedyna opcja, ale dla teoretycznie pełnosprawnego użytkownika?
    Poświęcić 45 sekund na przyciemnienie oświetlenia przez komórkę, czy ruszyć cztery litery z kanapy i zrobić to w 15 sekund?
    No chyba, że dla kogoś taki wysiłek, i spalenie 10 kcal, to już ponad siły...
  • #5
    p.kaczmarek2
    Level 26  
    @zgierzman ciekawe pytanie zadałeś, bo paradoksalnie ja nie byłem użytkownikiem Smart Home dopóki nie zacząłem tego firwmare, a teraz mam specjalnie podpięte produkty z Beken byle by je testować a nie dlatego, że w praktyce używam, ale i tak spróbuję odpowiedzieć.

    Od docelowych użytkowników softu (zwłaszcza tych, którzy wspierają projekt np. wysłaniem produktów do testów) wiem o:
    - automatyzacjach (zarówno typu automatyczne gaszenie po czasie/lub braku aktywności, lub gaszenie wszystkiego, ew. zapalanie o danej porze światła)
    - pracy w grupach (jak mają kilka smart świateł w korytarzu większym, też często ściemnianych, to łączą je w grupy i ich stany są synchronizowane)
    - animacjach (jest do tego specjalny protokół gdzie każda RGB żarówka ma swoje ID i poprzez UDP się ustawia im kolor), przykładowo: https://www.youtube.com/watch?v=d0ow9qJT8Ak&ab_channel=KaufmanHomeAutomation
  • #6
    _Minims_
    Level 4  
    Witam,

    Dzięki za to jak na BL602.
    Spróbuję go użyć na moim MagicHome CCT: ZJ-BWCE-CCT v1.1

    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant. Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.

    To urządzenie ma możliwość zdalnego bluetooth, ale go nie używam.


    Jak mogę znaleźć GPIO do konfiguracji dla tego typu urządzenia?

    Dzięki ! :-)
  • #7
    p.kaczmarek2
    Level 26  
    Cóż, możesz przetestować każdy pin za pomocą multimetru, a nawet bez multimetru, z wysokiej jakości zdjęciem obu stron PCB, które możesz łatwo śledzić, gdzie jest podłączony każdy pin.
    Czy spojrzałeś na pinout BL602 w arkuszu danych BL602?
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Czy wiesz, jak rozpoznać pierwszą pinezkę? Spójrz na kropkę w rogu.

    EDYCJA: prawie tylko z twoim aktualnym zdjęciem, mogę zawęzić wybór do około 5 pinów, które mogą być PWM...
  • #8
    _Minims_
    Level 4  
    Mam multimetr, mogę przetestować wszystkie piny bl602 z boku, ale nie wiem gdzie umieścić drugi kabel. Który element na moim zdjęciu odbiera sygnał Pam? Dzięki.
  • #9
    p.kaczmarek2
    Level 26  
    Najprawdopodobniej jeden z rezystorów podłączony do bazy tranzystorów. Jakie jest oznaczenie na tranzystorach?

    Ale nie musisz tego robić.

    Po prostu sflashuj moje oprogramowanie, skonfiguruj WiFi na panelu OpenBL602, a następnie odłącz pasek od USB i odłącz USB do UART od paska.

    Podłącz kontroler listwy do 12V (gdy jest już odłączony od konwertera USB na UART), poczekaj, aż połączy się z Wi-Fi, wejdź ponownie w panel OpenBL602.

    Następnie w Konfiguruj piny ustaw każdy pin na Przekaźnik (na początek), może zaczynaj się od 4 pinów i ustaw je na Przekaźnik z kanałem 1, kanałem 2 , kanałem 3, kanałem 4 (kanał jest drugą kolumną w Konfiguratorach pinów).
    Zapisz konfigurację.
    Wtedy otrzymasz 4 przyciski na panelu OpenBL602. Naciśnij przycisk 1, aby przełączyć pin ,,przekaźnik" na kanał 1. Naciśnij przycisk 2, aby przełączyć pin ,,przekaźnik" na kanał 2. Zaznacz, który pin powoduje miganie diody LED.
    To jest twój pin PWM.
    Po prostu zmień jego rolę z przekaźnika na PWM i to wszystko.
    Oto jak określam, które piny należy przetestować:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Możesz wyraźnie zobaczyć, które piny są trasowane.

    PS: zamieść również zdjęcie drugiej strony planszy...
  • #10
    _Minims_
    Level 4  
    Dzięki, teraz jest dla mnie bardziej jasne. Postaram się sflashować jutro.

    Czy istnieje sposób na wykonanie kopii zapasowej bieżącego oprogramowania sprzętowego, tak jak w esptool, abym mógł cofnąć się w przypadku problemów?

    Oto tył płytki PCB:

    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
  • #11
    p.kaczmarek2
    Level 26  
    Przydałoby się również wiedzieć, czy wszystkie tranzystory są używane razem (niezalecane, ale może to robią Chińczycy), czy jest to naprawdę 4-kanałowy kontroler z używanym tylko jednym tranzystorem (jest to możliwe).

    Miałem już jednokolorowy sterownik taśmy LED WB3S, który miał wlutowane 4 tranzystory i 3 z nich były nieużywane. Taki "jednokolorowy pasek" można by naprawdę rozszerzyć do 4 kolorów, po prostu przylutowując przewody.

    Hmm tył płytki sugeruje, że taśma LED obsługuje dwa kanały, Warm White (WW) i Cool White (CW), może są dwa tranzystory na kanał?

    Nie wiem jeszcze, jak zrobić kopię zapasową oprogramowania. Przynajmniej, jeśli nie zepsujesz go całkowicie, możesz liczyć na moje wsparcie przy aktualizacjach i poprawkach oprogramowania. Nie zadzieraj partycji podczas flashowania, wybierz pliki jak na moich zrzutach ekranu.
  • #12
    _Minims_
    Level 4  
    Właśnie sprawdziłem 4 tranzystory, nad nimi jest napisane '3400'.
    Jak sprawdzić, czy na kanał są 2 tranzystory? Czy mogę to sprawdzić multimetrem?
  • #13
    p.kaczmarek2
    Level 26  
    Zrób zdjęcie lepszej jakości lub włóż jedną sondę do padu WW i sprawdź na których pinach którego tranzystora jest ciągłość. To samo dla podkładki CW.

    ale....
    z szybkiego spojrzenia na poprzednie zdjęcie powiedziałbym teraz, że wszystkie 4 działają razem.
    Tylko powiedz mi, gdzie idzie żółty sygnał sterujący bramkami tranzystora? To jest PWM, którego szukasz.
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Edytuj może:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
  • #14
    roli1
    Level 3  
    Właśnie pomyślnie sflashowałem BL602, tak jak opisałeś.

    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    Punkt dostępu jest pokazany jako ,,OpenBL602_94F30D07" i mogę się z nim połączyć.

    Po prostu nie mogę połączyć się z 192.168.4.1

    Co robię źle
    Dzięki Roli
  • #15
    p.kaczmarek2
    Level 26  
    Hej @roli1 , dobra robota!
    Może to znowu problem z DHCP? Walczę z tym problemem na żetonach Beken i może się to zdarzyć również tutaj.
    Spróbuj zamiast tego ustawić jakiś statyczny adres IP i powiedz nam, czy to zadziałało dla Ciebie:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
    (ponownie połącz się z Wi-Fi po zmianie IP)
  • #16
    roli1
    Level 3  
    Cześć
    Problem polega na tym, że nie mogę osiągnąć 192.168.4.1, gdy jestem podłączony do WIFI BL602.
    Rozwiązałem to, sprawdziłem adres bramy Wi-Fi BL602 i mogłem dotrzeć do strony ustawień z 192.168.169.1

    Ale pojawił się kolejny problem, kiedy zmieniam ustawienia WIFI na mój ssid i pass, BL602 nigdy nie pojawia się na żadnym skanerze sieciowym, ale mqtt jest online.
    a jeśli urządzenie nie jest wyświetlane w moim routerze, nie mogę ustawić statycznego adresu IP.
  • #17
    p.kaczmarek2
    Level 26  
    Sprawdzę czy 192.168.4.1 jest poprawnie ustawiony.

    roli1 wrote:
    ale mqtt jest online.

    Skąd wiesz?

    Jeśli MQTT działa, oznacza to, że urządzenie musi już dołączyć do Twojej sieci.

    U mnie urządzenie wyświetla się na liście DHCP tak:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
  • #18
    roli1
    Level 3  
    Tak, jest podłączony do sieci, ale nie mogę znaleźć adresu IP.
    Zmieniłem ustawienia MQTT przed zmianą ustawień Wi-Fi.
    Po odłączeniu urządzenia Mqtt przechodzi w tryb offline po podłączeniu, przechodzi w tryb online, sprawdź w MQTT Explorer.
  • #19
    p.kaczmarek2
    Level 26  
    roli1 wrote:
    Tak, jest podłączony do sieci, ale nie mogę znaleźć adresu IP.

    Czy jesteś w stanie wejść na listę klientów DHCP swojego routera?
    Czy możesz opublikować zrzut ekranu (w razie potrzeby ukryj części, których nie chcesz pokazywać lub wyślij do mnie na PW)?
    Czy widzisz nazwy hostów podłączonych urządzeń?
    możliwe jest również sprawdzenie dzienników routera, aby wiedzieć, kiedy urządzenia dołączyły do sieci i pobrać stamtąd adres IP.

    PS: masz rację z tym, że IP Wi-Fi otwartego punktu dostępu to 192.168.169.1 , sprawdziłem dwukrotnie i jest to domyślny adres IP BL602, wkrótce naprawię, aby był poprawny 192.168.4.1, tak jak na innych obsługiwanych przeze mnie platformach. To błąd.
  • #20
    roli1
    Level 3  
    Udało mi się to teraz działać, mój router nadal nie pokazuje urządzenia, ale znalazłem je za pomocą sieciowego skanera IP.
    Router, którego używam, jest modemem hybrydowym Huawei, jest bardzo ograniczony od dostawcy i obecnie nie ma alternatywy.

    Dzięki za pomoc!!
  • #21
    p.kaczmarek2
    Level 26  
    roli1 wrote:

    Router, którego używam, jest modemem hybrydowym Huawei, jest bardzo ograniczony od dostawcy i obecnie nie ma alternatywy.

    To jest interesujące. Nie spodziewałem się tego, ale właśnie dlatego testujemy. Stworzę jakiś mechanizm, aby łatwiej uzyskać IP...

    Może pozwólmy, aby urządzenie odpowiadało na specjalne zapytanie MQTT z informacją o IP lub spraw, aby odpowiadało na transmisję UDP na określonym porcie?
  • #22
    roli1
    Level 3  
    Tak, to bardzo denerwujące, czasami mam ten sam problem z urządzeniami tasmota, ale mogę użyć TasmoAdmin, aby się dowiedzieć.

    Teraz muszę się dowiedzieć, które GPI0 są używane, mam to samo urządzenie Magic Home co @_Minims_, jednokanałowy kontroler, z ON OFF i Dimm, a potem jak wysyłać polecenia MQTT w jakim formacie.

    Czy można przeflashować urządzenie, jeśli coś poszło nie tak?
  • #23
    p.kaczmarek2
    Level 26  
    roli1 wrote:
    Tak, to bardzo denerwujące, czasami mam ten sam problem z urządzeniami tasmota, ale mogę użyć TasmoAdmin, aby się dowiedzieć.

    Zajmę się wspieraniem TasmoAdmin



    roli1 wrote:

    Teraz muszę się dowiedzieć, które GPI0 są używane, mam to samo urządzenie Magic Home, co @_Minims_, jednokanałowy kontroler, z ON OFF i Dimm, ?

    Na jednym ze zdjęć najprawdopodobniej znalazłem już jeden z GPIO

    roli1 wrote:

    a następnie jak wysyłać polecenia MQTT w jakim formacie.

    Wyszukaj pierwszy post lub użyj Config->Generate home assistant config (powinno działać dobrze dla pojedynczego PWM)

    roli1 wrote:

    Czy można przeflashować urządzenie, jeśli coś poszło nie tak?

    Możliwe jest ponowne flashowanie za pomocą przewodów (chyba, że sam popełnisz błąd i nadpiszesz bootloader, ale nie wiem, czy to możliwe).
    Możliwe jest również zresetowanie/tryb awaryjny urządzenia, wykonując 3 lub więcej cykli włączania i wyłączania przy włączonym urządzeniu przez mniej niż około 30 sekund (włącz, odczekaj 3 sekundy, wyłącz, itd. 3 razy).
    Spowoduje to ponowne włączenie otwartego punktu dostępowego, a także może wyłączyć IO (więc nie zawracaj sobie głowy testowaniem GPIO w trybie awaryjnym).
  • #24
    _Minims_
    Level 4  
    Mam sflashowane urządzenie.
    Ustawiłem więc PWM na GPIO20 i moja listwa led jest ściemnialna jak poprzednio.
    Wielkie dzięki.

    Więcej funkcji pytań Teraz ? :-)
    - Czy możliwe jest, aby urządzenie było wykrywalne poprzez integrację Tasmota w HA?
    - Lub włączyć wykrywanie MQTT, jeśli wolisz?
    - Czy istnieje sposób na zmianę nazwy tematu MQTT? mój to "obl9417B7D9"
    - Czy możemy mieć więcej danych w MQTT, takich jak ,,WIFI Signal", ,,Uptime", ,,Reboot Switch"?

    Wielkie dzięki za pracę.
  • #25
    p.kaczmarek2
    Level 26  
    Gratulacje, czas przetestować, jak stabilne jest Twoje urządzenie! Proszę o zgłaszanie mi wszelkich problemów. Mam na razie tylko jedno urządzenie BL602.

    _Minims_ wrote:

    - Czy możliwe jest, aby urządzenie było wykrywalne poprzez integrację Tasmota w HA?
    - Lub włączyć wykrywanie MQTT, jeśli wolisz?

    Z pewnością można zrobić Discovery, ale z tego, co widziałem, protokół wykrywania jest nieco bardziej skomplikowany, więc postanowiłem nadać mu niższy priorytet. Rzeczy takie jak TuyaMCU są ważniejsze do zrobienia w pierwszej kolejności.

    _Minims_ wrote:

    - Czy istnieje sposób na zmianę nazwy tematu MQTT? mój to "obl9417B7D9"

    Konfiguracja->Nazwy->Krótka nazwa urządzenia? Obecnie krótka nazwa urządzenia jest używana jako temat MQTT.
    Czy możesz sprawdzić, czy to działa?

    _Minims_ wrote:

    - Czy możemy mieć więcej danych w MQTT, takich jak ,,WIFI Signal", ,,Uptime", ,,Reboot Switch"?

    Jak często chcesz, aby Twoje urządzenie publikowało sygnał WIFI/czas pracy?

    A co do przełącznika restartu... dobry pomysł, dodam od razu.

    Dodano go jako polecenie.
    Wykonujesz polecenia przez publikację MQTT:
    Code:

    cmnd/obl9417B7D9/commandName

    https://github.com/openshwprojects/OpenBK7231...mmit/8eaf28dc4a2e6689e59c0ef5a356bc92736e65c7
    więc aby zrestartować urządzenie przez MQTT, wykonaj:
    Code:

    cmnd/obl9417B7D9/restart

    Ofc w tej chwili nie ma go w wersji binarnej, musiałbyś sam się skompilować lub poczekać kilka dni, aż opublikuję plik binarny.
  • #26
    roli1
    Level 3  
    Udało mi się go uruchomić i w pełni zintegrować z OpenHab za pośrednictwem MQTT
    Quote:

    Konfiguracja->Nazwy->Krótka nazwa urządzenia? Obecnie krótka nazwa urządzenia jest używana jako temat MQTT.
    Czy możesz sprawdzić, czy to działa?

    Zmieniłem nazwę urządzenia i działa jako temat MQTT!
    Quote:

    Dodano go jako polecenie.
    Wykonujesz polecenia przez publikację MQTT:
    Code:

    cmnd/obl9417B7D9/commandName

    https://github.com/openshwprojects/OpenBK7231...mmit/8eaf28dc4a2e6689e59c0ef5a356bc92736e65c7
    więc aby zrestartować urządzenie przez MQTT, wykonaj:
    Code:

    cmnd/obl9417B7D9/restart

    Ofc w tej chwili nie ma go w wersji binarnej, musiałbyś sam się skompilować lub poczekać kilka dni, aż opublikuję plik binarny.


    W Openhab używam
    Code:

    Short device name/0/get

    jako temat stanu MQTT
    oraz
    Code:

    Short device name/0/set

    jako temat polecenia MQTT

    To jest dziennik z otrzymanego polecenia MQTT z Openhab
    Code:

    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic terrasse_l/0/set

    Info:MQTT:MQTT in topic terrasse_l/0/set
    Info:MQTT:channelSet topic 1107389852
    Info:MQTT:channelSet part topic 0/set
    Info:MQTT:channelSet channel 0
    Info:MQTT:MQTT client in mqtt_incoming_data_cb data is 40 for ch 0

    Info:GEN:CHANNEL_Set channel 0 has changed to 40


    Info:MAIN:Channel has changed! Publishing change 0 with 40

    Info:MQTT:Publishing 0 = 40
  • #27
    _Minims_
    Level 4  
    p.kaczmarek2 wrote:
    Z pewnością można zrobić Discovery, ale z tego, co widziałem, protokół wykrywania jest nieco bardziej skomplikowany, więc postanowiłem nadać mu niższy priorytet. Rzeczy takie jak TuyaMCU są ważniejsze do zrobienia w pierwszej kolejności.


    Odkrycie wydaje się proste z mojego punktu widzenia, jeśli już generujesz konfigurację HomeAssistant.
    Musisz publikować w :
    Code:

    homeassistant/light///config
    homeassistant/light/123456789/bedroom_light/config
    homeassistant/light/123456789/bedroom_light_restart/config

    jako ładunek możesz ustawić coś takiego (nie testowane):

    Code:

    {
        "unique_id":"123456789_lumiere_bureau",
        "brightness":true,
        "brightness_scale":99,
        "color_mode":false,
        "pl_on": 99,
        "pl_off": 0,
        "command_topic":"lumiere_bureau/1/set",
        "device":{
           "identifiers":[
              "123456789"
           ],
           "manufacturer":"MagicHome",
           "model":"ZJ-BWCE-CCT V1.1        ",
           "name":"Lumiere Bureau",
           "sw_version":"1.0b"
        },
        "name":"Lumiere Bureau",
        "state_topic":"lumiere_bureau/1/get"
     }


    Dodano po 1 [minuty]:

    p.kaczmarek2 wrote:
    Konfiguracja->Nazwy->Krótka nazwa urządzenia? Obecnie krótka nazwa urządzenia jest używana jako temat MQTT.
    Czy możesz sprawdzić, czy to działa?


    To działa, dzięki :-)

    p.kaczmarek2 wrote:
    Jak często chcesz, aby Twoje urządzenie publikowało sygnał WIFI/czas pracy?


    Powiedziałbym 60 sekund
  • #28
    p.kaczmarek2
    Level 26  
    To wydaje się bardzo proste. Postaram się to wkrótce dodać.

    Btw, prawie 10 dni bezawaryjnej pracy tutaj:
    Zamiennik Tasmoty dla BL602, programowanie, parowanie z Home Assistant.
  • #29
    edenoregel
    Level 1  
    Cześć
    Próbuję sflashować kontroler Magic Home RGB. Podłączyłem RX do TX, TX do RX, GND do GND i V33 do 3V, próbowałem podłączyć boot do rezystora 10K a potem 3V. Otrzymuję ten błąd:
    Code:

    [10:47:26.606] - Flash load shake hand
    [10:47:26.707] - default set DTR high
    [10:47:26.812] - clean buf
    [10:47:26.844] - send sync
    [10:47:26.949] - ack is b’’
    [10:47:26.950] - retry
    [10:47:26.952] - default set DTR high
    [10:47:27.053] - clean buf
    [10:47:27.085] - send sync
    [10:47:27.188] - ack is b’’
    [10:47:27.189] - retry
    [10:47:27.205] - {“ErrorCode”: “0001”,”ErrorMsg”:”BFLB EFLASH LOADER SHAKEHAND FAIL”}
    [10:47:27.206] - Shake hand redo
    [10:47:29.208] - ack is b’’
    [10:47:29.210] - Not ack OK
    [10:47:29.211] - Read log
    [10:47:29.211] - Read Fail


    Co ja robię źle?