- 8
- 0
- 约3.53千字
- 约 3页
- 2022-06-20 发布于上海
- 举报
Zigbee 单播、组播、广播网络通信 (2012-12-26 17:04:39)转载▼ 标签: z-stack zigbee 单播组播广播 分类: Zigbee
Zigbee 网络中进行数据通信主要有三种类型:单播、组播、广播。那这三种方式如何设置呢,在哪里设置呢,还记得之前学习的 Zigbee 协议栈进行数据发送是调用 AF_DataRequest 这个函数:
afStatus_t AF_DataRequest( afAddrType_t *dstAddr, //目的地址指针
endPointDesc_t *srcEP, //发送节点的端点描述符指针uint16 cID, //ClusID 簇 ID 号
uint16 len, //发送数据的长度
uint8 *buf, //指向存放发送数据的缓冲区指针
uint8 *transID,//传输序列号,该序列号随着信息的发送而
增加 uint8 options, //发送选项
uint8 radius //最大传输半径(发送的跳数)
)
参数 1:afAddrType_t *dstAddr 该参数包含了目的节点的网络地址、端点号及数据传送的模式,如单播、广播或多播等。
afAddrType_t 是个结构体如下:
typedef struct
{
union
{
uint16 shortAddr; //用于标识该节点网络地址的变量
} addr;
afAddrMode_t addrMode; //用于指定数据传送模式,单播、多播还是广播byte endPoint; //端点号
} afAddrType_t; // 其定义在 AF.h 中
在 Zigbee 中,数据包可以单点传送(unicast),多点传送(multicast)或者广播传送,所以必须有地址模式参数。一个单点传送数据包只发送给一个设备,多点传送数据包则要传送给一组设备,而广播数据包则要发送给整个网络的所有节点。因此上述结构体中的 afAddrMode_t addrMode 就是用于指定数据传送模式,是个枚举类型,可以设置为以下几个值,
typedef enum
{
afAddrNotPresent = AddrNotPresent, //表示通过绑定关系指定目的地址afAddr16Bit = Addr16Bit, //单播发送
afAddrGroup = AddrGroup, //组播afAddrBroadcast = AddrBroadcast //广播
} afAddrMode_t; enum
{
AddrNotPresent = 0,
AddrGroup = 1,
Addr16Bit = 2,
Addr64Bit = 3,
AddrBroadcast = 15
};
看到这里知道了通信方式在哪里设置了,那不同的通信模式,我们要怎么设置哪些参数呢? 单播:注意:其实单播有两种方式一种是绑定传输 my_DstAddr.addrMode=(afAddrMode_t) AddrNotPresent,一种是直接指定目标地址的单播传输,比如协调器就是0x0000。绑定后面再学吧!
单播绑定传输:
my_DstAddr.addrMode=(afAddrMode_t)Addr16Bit; //单播发送my_DstAddr.endPoint=GENERICAPP_ENDPOINT; //目的端口号my_DstAddr.addr.shortAddr=0; //按照绑定的方式进行单播,不需要指定目标地址,需要
先将两个设备绑定,将两个设备绑定后即可通信
直接指定目标地址的单播传输:是标准寻址模式,它将数据包发送给一个已经知道网络地址的网络设备,将 afAddrMode 设置为 Addr16Bit 并且在数据包中携带目标设备地址。
my_DstAddr.addrMode=(afAddrMode_t)Addr16Bit; //单播发送my_DstAddr.endPoint=GENERICAPP_ENDPOINT; //目的端口号my_DstAddr.addr.shortAddr=0x0000; //目标设备网络地址
广播:当应用程序需要将数据包发送给网络的每一个设备时,使用这种模式。地址模式设置为
AddrBroadcast。目标地址 my_DstAddr.addr.shortAddr 可以根据需求设置为下面广播地址的一种:
NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF)——数据包将被传送到网络上的所有设备, 包括睡眠中的设备。对于睡眠中的设备,数据包将被保留在其父亲节点直到查询到它,或者 消息超时(NWK_INDIRECT_MSG_TIMEOUT 在 f8wConifg.cfg 中)。
您可能关注的文档
最近下载
- 手术室护士的职业暴露与防护课件.pptx VIP
- 机械工程测试技术基础的期末考题及答案.docx VIP
- 药店医疗器械质量管理制度.docx VIP
- 高二物理电场综合测试练习试卷及答案.doc VIP
- (2023春)大象版六年级科学下册全册教案(教学设计).doc
- 社区获得性肺炎重症的护理查房.pptx VIP
- 高考物理复习《带电粒子在电场中的力电综合问题》强化练习含答案.pdf VIP
- 广告牌安装安全协议书范本(标准版).doc VIP
- 湖北省武汉市东湖新技术开发区 2024-2025学年七年级上学期期末道德与法治试卷.docx VIP
- 宝胜电缆中英文对照样本Product-Catalogue.pdf VIP
原创力文档

文档评论(0)