EFR32使用zigbee Group功能

写这篇博客,是因为我想使用一下这个功能,但是网上博客写的都是支离破碎的,看下来还是不知道如何操作,有的中英文一大堆!学习过后分享一下经验!

官方文档竟然没有详细介绍,S感觉iliconLabs 代码比NXP的要规范,但说到文档,太少了(我是用的开发板自动更新下载到的文档,真是不给力!)

言归正传,在zigbee中有一个Group的概念,用来发送命令到这个“组”中的设备,而不会向其他设备发送,类似TCP/IP 中组播和广播的概念。

EFR32 对很多功能封装成了命令,Group的功能也有。为了方便测试,直接用官方SDK环境就行,我之前之前写过一篇,EFR32xG21搭建网关demo - 概览,可以参考。

group的使用过程就是,先将设备正常加入到网关中,然后上层应用建立group,并且把设备添加到group里边,控制的时候直接发送命令到这个group即可。

添加设备到组用到俩条命令:
1、groups add
在这里插入图片描述
2、send
在这里插入图片描述
设备添加到组:
zcl group add 0x1234 “light” // 此处 0x1234为自定义组id,light 为组名称
send 0x5FD9 1 11 // 此处0x5FD9是我加到网关中分配的短地址,1为网关enpoint 11 为灯泡的endpoint
组控制:
zcl on-off toggle
send_multicast 0x2345 1 // 0x2345 为组id 1 为发送者网关的endpoint

注意:
在每一次设备控制时,都要先输入zcl on-off toggle 之类命令,再次执行send_*命令发送,否则会提示no cmd

下面把操作截图贴出来,更便于理解:
在这里插入图片描述
抓包:
在这里插入图片描述 如果上面所写有问题,欢迎留言指出,方便后面的每一个学习者学习、理解。