zigbee网络通讯实验(单播、组播、广播).pdf

zigbee网络通讯实验(单播、组播、广播).pdf

ID:52928915

大小:2.85 MB

页数:18页

时间:2020-04-01

zigbee网络通讯实验(单播、组播、广播).pdf_第1页
zigbee网络通讯实验(单播、组播、广播).pdf_第2页
zigbee网络通讯实验(单播、组播、广播).pdf_第3页
zigbee网络通讯实验(单播、组播、广播).pdf_第4页
zigbee网络通讯实验(单播、组播、广播).pdf_第5页
资源描述:

《zigbee网络通讯实验(单播、组播、广播).pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、WeBee团队Zigbee组网实验教程9.网络通讯实验(点播、组播、广播)前言:Zigbee的通讯方式主要有三种点播、组播、广播。点播,顾名思义就是点对点通信,也就是2个设备之间的通讯,不容许有第三个设备收到信息;组播,就是把网络中的节点分组,每一个组员发出的信息只有相同组号的组员才能收到。广播,最广泛的也就是1个设备上发出的信息所有设备都能接收到。这也是ZigBee通信的基本方式。实现平台:网蜂ZigBee节点3个以上。分别用于协调器、路由器、终端。图1网蜂ZigBee节点设备实验现象:通过数据的相互传输来了解单播、组播、广播含义。掌握编程方法

2、。实验讲解:实验依然使用我们熟悉的SampleApp.eww工程来进行。前面我们做的1小时实现数据传输,其实就是一个广播的通讯,实际上ZigBee2节点以上就可以组网和通讯了,大家可不要认为一定要好几个节点才能完成组网。同时,我们需要了解协议栈设计者是如何让我们通过函数实现三种数据发送形式的。1WeBee团队Zigbee组网实验教程9.1点播(点对点通信)点播描述的就是网络中2个节点相互通信的过程。确定通信对象的就是节点的短地址。下面我们在SampleApp例程完通过简单的修改完成单播实验。为了简化大家了理解。数据发送和接收的内容按照“一小时实现

3、无线数据传输”章节来描述。我们打开AF.h文件,找到下面代码。图2typedefenum{afAddrNotPresent=AddrNotPresent,afAddr16Bit=Addr16Bit,afAddr64Bit=Addr64Bit,afAddrGroup=AddrGroup,afAddrBroadcast=AddrBroadcast}afAddrMode_t;该类型是一个枚举类型:当addrMode=Addr16Bit时,对应点播方式;当addrMode=AddrGroup时,对应组播方式;当addrMode=AddrBroadcast

4、时,对应广播方式;按照以往的步骤,打开SampleApp.c文件2WeBee团队Zigbee组网实验教程图3可发现已经存在代码如下:afAddrType_tSampleApp_Periodic_DstAddr;afAddrType_tSampleApp_Flash_DstAddr;分别是组播和广播前面的定义。我们按照格式来添加自己的点播如下(如图3所示):afAddrType_tPoint_To_Point_DstAddr;//网蜂点对点通信定义提示:gotodefinitionofafAddrType_t可以找到刚才的枚举内容。下边我们对Poi

5、nt_To_Point_DstAddr一些参数进行配置,找到下面的位置,参考SampleApp_Periodic_DstAddr和SampleApp_Flash_DstAddr我们进行自己的配置。加入如下代码(如图4所示)://网蜂点对点通讯定义Point_To_Point_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;//点播Point_To_Point_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;Point_To_Point_DstAddr.addr.shortAddr=0x00

6、00;//发给协调器第三行的意思是点播的发送对象是0x0000,也就是协调器的地址。节点和协调器点对点通讯。如图所示:3WeBee团队Zigbee组网实验教程图4继续添加自己的点对点发送函数,代码如下(图5所示):voidSampleApp_SendPointToPointMessage(void){uint8data[10]={0,1,2,3,4,5,6,7,8,9};if(AF_DataRequest(&Point_To_Point_DstAddr,&SampleApp_epDesc,SAMPLEAPP_POINT_TO_POINT_CLUS

7、TERID,10,data,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS){}else{//Erroroccurredinrequesttosend.}}4WeBee团队Zigbee组网实验教程其中Point_To_Point_DstAddr我们之前已经定义,我们在SampleApp.h中加入SAMPLEAPP_POINT_TO_POINT_CLUSTERID的定义如下(图6所示):#defineSAMPLEAPP_POINT_TO_POINT_CLU

8、STERID4//传输编号图5图65WeBee团队Zigbee组网实验教程接下来为了测试我们的程序,我们把“1小时实现数据传输”中Sam

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。