最近一直在学习Matter协议,以下是我的学习成果,有理解有误的地方,欢迎各位大佬指出,已经及时改正。
我将会以Cluster为单位来分享,首先看OnOff Cluster~~
大家一起学习,一同进步哦~~
一. 添加设备 pairing
指令是:./ chip-tool pairing ble-wifi <node_id> <ssid><password><pin_code><discriminator>
例如:./chip-tool pairing ble-wifi 1284 WiFi_Verification 12345678 94322518 1284
前提:
- 设备进入了待配网状态
- 知道树莓派连接的WIFI的ssid和psw
- 知道设备的pin_code 和 discriminate
结果:添加成功之后设备以某种状态提示“配网成功”,我的是matter的球泡灯,成功之后灯光会闪烁
二. 查看DUT(Device under Test)信息
注意:这些信息一般都存储在endpoint:0
- 查看DUT的软件版本:
- software-version:
./chip-tool basicinformation read software-version 1284 0
- 结果: SoftwareVersion: 3
- software-version-string:
./chip-tool basicinformation read software-version-string 1284 0
- 结果: SoftwareVersionString: 3_1.32.0-release_v1.3.0.2
- software-version:
- 查看DUT的硬件版本:
- hardware-version:
./chip-tool basicinformation read hardware-version 1284 0
- 结果: HardwareVersion: 100
- hardware-version-string:
./chip-tool basicinformation read hardware-version-string 1284 0
- 结果: HardwareVersionString: 1.0.0
- hardware-version:
三. 删除已配网设备 unpair
指令是:./chip-tool pairing unpair <node_id>
例如:./chip-tool pairing unpair 1284
前提:
- 设备已经配网
- 知道设备的node_id
结果:
这时候再去控制设备会提示:
四. OnOff Cluster
1. 控制设备的On,Off
a. On
指令:./chip-tool onoff on <destination_id><endpoint_id>
例如:./chip-tool onoff on 1284 1
结果:设备从灭到亮
验证:查看设备的onoff attribute:./chip-tool onoff read on-off 1284 1
,结果:OnOffAttribute:1
即表示设备是on的状态
b. Off
指令:./chip-tool onoff off <destination_id><endpoint_id>
例如:./chip-tool onoff off 1284 1
结果:设备从亮到灭
验证:查看设备的onoff attribute:./chip-tool onoff read on-off 1284 1
,结果:OnOffAttribute:0
即表示设备是off的状态
c. Toggle
指令:./chip-tool onoff toggle <destination_id><endpoint_id>
例如:./chip-tool onoff toggle 1284 1
结果:设备在on和off的状态下循环切换
验证:可以通过查看设备的onoff attribute来验证
2. StartUpOnOff
a. 设置DUT的StartUpOnOff Attribute
指令:./chip-tool onoff write start-up-on-off <attribute-values><destination-id><endpoint-id>
例如:./chip-tool onoff write start-up-on-off 1 1284 1
说明:
attribute-values=1/null,表示上电之后,DUT保持之前的状态
attribute-values=0,表示上电之后,DUT保持off的状态
attribute-values=2,表示:断电前是on,上电后是off,或断电前是off,上电后是on(on时,level保持一致)
b.读取DUT的StartUpOnOff Attribute
指令:./chip-tool onoff read start-up-on-off <destination-id><endpoint-id>
例如:./chip-tool onoff read start-up-on-off 1284 1
结果:StartUpOnOff: 2
3. OffWithEffect
后续补充,目前我这个设备还没有看到关闭时的一些效果,所以就不赘述,怕误导大家了!
也欢迎知道的大佬向我伸出援手~~
4. OnWithTimedOff
指令:./chip-tool onoff on-with-timed-off <OnOffControl><OnTime><OffWaitTime><destination-id><endpoint-id>
例如:./chip-tool onoff on-with-timed-off 0 100 100 1284 1
说明:
OnOffControl的取值是0或者1:
指定为0,说明在任何条件下,无论当前的设备是on还是off,当发送这条指令之后,设备会接受并响应
指定为1,说明这条指令只能在设备是On的状态下才生效,否则丢弃
OnTime和OffWaitTime单位都是1/10秒,指定OnTime=100,也就是设备会保持On的状态10秒
关于OffWaitTime 这个参数,我认为的是指定这个参数之后,设备会在OnTime=0之后开始进入OffWaitTime的倒计时,当其值也为0时,设备才会关闭。
但是现在我这边的效果是,当OnTime的倒计时走完时,OffWaitTime也为0了,所以可能存在一定的问题,或者我对协议的理解有误!
希望有大佬帮忙解答一下~~
今天的分享先到这里,希望我们可以一起学习Matter,一起分享在嵌入式测试过程中遇到的新的知识或者是新的技术挑战。
祝大家快乐每一天~~~~~