Niektóre urządzenia (np. czujniki Xiaomi), uchodzą za “bardzo wybredne”, jeśli chodzi o routery / repeatery / koncentratory zigbee, z którymi współpracują.
Rozwiązaniem może być router z CC2531 - wg autora oprogramowania routera zigbee do CC2531.
CC2531 z oprogramowaniem routera to całkowicie samodzielny urządzenie zigbee.
Podczas parowania czerwona dioda LED będzie migać z częstotliwością jedno mignięcie na sekundę. Po sparowaniu z koordynatorem (podłączeniu do sieci zigbee), LED będzie wolno migać (jedno mignięcie co 4 sekundy).
Czy ktoś skutecznie zmienił CC2531 w router poprzez wykorzystanie ESP8266 (NodeMCU)?
Próbuję po wcześniejszym wgraniu oprogramowania kontrolera do CC2531 zamienić go obecnie w router. Przygotowany plik router-cc2531-diag.bin po zamianie z hex z repozytorium:
Niestety próba wgrania oprogramowanie kończy się niepowodzeniem:
cezary@3020:~/CCLoader/SourceCode/Linux$ ./CCLoader /dev/ttyUSB0 router-cc2531-diag.bin 0
Comport open:
Device : Default (e.g. UNO)
Baud:115200 data:8 parity:none stopbit:1 DTR:off RTS:off
File open success!
Block total: 512
Enable transmission...
Request sent already! Waiting for respond...
Begin programming...
1 2 3 4 5 6 7 Verify failed!
Program successfully!
File closed!
Comport closed!
Nigdzie nie znajduję informacji co może być przyczyną.
Swoją drogą czemu router-cc2531-diag.hex
zamiast router-cc2531-std.hex
?
Jeśli chcesz flashować bezpośrednio .hex to użyj metody z RPi.
Wcześniej masz
więc są problemy z zapisem (na RPi też się to zdarza, zdecydowanie lepiej się sprawdza RPi3 od RPi4), soft routera zajmuje chyba mniej niż połowę flasha, więc niby powinno być łatwiej niż koordynator.
Tak bez problemu, próby wykonałem z różnymi plikami.
router-cc2531-std.hex router-cc2531-diag.hex
a nawet router-cc2531-diag-usb.hex
Nie posiadam RPi, wykorzystuję ESP8266 (NodeMCU) z wgranym oprogramowaniem CCLoader
Mam komunikat o powedzeniu:
Upload successfully!
File closed!
Comport closed!
Ale CC2531 nie daje oznak życia, dioda się nie zapala. Nie jest widoczny na liście urządzeń USB, po wpięciu do kompa lsusb - bark widocznego urządzenia.
Nie chcę kupować CC Debuger’a dla tej jednej operacji, bardziej chodziło o wykorzystanie CC2531, który chodził do końca jako koordynator przed zakupem Conbee II. Flashowany był prze zemnie wcześniej tą samą metodą.
Pytanie, czy przed wgraniem nowego pliku bin należy wykonać czyszczenie erase? Metoda z NodeMCU nie daje chyba tej możliwości.
No ja akurat wgrywam na RPi, bo mam pod ręką i zawsze czyszczę flash przed wgraniem, bo inaczej się to nie udaje.
Po stronie USB jeśli mnie pamięć nie myli nic specjalnego się nie zgłasza - przynajmniej w wersji STD (jest podbierane tylko zasilanie) będę w domu za parę dni to mogę sprawdzić jak się sprawy mają.
Jeśli chcesz zapalić LED to trzeba bodajże wprowadzić w tryb parowania (jednym z przycisków, nie pamiętam którym), ale po świeżym flashowaniu chyba powinien wystartować w trybie parowania (jakkolwiek głowy sobie za to nie dam uciąć).
Jak już będziesz miał go w sieci to będzie można drugi LED zapalić i zgasić programowo (na STD).