ZigBee на Raspberry, часть 1, прошивка CC2531
Задача: научится принимать пакеты по протоколу Zigbee на устройстве Raspberry PI 3. Сама по себе, без внешних дополнительных устройств, Raspberry этого не умеет. Нужен модем, который может принимать сигналы на этой частоте. Для этого было куплено на Aliexpress устройство Zigbee CC2531. Покупателю оно приходит пустое, без прошивки, поэтому перед работой с ним, его необходимо прошить. Есть несколько вариантов, самый простой сделать это при помощи самой же RaspberryPI. Одно Но! (и даже их несколько):
- нужно делать самому подключение проводками
- на модеме ножки очень тонкие, и стандартные проводки от Arduino например не подойдут. Я городил огород при помощи малярного скотча, а кто-то отгибал ножки и припаивался к ним на прямую.
Общая схема подключения для прошивки следующая:


После того как наколхозите этот переходник, можно начинать прошивку. Но сначала убедимся, что модем вообще виден в системе, выполнив команду lsusb. Должно выйти что-то вроде:

Если всё ок, двигаемся к следующему шагу: скачиваем утилиту для прошивки:
|
1 2 3 |
git clone https://github.com/jmichault/flash_cc2531.git cd flash_cc2531 ./cc_chipid |
И скорее всего получим фигу вида:
|
1 2 |
root@raspberrypi:/home/donpadlo/flash_cc2531# ./cc_chipid bash: ./cc_chipid: cannot execute: required file not found |
Я подозреваю, что этой утилите не хватает библиотеки wiringPi. Установить её можно так:
|
1 2 3 |
git clone https://github.com/WiringPi/WiringPi.git cd WiringPi ./build |
И далее снова попробовать выполнить :
|
1 |
./cc_chipid |
И я снова получил туже самую ошибку. Ну чтож..попробуем собрать банарник из исходных годов сами:
|
1 2 |
cd flash_cc2531 make |
После чего, команда уже выполнится корректно:
|
1 2 |
./cc_read ID = b534 |
Т.е. устройство прошивальщик теперь видит. Скачаем последнюю версию прошивки (можно прям по этой ссылке, т.к. версии более не разрабатываются для этого модема):
|
1 2 3 4 |
wget https://github.com/Koenkk/Z-Stack-firmware/raw/refs/heads/master/coordinator/Z-Stack_3.0.x/bin/CC2531_20190425.zip unzip CC2531_20190425.zip ./cc_erase ./cc_write CC2531ZNP-without-SBL.bin |
И собственно всё. Теперь стик рабочий. Осталось научится получать с него данные. А это уже в следующих частях..