欢迎来到天天文库
浏览记录
ID:45759576
大小:1.04 MB
页数:21页
时间:2019-11-17
《zigbee协议栈网络拓扑实验-世界大学城》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Zigbee协议栈网络拓扑实验由Zigbee协议得知,Zigbee协议定义了3种网络拓扑协议,分别是星型、树型、Mesh(网状型)。其屮树型、Mesh型属于点对点的网络拓扑。他们各自有着以下特点:星廉网络:所有节点只能与协调器进行通信。树状网络:终端节点智能与父节点通信,路由节点可与子节点和父节点通信。Mesh网络:所有节点都是对等实体,任意两点之间都可以通信。1、实验内容为了实现上功能,整个应用程序应该具备以卜•基木功能:(1)、I•办调器自动建立一个网络;(2)、建立网络后,工作于采集模式,使用串口与PC机相连;(3)、其他路由节点和终端节
2、点自动发现该网络,并加入该网络;(4)、上位机运行Z-SensorMonitor软件进行解析协调器通过串口发來的信息;(5)、解析后的数据,显示在PC屏幕上。2、实验条件⑴、在PC机上(WinXP以上的32位系统平台)正确安装IAREmbeddedWorkbenchforMCS-51V7.51A集成开发环境;(2)、止确安装Z・stack协议栈;(3)、FANTAI_Zigbee开发评估板2个(插有FANTAI.Zigbee核心板);(4)、FANTAI_Zigbee传感器节点4个(插有FANTAI.Zigbee核心板);(5)、Z-Senso
3、rMonitor上位机软件;(6)、CC-Debugger多功能仿真器1个;(7)、USB线1根,串口线1根。3、实验原理木实验通过修改SensorDemo实验,使用IT公司官方软件Z-SensorMonitor,通过串口连接网络中的协调器,在软件界面上显示整个zigbee网络的拓扑结构。4、实验内容4・1、改造SensorDemo工程曲于官方工程中协调器和路曲器是一个方案需要通过方向键來进行设置并且各个节点都需要通过评估板上的方向按键主动触发报告,而我们的FANTAI_Zigbee传感器节点没有此按键,所以我们通过改造他来实现I■办调器、路由
4、器的分离并口路由器和终端节点在一进入网络之后立即主动发信息给协调器无需再使用按键。将光盘提供的ZStack-CC2530-2.2.0-1.3.0协议栈源码拷贝至您的工作目录,然后依次打开Project->zstack->Samples->SensorDemo->CC2530D中的SensorDemo.eww工程文件。我们可以查看左边Workspace工具栏中只有传感器节点(SensorEB)和协调器节点(CollectorEB),因此我们需要从协调器节点(CollectorEB)中继承出一个路由器节点。在Project菜单下找到EditConf
5、igurations,进去之后点击New按钮,弹!11NewConfiguration对话框,如下图所示填写,点击0K:这时应为路山器节点方案是从协调器节点方案继承出來的所以配置是完全和同的。选^[CollectorEB并选屮整个方案日冃冋刃曲】丽,打开Options选项,左边选择C/C++Compiler点开preprocessor选项卡在DefinedSymbols那小加多一个编译选项MY_TYPE_COLLECTOR在sapi.c文件的SAPIJnit()函数,找到下面语句:afSetMatch(sapi_epDesc.simpleDes
6、c->EndPoint,FALSE);修改为:#ifdefMY_TYPE_COLLECTORafSetMatch(sapi_epDesc.simpleDesc->EndPoint,TRUE);//FALSE#elseafSetMatch(sapi_epDesc.simpleDesc->EndPoint,FALSE);//FALSE#endif找到DemoCollector.c文件的函数voidzb_HandleOsalEvent(uintl6event)将if(event&ZB_ENTRY_EVENT)内的代码修改为以下内容:if(event&
7、ZB_ENTRY_EVENT){//blindLED1toindicatestarting/joininganetworkHalLedBlink(HAL_LED_1,0,50,500);HalLedSet(HAL_LED_2,HAL_LED_MODE_OFF);if(appState==APPJNIT){#ifdefMY_TYPE_COLLECTORlogicalType=ZG_DEVICETYPE_COORDINATOR;zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE,sizeof(uint8),&logi
8、calType);initUart(uartRxCB);#elselogicalType=ZG_DEVICETYPE_ROUTER;zb_WriteC
此文档下载收益归作者所有