看过我之前安装使用 HomeAssistant 文章的都知道,我用的是 SONOFF Zigbee 3.0 USB Dongle Plus,型号 ZBDongle-P(CC2652P) ,固件版本还是 22 年的。现在 Zigbee2MQTT 我看也升级到 2.0 了,coordinator 版本 24 年也更新了一版,那就一起升级了看看。
固件下载地址:https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin
发现 ZBDongle-P 升级方式还挺多的,我一一试了一遍。
SONOFF 在线烧写
首先是 SONOFF 厂家推出的在线升级方式,链接在此:
https://dongle.sonoff.tech/sonoff-dongle-quick-flasher/
插上 ZBDongle-P 后连接设备:
选择设备型号 ZBDongle-P:
选择固件版本:
开始烧写:
设备应该是自动进入了 Bootloader 模式,无需手动按键。
SmartRF Flash Programmer 2 烧写固件
SmartRF Flash Programmer 2 是 Ti 的开发工具,官网下载需要注册,并且要说明是民用产品使用。我分享一个下载链接:
SmartRF Flash Programmer 2-1.8.2.zip 下载:https://pan.quark.cn/s/de8cec9b8562
提取码:KDeQ
ZBDongle-P 设备进入 Bootloader 模式
首先要使 ZBDongle-P 进入 Bootloader 模式,有两种方法,简单点的就是拆壳后按住 boot
键上电,另一种是通过 Python 脚本自动进入。
Python 脚本 Auto-enter-bootloader.zip 的下载链接:https://pan.quark.cn/s/6ea3924fc4b4
提取码:qJUM
按键进入我就不说了,主要说一下 Python 脚本进入的方法,我用的是 Win 10,首先要安装 Python,然后安装 pyserial
,gevent
:
pip install pyserial |
不然会有错误提示:
Traceback (most recent call last): |
Traceback (most recent call last): |
CMD
运行 uartlog.py 脚本,中间提示要输入 SONOFF Zigbee 3.0 USB Dongle Plus 的串口号:
python uartLog.py |
运行后自动进入:
再通过串口工具确认 ZBDongle-P 设备已经进入了 Bootloader 模式,发送 HEX 字符 55 55
,如果正常会回复:00 CC
:
同理,在使用 boot
按键进入的时候,也可以通过此方法确认是否已经进入了 Bootloader 模式。
烧写固件
安装 SmartRF Flash Programmer 2 后打开软件:
点击设备串口处 ①,接着在 ② 处选择 CC2652P
,③ 处选要升级的固件,勾选 ④ ⑤ ⑥,点击 ⑦ 开始烧录。
cc2538-bsl 自动烧录固件
cc2538-bsl 是一个开源的 Python 自动烧录固件脚本,支持多款 Ti 芯片,链接:
https://github.com/JelmerT/cc2538-bsl
该脚本我仅在 Linux 系统下使用,先安装包和下载脚本:
sudo apt update && sudo apt install python3 python3-pip |
ZBDongle-P 进入 Bootloader 后运行自动升级脚本,固件预先下载到同目录下:
cd cc2538_bsl |
注意查看
/dev/ttyUSB0
是否是 USB Dongle 的实际端口。根据脚本说明,如果 SONOFF Zigbee 3.0 USB Dongle Plus 需要自动进入 Bootloader 的话,则添加命令行选项 --bootloader-sonoff-usb
来激活引导加载程序。参考:How to Use SONOFF Dongle Plus on Home Assistant? How to Flash Firmware?
source https://mianao.info/sonoff-zigbee-zbdongle-p-CC2652P-firmware-update-guide/
评论
发表评论