Прямо из MacOS или Windows.
Не знаю, удавалось ли вам, пользуясь стиком CC2531, получать какие-либо ошибки, связанные с работой стика, но расширяя свою сеть, я столкнулся с ошибкой «No route found» или «no MAC Address» — обычно подобные ошибки связаны с тем, что вам необходимо будет обновить прошивку стика до одной из актуальных версий и сбросить всю вашу карту устройств.
В этот момент здравой мыслью будет бросить всё и задуматься о покупке нового стика с Zigbee 3.0 и тд. Особенно если вы решили купить стих с рук не занимаясь его перепрошивкой самостоятельно.
Но нет. Для вас есть решение. Koenkk — автор прошивки, на которой работает наш стик, позаботился о том, чтобы обновление прошивки можно было сделать гораздо проще и загрузил в нее т.н. SBL (serial boot loader).
Именно SBL позволяет нам прошиваться налету — достаточно лишь подключить стик к вашему компьютеру и загрузить в него с помощью специального ПО новую прошивку.
Но есть несколько НО:
- это должна быть специальная SBL прошивка, которую находим здесь
- в идеале вам нужен Windows, но и macOS тоже пойдет
- этим способом можно только обновить прошивку — изначально прошить «чистый» стик не получится.
Последовательность наших действий.
- Скачиваем прошивку здесь — выбираем последний вариант
- Если у вас macOS, то устанавливаем Parallels и регистрируем триальный аккаунт для того, чтобы запустить Windows (в самом низу я оставил еще один метод для macOS)
- Скачиваем SBLTool
- Воткнуть стик (важно это сделать когда Parallels уже запустился), Parallels должен его увидеть и определить
- Заходим в SBLTool, выбираем Zigbee, выбираем наш порт (если при выборе порта ничего нет, значит стик не был распознан Parallels — перетыкаем), выбираем нашу прошивку
- Если между 4 и 5 пунктом вы подзатупили (ну бывает), пошли встречать курьера или решили заварить чаек, то вынимаем наш стик и втыкаем обратно — это нужно, потому что именно в первую минуту запуска стик находится в режиме перепрошивки
- И нажимаем Load
- После чего ждем секунд 10-15-20 — всё готово. Наш стик перепрошит.
После этого вы можете пользоваться вашим обновленным стиком.
One more thing
Я лично не пробовал, но мне также посоветовали попробовать воспользоваться на macOS следующим способом — библиотека zigpy-znp и набором команд в Терминале. Попробуйте — потом расскажете )
$ pip install zigpy-znp $ python -m zigpy_znp.tools.flash_read /dev/serial/by-id/radio -o flash.bin $ python -m zigpy_znp.tools.flash_write /dev/serial/by-id/radio -i flash.bin