ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:214.12KB ,
资源ID:1863250      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1863250.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ZigBee无线传感器网络拓朴结构获取实验.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ZigBee无线传感器网络拓朴结构获取实验.docx

1、ZigBee无线传感器网络拓朴结构获取实验实 验 报 告( 201 / 201 学年 第 学期)实验名称ZigBee无线传感器网络获取网络拓扑结构实验实验时间2015年 11月-2015年 12 月指导单位计算机学院指导教师李洋学生姓名张智超班级学号B14040923学院(系)计算机学院专 业软件工程实 验 报 告实验名称ZigBee无线传感器网络获取网络拓扑结构实验指导教师李洋实验类型自行设计(科研型)实验学时16实验时间2015.11-2015.12一、 实验目的和要求1.实验目的了解网络地址的分配方法,掌握获取节点地址的方法,掌握无线传感器网络的拓扑结构。2.实验内容(一)设计指标:1、

2、 编写程序建立无线传感器网络;2、 编写程序将自身的网络地址以及父节点网络地址发送给协调器;3、 编写程序实现串口控制命令;4、 编写程序将各个节点的网络地址以及父节点的网络地址显示在PC机上;(二)实验要求:1、 设计不同拓扑结构的无线传感器网络;2、 设计串口回调函数实现串口对网络控制;3、 设计网络地址获取程序;4、 设计各个节点的数据处理函数;5、 设计协调节点与上位机的串口通信程序;二、实验环境(实验设备) 硬件:PC机,CC2530传感器,IAR开发环境三、实验架构和原理及实验步骤:1.实验原理(1)ZigBee按照网络节点功能划分可分为终端节点(ep)、路由器节点(rp)和协调器

3、节点(cp)3种。其中,协调器(coordinator)是整个网络的核心,主要作用是启动网络,其方法是选择一个相对空闲的信道,形成一个PANID。协助建立网络中的安全层及处理应用层的绑定。当整个网络启动和配置完成之后,它的功能退化成一个协调器。路由器(router)主要功能是提供接力作用,能扩展信号的传输范围,因此一般情况下他应该一直处于活动状态,不应休眠。终端节点(end-device)加入已建立的网络即可,终端节点不具有网络维护功能。(2)ZigBee无线传感器网络组网过程包括两个步骤:主节点举起网络和子节点申请加入网络。采用的是分布式分配机制:协调器在建立网络之后使用0x0000作为自己

4、的网络地址。在路由器和终端加入网络以后,设备会自动给他分配16位的网络地址。(3)获取拓扑结构的大致思路为:(4)可能用到的函数uint16 NLME_GetShortAddr(void)该函数返回该节点的网络地址byte *NLME_GetExtAddr(void)获取设备自身IEEE地址uint16 NLME_GetCoordShortAddr( void )获取父设备网络地址void NLME_GetCoordExtAddr( byte * buf)获取父设备IEEE地址3.实验步骤:(1) 修改PAN_id。网络编号,用于区分不同的ZigBee网络。在文件f8wConfig.cfg中找

5、到-DZDAPP_CONFIG_PAN_ID=0xFFFF,将0xFFFF修改为本组编号0x2008。(2)获取当前节点代码的网络地址以及其父节点的网络地址的代码static void Broadcast_SendBackMessage( ) unsigned char *theMessageData,s200; uint16 i=0,n=0; uint16 mod=0; uint16 FaAdd,a; if(Broadcast_NwkState=DEV_END_DEVICE) unsigned char s110,s210;/存储当前节点以及父节点的地址 FaAdd=NLME_GetCoor

6、dShortAddr();/获取十进制的父节点地址 a=NLME_GetShortAddr();/十进制的当前节点地址 strcpy(s,END_DEVICE:); while(a)/将当前节点地址转化为字符串 mod=a%16; if(mod=9) *(s1+i)=mod+0; else *(s1+i)=mod+55; i+; a/=16; s1i=0; n=strlen(s1); if(n=3) strcat(s1,0); for(i=0;in/2;i+) char t; t=s1i; s1i=s1n-1-i; s1n-1-i=t; strcat(s,s1); i=0; if(!FaAdd

7、)/将父节点地址转化为字符串 strcpy(s2,0000); i=4; while(FaAdd) mod=FaAdd%16; if(mod=9) *(s2+i)=mod+0; else *(s2+i)=mod+55; i+; FaAdd/=16; s2i=0; n=strlen(s2); if(n=3) strcat(s2,0); for(i=0;in/2;i+) char t; t=s2i; s2i=s2n-1-i; s2n-1-i=t; strcat(s, Father:); strcat(s,s2); if(Broadcast_NwkState=DEV_ROUTER) unsigned

8、 char s120,s220; strcpy(s,ROUTER:); FaAdd=NLME_GetCoordShortAddr(); a=NLME_GetShortAddr(); while(a) mod=a%16; if(mod=9) *(s1+i)=mod+0; else *(s1+i)=mod+55; i+; a/=16; s1i=0; n=strlen(s1); if(n=3) strcat(s1,0); for(i=0;in/2;i+) char t; t=s1i; s1i=s1n-1-i; s1n-1-i=t; strcat(s,s1); i=0; if(!FaAdd) strc

9、py(s2,0000); i=4; while(FaAdd) mod=a%16; if(mod=9) *(s2+i)=mod+0; else *(s2+i)=mod+55; i+; FaAdd/=16; s2i=0; n=strlen(s2); if(n=3) strcat(s2,0); for(i=0;iclusterId ) case BROADCAST_CLUSTERID: if(osal_memcmp(pkt-cmd.Data, Coordinator Send!, osal_strlen(Coordinator Send!) Broadcast_SendBackMessage(); break; case BROADCAST_BACK_CLUSTERID: HalUARTWrite(0, pkt-cmd.Data, pkt-cmd.DataLength); HalUARTWrite(0, rn , 2); /Ha

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1