SONOFF ZBDongle-P(CC2652P) 固件升级方法汇总
看过我之前安装使用 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
pip install gevent
不然会有错误提示:Traceback (most recent call last):
File "E:\ZigBee\zigbee2mqtt\uartlog\uartLog.py", line 10, in <module>
import serial
ModuleNotFoundError: No module named 'serial'Traceback (most recent call last):
File "E:\ZigBee\zigbee2mqtt\uartlog\uartLog.py", line 18, in <module>
import gevent
ModuleNotFoundError: No module named 'gevent'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
sudo apt install pyserial intelhex
mkdir cc2538-bsl
cd cc2538-bsl
curl -sSL https://github.com/JelmerT/cc2538-bsl/archive/refs/heads/main.tar.gz | tar xz --strip=1
ZBDongle-P 进入 Bootloader 后运行自动升级脚本,固件预先下载到同目录下:cd cc2538_bsl
python cc2538_bsl.py -p /dev/ttyUSB0 -f CC1352P2_CC2652P_launchpad_coordinator_20240710.hex -ewv
注意查看 /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?
奖励链接: 欢迎使用推荐链接,新用户充值有奖励 https://www.vultr.com/?ref=7342510