ZigBee协议栈组播

本文介绍了ZigBee协议栈中的组播通信过程,包括组播类型变量、组播内容结构体的配置,以及如何定义和修改组播参数。通过替换数据传输实验的函数为组播发送函数,实现周期性组播数据发送。在接收端,修改组播接收函数以确保设备能正确接收信息。实验设置中,将协调器和路由器的组号设定为特定值,终端设备由于默认的睡眠模式不参与组播,但可通过修改配置使其参与。

  组播描述的就是网络中所有节点设备被分组后组内相互通信的过程,确定通信对象的就是节点的组号。关注SampleApp.c中的2项内容:
  1. 组播afAddrType_t的类型变量:

afAddrType_t SampleApp_Flash_DstAddr; /* 组播 */

  2. 组播内容的结构体:

aps_Group_t SampleApp_Group; /* 分组内容 */

组播参数的配置如下:

/* Setup for the flash command's destination address - Group 1 */
SampleApp_Flash_DstAddr.addrMode = ( afAddrMode_t ) afAddrGroup;
SampleApp_Flash_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
SampleApp_Flash_DstAddr.addr.shortAddr = SAMPLEAPP_FLASH_GROUP;

已经定义的组信息代码,将ID修改成组号相对应,方便以后自己扩展分组需要SAMPLEAPP_FLASH_GROUP,如下(在SampleApp_Init函数中,位于函数最后面):

/* By default, all devices start out in Group 1 */
SampleApp_Group.ID = SAMPLEAPP_FLASH_GROUP; /* 0x0001 */
osal_memcpy ( SampleApp_Group.name, "Group 1", 7 );
aps_AddGroup ( SAMPLEAPP_ENDPOINT, &SampleApp_Group 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值