实验三ZigBee协议实验.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

实验三ZigBee协议实验

【实验目的】

了解ZigBee2007协议栈操作系统的工作机制

了解ZigBee2007协议栈应用程序框架的工作机制

了解ZigBee播送通信的原理

掌握在ZigBee网络中进行播送通信的方法

了解ZigBee组播通信的原理

掌握在ZigBee网络中进行组播通信的方法

【实验设备】

1、装有IAR开发环境的PC机一台

2、物联网开发设计平台所配备的根底实验套件一套

3、下载器一个

【实验要求】

1、播送通信

实验要求:在GenericApp应用程序框架下,编写程序,使得协调器周期性以播送的形式向终端节点发送数据“CoordBroadcast〞〔每隔5s播送一次〕,终端节点收到数据后,使开发板上的LED红灯状态翻转(如果LED原来是亮,那么熄灭LED;如果LED原来是灭的,那么点亮LED),同时向协调器发送字符串“EndDevicereceived!〞,协调器收到终端节点发回的数据后,通过串口输出到PC机,用户可以通过串口调试助手查看该信息。

设备:一个协调器,二个终端

2、组播通信

实验要求:在GenericApp应用程序框架下,编写程序,使得协调器周期性的以组播的形式向路由器发送数据“Group1〞〔每隔5s发送组播数据一次〕,组内的路由器收到数据后,使开发板上的红色LED状态翻转(如果LED原来是亮,那么熄灭LED;如果LED原来是灭的,那么点亮LED),同时向协调器发送自己的网络短地址和字符串“Routerreceived!〞,协调器收到路由器发回的数据后,通过串口输出到PC机,用户可以通过串口调试助手查看该信息。

设备:一个协调器,三个路由器,其中两个参加组,一个不参加组。

【实验原理】

1.无线数据传输模式:组播和播送

〔1〕组播:主机之间“一对一组〞的通讯模式,也就是参加了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求参加或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些参加组的主机。这样既能一次将数据传输给多个有需要〔参加组〕的主机,又能保证不影响其他不需要〔未参加组〕的主机的其他通讯。

组播afAddrType_t的类型变量afAddrType_tGroup_DstAddr;

组播内容的结构体:aps_Group_tWEBEE_Group;

参加组播参数的配置:

roup_DstAddr.addrMode=(afAddrMode_t)afAddrGroup;

Group_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;

Group_DstAddr.addr.shortAddr=WEBEE_GROUP;

组播:主机之间“一对所有〞的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息〔不管你是否需要〕,由于其不用路径选择,所以其网络本钱可以很低廉。有线电视网就是典型的播送型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号复原成画面。在数据网络中也允许播送的存在,但其被限制在二层交换机的局域网范围内,禁止播送数据穿过路由器,防止播送数据影响大面积的主机。

播送参数的配置,代码如下:

SampleApp_Periodic_DstAddr.addrMode=(afAddrMode_t)AddrBroadcast;SampleApp_Periodic_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;SampleApp_Periodic_DstAddr.addr.shortAddr=0xFFFF;

2.网络管理

网路管理主要包括两个方面的内容:

〔1〕查询本节点有关的地址信息

查询本节点的地址信息主要有以下几个方面:查询本节点的网络地址,MAC地址,父节点的网络地址以及父节点的MAC地址等内容。当然这些内容不需要用户去编写,在Zigbee协议栈中已经实现了上述功能的函数,用户只需要熟悉各个函数的使用方法即可。

Zigbee协议栈实现的网络管理函数如下:

Uint16NLME-GetShortAddr(void)

该函数返回该节点的网络地址。

bye*NLME-GetExtAddr(void)

该函数返回指向该节点MAC地址的指针。

Uint16NLME-GetCoordShortAddr(void)

该函数返回父节点的网络地址。

voidNLME-GetCoordExtShortAddr(byte*buf)

该函数的参数是指向存放父节点MAC地址的缓冲区指针

文档评论(0)

199****8042 + 关注
实名认证
内容提供者

相信自己,相信明天

1亿VIP精品文档

相关文档