HA Rpi z donglem sonoff + bramka Zigbee jako hub

Cześć,
Na wstępie chciałem się przywitać :slight_smile:
Jestem “świeży” w temacie ha i automatyzacji. Mam pewną zagwozdkę.
W jednopiętrowym domu (parter + piętro) posiadam 2 routery. Na parterze funbox z orange + na piętrze TP-Link C1200 który skonfigurowany jest jako bridge po wifi do którego podłączony jest Rpi 4 z instalacją HA.
Do Rpi podłączony jest klucz usb sonoff zigbee. Większość urządzeń które łącze do HA usytuowane jest na piętrze i tutaj nie ma problemu. Problem pojawia się z urządzeniami które chciałbym zainstalować na parterze, ponieważ pomimo tego, że niektóre urządzenia działają jako hub’y to na parterze zasięgu zigbee brak.
Posiadam dodatkowo niepodłączoną bramkę zigbee i tutaj pojawia się pytanie. Czy mogę tą bramkę podłączyć w jakiś sposób do routera (funbox’a) na parterze aby działała jako hub zigbee dla home assystenta nie robiąc integracji z Tuya a żeby działała lokalnie?
Z góry dziękuję za wyrozumiałość i wszelką pomoc.

Jeśli to taka bramka (albo identyczna z innym brandem)

lub jeśli to taka bramka (albo identyczna z innym brandem) link jest przykładowy - akurat AIS jest fabrycznie odchmurowany, ale sprzętowo to jest to samo co chińczyki z softem Tuya lub eWelink

to możesz je odchmurować (inaczej mówiąc w cholerę pozbawić funkcjonalności huba/bramki, a zrobić z niej sieciowy koordynator)

to co nazywasz huby to routery Zigbee

Dzięki!
Właśnie sprawdziłem. Bramka (MOES z Ali) po otwarciu na identycznych podzespołach jak ta z lidla. Czyli zajęcie na weekend jest :smiley: Dzięki!

Cześć,
Czy ktoś z was “przerabiał” taką bramkę? Zablokowałem się praktycznie na początku przygody. Goldpiny polutowane, USB-TTL podłączony, porty skonfigurowane ale niestety zarówno z poziomu putty na win jak in screen czy minicom na linuxie nie udaje mi się zatrzymać bootloadera :frowning:
Znalazłem nawet trochę informacji po polsku z intrukcją krok po kroku:

Jakieś rady? :slight_smile:

Nie podajesz szczegółowych konkretów co zrobiłeś ani jak, to jak ktokolwiek mógłby pomóc…

Najczęstsze błędy - zamieniony TX z RX lub brak połączenia z masą, ale to nie to :slight_smile: (nieprawdopodobne, bo coś jednak widzisz w terminalu)

Może niewłaściwe ustawienia portu szeregowego (38400bps, 8N1), w teorii przy niewłaściwej prędkości powinieneś zobaczyć śmietnik zamiast tekstu (więc też wstępnie wykluczam, ale do sprawdzenia)

zakładam, że mostek USB-UART masz w logice 3.3V a nie TTL!!!, a bramkę zasilasz z innego źródła.

Możesz sprawdzić sam UART - zewrzyj TX z RX i sprawdź czy wraca Ci echo w terminalu.
Jeśli nie wraca wyłącz flow-control.

Może nie jesteś dostatecznie szybki? esc można wcisnąć jeszcze przed rebootem MCU

Cześć Szopen! Dzięki za odpowiedź!

Cytat
zakładam, że mostek USB-UART masz w logice 3.3V a nie TTL!!!, a bramkę zasilasz z innego źródła.

Co masz na myśli? Mostki mam 2.
Moduł konwertera USB-UART RS232 TTL PL2303HX RX/TX programator do Arduino - Sklep, Opinie, Cena w Allegro.pl
i
Konwerter USB CP2102 RS232 TTL UART 3.3/5V programator do odczytu TX/RX - Sklep, Opinie, Cena w Allegro.pl

Konfiguracja portu jest prawidłowa 38400bps, 8N1. Podłączam tylko GND, RX i TX. Zasilanie bramki z zewnątrz przez usb.
Przy włączeniu zasilania widzę tekst w konsoli i informacje o starcie bramki itd. (jak w instrukcjach).
ESC próbowałem na wiele sposobów, od szybkiego wciskania poprzez przytrzymanie, przed włączeniem zasilania bramki, odrazu po itd.

@szopen ma na myśli dopasowanie poziomów logicznych dla napięcia MCU 3,3V oraz zasilanie 3,3V z zewnętrznego źródła.

Cześć,
Czyli w tym przypadku powinno być ok przy podłączeniu RX TX i GND
USB CP2102 RS232 TTL UART 3.3/5V
Napięcie jest 5v na pinie VCC którego nie podłączam a poziom logiczny sygnałów jest 3.3v
Wybaczcie może głupie pytania ale jestem amatorem. Supportuje się wujkiem google i przyjacielem GPT.

Specyfikacja:

  1. Układ: CP2102
  2. Złącze: USB A
  3. Wyprowadzone sygnały na złącze goldpin: TX, RX, DTR, CTS, GND, VCC
  4. 3x Diody LED służące do sygnalizacji następujących operacji: wysyłanie danych, odbieranie danych, zasilanie.
  5. Napięcie na pinie VCC: 5V
  6. Poziom logiczny sygnałów: RX, TX, DTR - 3.3V**

OK - załóżmy, że po stronie sprzętowej jest dobrze. Czytam poradnik, którym się kierowałeś i takie uwagi autora:

Czy to oznacza, że doświadczasz tego samego problemu?

Pamiętam, że przy fleszowaniu jakiegoś sprzętu z podobnym problemem było otworzenie, po zatrzymaniu bootloadera, równoległego połączenia z MCU w drugim terminalu, ale to było przy telnet (LAN). W tym przypadku należy zapewne odszukać informację, jak tę bramkę wprowadza się skutecznie we flash mode. Skoro ESC nie działa:

Tak, tyle, że w moim przypadku nie mogę zatrzymać bootloadera zarówno z poziomu windows jak i linux. Linux jako osbna instalacja na osobnym dysky, nie wirtualka.

No na myśli mam to, że mostek UART TTL, czyli w logice 5V może usmażyć UARTa w MCU, ale na moje oko PL2102 to nie żaden TTL, tylko właśnie 3.3V czyli tzw. LVTTL a nie TTL ten drugi chyba też (ale palca sobie nie dam uciąć).

A w mostku UART sprawdziłeś lokalne echo? (zwierając jego wyjście z wejściem)

No jest jeszcze jedna opcja, która wydaje się zupełnie nieprawdopodobna (ale mamy do czynienia z Chińczykami), bo bootloader nie powinien zostać zmieniony na taki bez możliwości przerwania bootowania (a w wielu MCU nie daje się go w ogóle zmienić), ale można przyjąć, że jakaś aktualizacja zmienia bootloader na taki działający wbrew zdrowemu rozsądkowi.

Już bardziej prawdopodobny jest brak kontaktu z pinem RX MCU

Zauważ że goldpiny są przy module Zigbee (TYZS4 czyli tak naprawdę EFR32MG1B232F256GM48-C0 zapakowanego wraz z minimum peryferiów na płytkę stanowiącą ten modulik komunikacji radiowej) ale chodzi o połączenie z Realtekiem RTL8196E

Musisz więc spowodować, że sterownik tego mostka zignoruje istnienie sygnałów DTR i CTS służących do kontroli przepływu.

Stary jak świat, ale fajny artykulik o RS232, który wyjaśnia kilka kwestii (warto o nich wiedzieć, choć to może nie jest to kluczowe w tym wątku)

Bardzo tego nie lubię, ale chyba się poddam. Próbowałem już chyba wszystkiego. Za cholerę nie idzie zatrzymać bootloadera. Przelutowałem ponownie nawet piny, ale bez skutku. Dalszych pomysłów brak…
@szopen kontrola przepływu wyłączona oczywiście zarówno z poziomu ubuntu jak i w Win.

Istnieje niewielkie, ale jednak jest takie prawdopodobieństwo, że Tuya wraz z aktualizacją firmware zmieniła bootloader na taki nie umożliwiający tego triku, ale nie wiem czy to w ogóle możliwe w tym wypadku, a sprawdzenie czy to możliwe by wymagało przekopania dokumentacji tego MCU, a nie mam do tego weny.

Jeśli jesteś w stanie stwierdzić echo w terminalu, po zwarciu TX z RX mostka UART to oznacza, że on działa.

Tak jak pisałeś, bootloader został zablokowany.
Jest opcja aby się do tego dostać pomimo zablokowania:

Tyle tylko, że teraz jak mam w konsoli Putty to nie mam możliwości wprowadzania poleceń

Jeśli masz krzaki, to zapewne prędkość portu jest niewłaściwa.
Niektóre MCU w zależności od trybu pracy mają inną prędkość UARTa.

Port jest ustawiony na 38400 zarówno w menadżerze urządzeń jak i putty. Poza krzakami jest jeszcze mega opóźnienie albo kompletny brak reakcji na „naciskanie” klawiszy na klawiaturze.

Eksperymentuj, zacznij np. od 9600bps
edit port pracuje (w zależności od konfiguracji) od 300bps do 115200bps, a zgaduję, że zrobiłeś jakieś bezczelne zwarcie na magistrali SPI