Programowanie i flashowanie CC2531 bez kabla z użyciem RaspberryPi
Jak flashować CC2531 bez CC Debugger (downloader cable), bez kabla UART i bez ESP, przy użyciu jedynie Raspberry Pi. Do zaprogramowania modułu będziesz potrzebował kilka kabelków z pinami i lutownicę (a może uda się obyć nawet bez niej). Poradnik jest zgody z każdym urządzeniem CC2531, ja wykorzystałem model EBYTE E18-2G4U04B PA.
Połączenie
Pierwszą rzeczą, którą musisz zrobić to wyprowadzenie kabelków ze swojego modułu. Ja wykorzystałem kabelki z zestawu z Forbota. Kabelki o wtyczce męskiej z obu stron były na tyle cienkie, że zmieściły się w port i nawzajem przyblokowały siebie otuliną. Do każdego z nich wpiąłem następnie kabelki o obu wtyczkach żeńskich, a drugi koniec podpiąłem do Raspberry zgodnie z następującym schematem.
Zobacz jeszcze na rozpiskę wyjść typowego CC2531 oraz mojego od EBYTE.
U mnie połączenie wyglądało następująco. Pamiętaj, że użyłem trochę nietypowego modułu.
Podłącz teraz moduł do portu USB Raspberry i jeżeli zaświeci się na nim lampka, to znaczy, że jak na razie wszystko wygląda OK.
WiringPi
WiringPi jest biblioteką napisaną w języku C, która jest wykorzystywana do uzyskania dostępu do portów układów SoC BCM2835, BCM2836 and BCM2837, czyli dokładnie tych użytych w dowolnym RaspberryPi. Instalacja polega na sklonowaniu repozytorium, które niestety już nie istnieje na oryginalnym hostingu autora. Na szczęście istnieje jego mirror.
Otwórz konsolę swojego Raspberry i sklonuj repozytorium, wejdź do niego i zbuduj kod.
git clone https://github.com/WiringPi/WiringPi
cd WiringPi
./build
Pobierz oprogramowanie
Oprogramowanie nazywa się Z-Stack Home
i znajduje się na oficjalnym repozytorium autora – https://github.com/Koenkk/Z-Stack-firmware/. Autor co jakiś czas aktualizuje oprogramowanie, więc istnieje ryzyko, że bezpośredni link mógłby nie zadziałać. Autor tworzy dwa rodzaje oprogramowania – coordinator
oraz router
, nas interesuje to pierwsze, wejdź więc do folderu coordinator
. W nim masz dwie wersje – 3.0 i 1.2. Autor nie zaleca używania wersji 3.0, bo nadal jest ono w wersji rozwojowej, wybierz więc folder Z-Stack_Home_1.2
. Gdyby coś się zmieniło, czytaj opis na stronie projektu na Githubie, tam będziesz miał najświeższe informacje. następnie wejdź do folderu bin
i wybierz wersję default
. Teraz musisz pobrać plik zip
odpowiadający nazwie Twojego układu, czyli musi zawierać w nazwie CC2531. Pobierz plik zip i wypakuj go gdzieś. W chwili pisania tego poradnika odpowiednie archiwum znajduje się tutaj: CC2531_DEFAULT_20201127.zip.
Flashowanie
Flashowanie polega na usunięciu istniejącego oprogramowania układu, a następnie wgraniu nowego. W pierwszej kolejności pobierz odpowiedni skrypt i sprawdź, czy połączenie z modułem działa.
cd
git clone https://github.com/jmichault/flash_cc2531
cd flash_cc2531
Musi się pojawić ID = b524.
. Jeżeli pojawi się ID = 0000
lub ID = ffff
to znaczy, że coś źle podłączyłeś.
Potem wpisz ./cc_erase
żeby usunąć obecne oprogramowanie.
Rozpakowane w poprzednim oprogramowanie wrzuć do folderu ze skryptem, tj. flash_cc2531
. Następnie wykonaj zapis poleceniem ./cc_write
z parametrem przyjmującym plik hex, w moim przypadku było to ./cc_write CC2531ZNP-Prod.hex
. Pamiętaj, że autor może w przyszłości zmienić nazwę tego pliku, więc bądź uważny przy tej operacji. Zapis u mnie trwał około 3 minut. W tym czasie postaraj się nie dotykać urządzenia, żeby niczego nie rozłączyć.
To wszystko, odłącz sprzęt, odepnij kabelki i zapakuj z powrotem w obudowę swój moduł (o ile miałeś obudowę). Możesz go teraz podłączyć do urządzenia, w którym będziesz z niego korzystał.
Cześć. Mam parę sztuk Ebyte CC2531 i chciałbym tam zmienić oprogramowanie na Zigbee2MQTT. Niestety nie dysponuję RaspberryPi czy programatorem. Czy jesteś w stanie mi taką usługę odpłatnie wykonać ? Proszę policzyć koszt i przekazać mi informację bo nie znam nikogo kto by to robił a znalazłem Twoją stronę. Pozdrawiam, Jacek
Powiem szczerze, że nie chce mi się 😀 Ale polecam napisać post na grupkach na FB, tam jest sporo pasjonatów z wolnym czasem. A jak coś, to możesz też spróbować zapolować na bramki zigbee tuya, które idzie tanio wyrwać w Aliexpress Choice. Ostatnio sam tam sporo sprzętu kupiłem.
Witam. Czy ktoś mógłby mi pomóc ( odpłatnie ) w zaprogramowaniu 8szt takich dongle ? Nie mam odpowiedniego sprzętu ( RPi4B ) więc może ktoś się nade mną zlituje. Bardzo proszę. Pozdrawiam. Jacek