跳至主要内容

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 后连接设备:
connection
选择设备型号 ZBDongle-P:
z-p
选择固件版本:
firmware
开始烧写:
flash
设备应该是自动进入了 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

不然会有错误提示:
serial
Traceback (most recent call last):
File "E:\ZigBee\zigbee2mqtt\uartlog\uartLog.py", line 10, in <module>
import serial
ModuleNotFoundError: No module named 'serial'

gevent
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

cmd
运行后自动进入:
uartlog

再通过串口工具确认 ZBDongle-P 设备已经进入了 Bootloader 模式,发送 HEX 字符 55 55,如果正常会回复:00 CC
bootloader
同理,在使用 boot 按键进入的时候,也可以通过此方法确认是否已经进入了 Bootloader 模式。

烧写固件

安装 SmartRF Flash Programmer 2 后打开软件:
smartrf
点击设备串口处 ①,接着在 ② 处选择 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 来激活引导加载程序。
cc2538-bsl

参考: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/

评论