Matter实战系列-----4.matter设备的OTA

一、生成OTA固件升级压缩包

1.1 修改OTA固件版本号为3

 1.2 编译生成 MatterLightOverThread_V3.ota

将编译得到的MatterLightOverThread.s37固件名称改成MatterLightOverThread_V3.s37,复制到以下Windows文件夹

C:\SiliconLabs\SimplicityStudio\v5\developer\adapter_packs\commander

 转换成.gbl文件

commander gbl create ./MatterLightOverThread_V3.gbl --app ./MatterLightOverThread_V3.s37 --compress lzma

复制MatterLightOverThread_V3.gbl到VM VirtualBox共享文件夹,将.gbl文件导入Ubuntu环境,然后复制到matter文件夹

 将.gbl文件转换成.ota 文件

./src/app/ota_image_tool.py create -v 0xFFF1 -p 0x8005 -vn 3 -vs "0.3" -da sha256 MatterLightOverThread_V3.gbl MatterLightOverThread_V3.ota

二、ubuntu环境下升级matter固件

2.1 编译OTA升级程序

./scripts/examples/gn_build_example.sh ./examples/ota-provider-app/linux ./out/debug chip_config_network_layer_ble=false

 2.2 matter设备配网

# 清除 chip tool 的缓存。清除缓存后,OTA Provider 和 Matter 设备需要重新入网。
sudo rm -r /tmp/chip_*
 
# 创建 Thread 网络
sudo ot-ctl dataset init new
sudo ot-ctl dataset networkkey 00112233445566778899aabbccddeeff
sudo ot-ctl dataset extpanid 1111111122222222
sudo ot-ctl dataset panid 0x1234
sudo ot-ctl dataset channel 15
# 将以上配置提交为活动配置
sudo ot-ctl dataset commit active
# 打开 ipv6 接口
sudo ot-ctl ifconfig up
# 启动 Thread 协议
sudo ot-ctl thread start
# 查看 Thread 网络配置
sudo ot-ctl dataset active -x
# 为设备分配节点 ID 为 1001
sudo ./chip-tool pairing ble-thread 1001 hex:0e08000000000001000035060004001fffe00708fdd0a609c458d59b030f4f70656e5468726561642d3763393004100191ed136516065cfa503db5ed6439320c0402a0f7f8051000112233445566778899aabbccddeeff0208111111112222222201021234000300000f 20202021 3840
在一个新的终端窗口启动 OTA 服务。指向 ota 文件
sudo ./out/debug/chip-ota-provider-app -f MatterLightOverThread_V3.ota

在一个新的终端窗口,为 OTA-Provider 分配一个节点 ID:5678

sudo ./chip-tool pairing onnetwork 5678 20202021
授予网络中所有设备操作 OTA Provider cluster (0x0029)的权限。5678 为 OTA Provider 的 node id,后面的 0 为 endpoint。
sudo ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": null, "targets": null}]' 5678 0
通知 Matter 设备升级。5678 为 OTA Provider 的 node id,1001 为 Matter Lighting 的 node id
sudo ./chip-tool otasoftwareupdaterequestor announce-otaprovider 5678 0 0 0 1001 0

可以在其他窗口看到,已经开始OTA升级传输固件包了

 Matter 设备收到 announce-otaprovider 命令后向 OTA Provider 请求并更新固件。

固件升级过程大约要几分钟时间……
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值