专有名词:
OT-RCP: Open Thread Radio Co-Processor 。 Thread 无线协处理器
OTBR: Open Thread Board Router 。 Thread 边界路由器
chip-tool: Linux 应用程序。用于 Matter 协议控制
ot-ctl: Thread 网络控制的应用程序
一、控制MG21的开发板RCP组网
设备连接电脑USB口,并在虚拟机上挂载
1.1 启动或停止`otbr-agent`服务
sudo systemctl start otbr-agent.service
sudo systemctl stop otbr-agent.service
1.2 查看OTBR运行日志
tail -f /var/log/syslog
1.3 检查RCP开发板连接状态
sudo ot-ctl state
1.4 查看版本号
sudo ot-ctl version
sudo ot-ctl rcp version
1.5 组网
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
二、设备配网和控制
2.1 设备的基本功能:
BTN0短按切换二维码界面和设备状态页面,BTN0长按6秒之后,屏幕刷新,设备开始入网流程
BTN1入网后控制灯的亮灭
LED0 入网成功后常亮,未入网慢闪,配网中快闪
LED1 代表当前灯的状态
2.2 查看网络参数
sudo ot-ctl dataset active -x
2.3 设备配网
设备长按灯的BTN0 6秒后松手
配置灯的Node ID为1001
sudo ./chip-tool pairing ble-thread 1001 hex:0e08000000000001000035060004001fffe00708fdc6e4360de1355b030f4f70656e5468726561642d356665350410dd662d45d68e52ebfe293b0ab28573470c0402a0f7f8051000112233445566778899aabbccddeeff0208111111112222222201021234000300000f 20202021 3840
同理,按键配网需要分配ID为1002
sudo ./chip-tool pairing ble-thread 1002 hex:0e08000000000001000035060004001fffe00708fdc6e4360de1355b030f4f70656e5468726561642d356665350410dd662d45d68e52ebfe293b0ab28573470c0402a0f7f8051000112233445566778899aabbccddeeff0208111111112222222201021234000300000f 20202021 3840
设备的LED0指示灯变化,慢闪->快闪->常亮代表配网成功
2.4 设备控制
将开关添加到灯的访问控制列表,并且绑定灯和开关,使得开关可以控制灯
sudo ./chip-tool accesscontrol write acl '[{"fabricIndex":1, "privilege":5,"authMode":2, "subjects":[112233, 1002], "targets":null}]' 1001 0
sudo ./chip-tool binding write binding '[{"fabricIndex":1, "node":1001, "endpoint":1,"cluster":6}]' 1002 1
翻转
sudo ./chip-tool onoff toggle 1001 1
开灯
sudo ./chip-tool onoff on 1001 1
关灯
sudo ./chip-tool onoff off 1001 1
获取灯状态
sudo ./chip-tool onoff read on-off 1001 1