Zigbee网络中单播、组播、广播通信
来源:互联网 发布:卡通农场 淘宝买金币 编辑:程序博客网 时间:2024/06/06 02:34
Zigbee网络中进行数据通信主要有三种类型:单播、组播、广播。那这三种方式如何设置呢,在哪里设置呢,还记得之前学习的 Zigbee协议栈进行数据发送是调用AF_DataRequest这个函数:
参数1:afAddrType_t *dstAddr 该参数包含了目的节点的网络地址、端点号及数据传送的模式,如单播、广播或多播等。
typedef enum
{
} afAddrMode_t;
enum
{
};
单播:注意:其实单播有两种方式一种是绑定传输my_DstAddr.addrMode=(afAddrMode_t) AddrNotPresent,一种是直接指定目标地址的单播传输,比如协调器就是0x0000。绑定后面再学吧!
广播:当应用程序需要将数据包发送给网络的每一个设备时,使用这种模式。地址模式设置为
AddrBroadcast。目标地址 my_DstAddr.addr.shortAddr可以根据需求设置为下面广播地址的一种:
afAddrGroup 并且addr.shortAddr 设置为组ID。使用组播的方式需要加入特定的组
1.首先声明一个组对象aps_Group_t SampleApp_Group;
aps_Group_t结构体的定义:
typedef struct
{
} aps_Group_t;
每个组有个特定的ID跟组名,组名存放在name数组中,name数组的第一个元素是组名的长度,第二个元素开始存放组名字符串。
2.对SampleApp_Group赋值:
// By default, all devices start out in Group 1
SampleApp_Group.ID = 0x0003;
osal_memcpy( SampleApp_Group.name, "Group 3", 7 );
aps_AddGroup( SAMPLEAPP_ENDPOINT, &SampleApp_Group );
4.设定通信的目标地址及模式:
// 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_Group.ID ;
5.若要把一个设备加入到组中的端点从组中移除,调用aps_RemoveGroup:
aps_Group_t *grp;
grp = aps_FindGroup( SAMPLEAPP_ENDPOINT, SAMPLEAPP_FLASH_GROUP );
if ( grp )
{
}
- Zigbee网络中单播、组播、广播通信
- Zigbee单播、组播、广播网络通信
- 网络通信:单播、广播、组播
- zigbee网络单播、广播和组播--简单笔记
- zigbee单播、组播、广播
- AF_DataRequest zigbee单播、组播、广播
- zigbee单播、组播、广播
- zigbee单播、组播、广播
- zigbee单播、组播、广播
- zigbee 广播 组播 单播
- zigbee单播、组播、广播
- Zigbee单播、组播、广播使用
- ZigBee组播通信原理
- 【Linux网络编程】广播、组播与本地网络通信
- ZigBee广播通信原理及ZigBee网络的一些特性
- Lniux网络通信三(组播和广播)
- 关注zigbee(五)--单播,组播,广播
- 网络通信中的单播、广播和组播的实现
- 希腊字母
- 匿名内部类
- 黑马程序员_7K面试题_交通灯管理系统
- split 函数
- Adobe Flash Builder 4.6 Premium破解——对于序列号无效的情况
- Zigbee网络中单播、组播、广播通信
- formValidator动态复制表单验证
- OR扩展
- 清水衙门成腐败重灾区:农机补贴2毛5被贪2毛1
- iOS开发——图片转PDF的实现方法
- Python中super的用法
- ogg-ha配置
- Combiners和Partitioner编程
- C语言的位段