实验10节点的建网与入网要点.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ZigBee实验十 在前面实验中,我们都是直接的去使用了一个网络,如果不是想对内核进行深入研究,完全可以不用去考虑TI协议栈的工作细节,只要懂得关键使用部分也一样可以对ZIGBEE进行开发。 为了对协议栈有更深入的了解认识,本实验对“协调器”的建网以及“路由器”“终端”的入网,做个简单的逻辑性介绍。 训练目的 通过本实验了解Z-STACK启动的过程中建网与入网的一个流程。 硬件: ZIGBEE 调试底板2个: 图10-1 ZIGBEE调试底板 UART转接板与转接线各1个: 图10-2 UART转接板与转接线 ZIGBEE仿真器1个; 图10-3 ZIGBEE仿真器 ZIGBEE模块2个; 图10-4 ZIGBEE模块 电源2个 图10-5 电源 串口延长线1根 图10-6 串口延长线 硬件连接图 图10-7 硬件连接 软件 IAR Embedded Workbench for MCS-51 7.51A集成开发环境; TI Z-STACK; 仿真器驱动; 串口调试助手。 网络形成 每个设备都有一组能被配置的参数(如被PC工具或者外部处理器配置),整个配置参数在代码中已经定义了默认值(在f8wconfig.cfg中)。在同一个网络中,所有设备的“网络细节”配置参数(如PANID,Channel等)应该被配置成一样的值。每个设备的“设备细节”配置参数(Coordinator,Router,Enddevice等)可以配置为不同的值。 但是,ZCD_NV_LOGICAL_TYPE必须被设置,确保: 有正确的一个设备作为协调器被配置; 所有电池供电的设备作为终端设备被配置。 一旦这些工作都完成,这个设备就可以以任意方式启动。协调器设备将建立网络,其他设备将发现和加入到这个网络中。 协调器格式化网络 协调器将扫描DEFAULT_CHANLIST(在f8wConfig.cfg里定义)指定的通道,最后在其中之一上形成网络。设备的PANID值与ZDAPP_CONFIG_PAN_ID值设置有关(ZDAPP_CONFIG_PAN_ID这个参数在配置文件f8wConfig.cfg)。如果协调器的ZDAPP_CONFIG_PAN_ID设置为OxFFFF,则协调器将产生一个随机的PANID,如果协调器的ZDAPP_CONFIG_PAN_ID设置为非0xFFFF值,则协调器根据自身的网络长地址(IEEE地址)或ZDAPP_CONFIG_PAN_ID值随机产生一个PANID,如果协调器的PANID的设置值为小于等于0x3FFF的有效值,协调器就会以这个特定的PANID值建立网络,但是,如果在默认的信道上已经有了该PANID值的网络存在,则协调器会继续搜寻其他的PANID,直到找到网络不冲突为止。 当所有参数配置好后,可以调用下面函数来格式化网络(以下函数不开源): ZStatus_t NLME_NetworkFormationRequest( uint16 PanId,uint8* ExtendedPANID, uint32 ScanChannels,byte ScanDuration, byte BeaconOrder,byte SuperframeOrder, byte BatteryLifeExtension ); 但一般不直接使用上面的函数建立网络,而是使用ZDO_StartDevice()函数来启动一个设备 路由器和终端设备加入网络 路由器和终端设备启动后,将扫描DEFAULT_CHANLIST指定的频道,如果ZDAPP_CONFIG_PAN_ID没有被定义为0xFFFF,则路由器将强制加入ZDAPP_CONFIG_PAN_ID定义的网络。 发现一个网络将调用下面函数(以下函数不开源): ZStatus_t NLME_NetworkDiscoveryRequest( uint32 ScanChannels, byte scanDuration); 该函数要求网络层去发现邻居路由器节点,并且应该在进行网络扫描之前调用,扫描的结果由ZStatus_t ZDO_NetworkDiscoveryConfirmCB()函数返回,其中: ScanChannels----准备扫描的信道号(信道号的范围11~26,即仅对2.4GHz频段有效)。 scanDuration----规定了在新的网络开始建立之前,其他网络可以扫描每个信道的时间长度。 发现网络存在后,就调用下面的函数加入网络。 ZStatus_t NLM

您可能关注的文档

文档评论(0)

tt435678 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档