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

加入VIP,免费下载资源
 

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

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

下载须知

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

版权提示 | 免责声明

本文(无线传感器网络技术期末试卷.doc)为本站会员(风****)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

无线传感器网络技术期末试卷.doc

1、装 订 线2013-2014学年第一学期 计算机 学院期末考试卷无线传感器网络技术 学号: 姓名: 班级: 物联网班 成绩:评语:(考试题目及要求) 1. 以本学期授课内容为基础,在J9-C501实验室的博创实验箱上完成如下要求:1) 由协调器创建一个网络,PANID末三位为个人学号的末三位。2) 以实验箱的1号ZigBee模块为基础,加入前述网络,完成采集温度信息的过程,并发送给协 调器;3) 抽签抽到的题号是 4 ,以实验箱上的该ZigBee模块为基础,加入前述网络,完成相 关信息的采集并发送给协调器;4) 包括上述两个ZogBee模块在内,至少组织8个ZigBee模块加入前述ZigBee

2、网络,获取各自 节点的网络地址,并发送给协调器;5) 协调器通过串口和PC上位机进行联系,将收集到的传感器信息和网络地址信息发送给上位机6) 根据各节点网络地址信息进行网络拓扑分析; 2. 以上述过程为基础,撰写课程设计论文。参考格式包含论文题目、摘要、关键字、正文和参考文 献等。正文部分包含但不限于问题分析、实现思路、核心数据结构分析、设计与调试过程中遇到的 问题及解决办法等。以上内容要求至少1500字,不得直接以代码充作文字叙述。以WORD软件的 DOC文档格式保存,文件名为个人的姓名或者学号。 2. 除上述内容外,课程设计论文另添加两部分内容:对本学期该课程学习的总结和对教师的教学建 议

3、。 3. 上述各文件,包括实验所用的工程文件和源代码文件,以EMAIL邮件附件的形式,统一发送到 任课教师信箱:suogr。 4.课程论文含本封面打印一份上交任课老师处。 目 录【题目】- 2 -一、题目要求- 2 -二、平台要求- 2 -【摘要】- 2 -【关键字】- 3 -【正文】- 3 -一、实验分析及框架设计- 3 -1、实验分析- 3 -2、逻辑框架- 4 -二、实验设计以及实验步骤- 5 -(1):协调器:- 6 -(2)终端:- 8 -三、运行调试- 11 -【实验总结】- 13 -【参考文献】- 13 -【教学建议】- 13 -【题目】 一、题目要求 1. 以本学期授课内容为基

4、础,在J9-C501实验室的博创实验箱上完成如下要求:a、由协调器创建一个网络,PANID末三位为个人学号的末三位。b、以实验箱的1号ZigBee模块为基础,加入前述网络,完成采集温度信息的过程,并发送给协调器;c、以红外对射传感器模块为基础,加入前述网络,完成相关信息的采集并发送给协调器;d、括上述两个ZogBee模块在内,至少组织8个ZigBee模块加入前述ZigBee网络,获取各自节点的网络地址,并发送给协调器;e、器通过串口和PC上位机进行联系,将收集到的传感器信息和网络地址信息发送给上位机f、各节点网络地址信息进行网络拓扑分析; 2. 以上述过程为基础,撰写课程设计论文。 3.对本学

5、期该课程学习的总结和对教师的教学建议。二、平台要求 1:PC机上安装串口助手,PC的串口与博创物联网试验箱的串口连接好; 2:CC2530上运行zigbee2007协议栈。【摘要】 本实验主要实现的是终端节点采集自己的网络地址,父节点的网络地址以及传感器的数据,发送到协调器上,协调器再通过串口与PC相连接,在PC上通过串口助手向串口发送“gantaoaddr1”可显示当前的网络地址信息,再串口上输入“duanleidata”可显示温度和湿度,在带有干簧门磁开关终端节点的当有磁性物质时,PC上的串口助手会显示“SWITCH1Warning!”;在霍尔开关开关当有磁性物质时,PC上的串口助手会显示

6、“SWITCH2Warning!”。 实验使用的数据结构的定义包括 uint8 type3; uint8 myNWK4; uint8 pNWK4; char mdata14; char ID; 终端节点采集地址信息放到myNWK4; pNWK4;里面,采集的数据信息放到mdata14;里面,自身的设备号放到ID里面。将该数据结构通过无线射频发给协调器,协调器通过对设备号的匹配,选择执行相应的函数。【关键字】 Zigbee 2007协议栈 串口 红外对射 温湿度传感器 协调器【正文】 一、实验分析及框架设计1、实验分析本实验需要实现终端节点采集地址信息和与终端节点相连接的传感器的信息发送到协调器

7、上面,协调器再将这些信息发送到串口上。2、逻辑框架 (协调器) (终端)二、实验设计以及实验步骤在Coordinator.h完成数据结构定义:typedef struct RFTXBUF uint8 type3; uint8 myNWK4; uint8 pNWK4; char mdata14; char ID; RFTX;其中的uint8 type3; 存放模块的类型uint8 myNWK4;存放模块的当前网络地址uint8 pNWK4;存放模块的父节点网络地址char mdata14;存放数据信息;char ID; 存放设备号其中的设备号ID主要是方便后面的协调器的信息处理时选择执行处理函数

8、mdata里面主要采集终端的一些数据整个数据结构包含26个字节。 (1):协调器:主要函数的定义:void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pckt ); 信息反馈函数static void rxCB(uint8 port,uint8 event); 串口的回调函数,主要实现的是当在串口输入“gantaoaddr1”时,串口显示当前的网络地址信息,当输入“duanleidata”时,串口显示温度湿度信息。主要函数分析:1:在void GenericApp_Init( byte task_id )完成串口的配置(波特率为115200

9、),设置回调函数为reXB: halUARTCfg_t uartConfig; uartConfig.configured = TRUE; uartConfig.baudRate = HAL_UART_BR_115200; uartConfig.flowControl = FALSE; uartConfig.callBackFunc = rxCB; HalUARTOpen(0,&uartConfig); 2:在UINT16 GenericApp_ProcessEvent( byte task_id, UINT16 events )函数里面,当事件为AF_INCOMING_MSG_CMD: 执行

10、GenericApp_MessageMSGCB( MSGpkt ); case AF_INCOMING_MSG_CMD: GenericApp_MessageMSGCB( MSGpkt ); break;3:在void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )函数里面,主要完成协调器对接受到的数据进行处理: A: 将从终端接受到的数据放到结构体数组nodeinfo5里面; B: 匹配设备号(温湿度的设备号ID = 1 ,干簧门磁/霍尔开关的设备号为ID = 4), 当ID = 1时,将从终端接受到的数据包的温度放到Temp7,将

11、湿度放到char Humi7; 当ID = 4时,将从终端接受的数据包的中断信息放到char ganhuang1; char huoer1; 并执行相应的动作反馈,当终端的干簧门磁检测到有磁性物质时,与协调器相连的串口上会显示“SWITCH1Warning!”; 当终端的霍尔开关检测到磁性物质时,与协调器相连的串口上会显示“SWITCH2Warning!” if(thisid - 0) = 1) for(i = 0; i 7; i+) Tempi = mybuf.mdatai; Humii = mybuf.mdatai+7; if(thisid - 0) = 4) ganhuang0 = my

12、buf.mdata0; huoer0 = mybuf.mdata 1; if(ganhuang0 - 0) = 1) HalUARTWrite(0, SWITCH1 Warning! ,19); if(ganhuang1 - 0) = 1) HalUARTWrite(0, SWITCH2 Warning! ,19); 4:在回调函数 static void rxCB(uint8 port,uint8 event)里面当在PC上在串口助手输入是“gantaoaddr1”时,串口显示当前的网络地址信息,当输入“duanleidata”时,串口显示温度湿度信息。static void rxCB(ui

13、nt8 port,uint8 event) unsigned char changeline2=0x0A,0x0D;uint8 buf11;int i;HalUARTRead(0,buf,11); if(osal_memcmp(buf,gantaoaddr1,11) / for(i=0; i5; i+) HalUARTWrite(0,nodeinfoi.type,3); HalUARTWrite(0, NWK: ,6); HalUARTWrite(0,nodeinfoi.myNWK,4); HalUARTWrite(0, pNWK: ,7); HalUARTWrite(0,nodeinfoi.

14、pNWK,4); if(osal_memcmp(buf,duanleidata,11) HalUARTWrite(0,the message is from NWK: ,25); HalUARTWrite(0,nodeinfo0.myNWK,4); HalUARTWrite(0,changeline,2); HalUARTWrite(0, Temp: ,7); HalUARTWrite(0,Temp,7); HalUARTWrite(0, Humi: ,7); HalUARTWrite(0,Humi,7); (2)终端:主要函数定义:void GenericApp_SendTheMessage

15、( void ); 发送函数void To_string(uint8 *dest, char *src, uint8 length); 字符转换void Delay(uint n); 延时void InitIrda(void); 初始化终端void LedInit(void); l ed灯的初始化RFTX rftx; 定义了一个结构体变量void GenericApp_Init( byte task_id ) 应用层初始化#pragma vector = P1INT_VECTOR 中断服务程序的申明_interrupt void P1_ISR(void);主要函数分析:1:在void Gene

16、ricApp_Init( byte task_id )完成协议栈应用层的初始化, Sht11Init( ); 完成温湿度传感器的初始化, rftx.mdata0 = 0; 初始化数据包的第一个字节为0; rftx.mdata1 = 0; 初始化数据包的第二个字节为0; LedInit(); 完成LED灯初始化。 2:在UINT16 GenericApp_ProcessEvent( byte task_id, UINT16 events )里面,当终端节点的网络状态,及连接上协调器后,周期(1s一次)会执行GenericApp_SendTheMessage();函数。if(GenericApp_

17、NwkState=DEV_ROUTER)|(GenericApp_NwkState=DEV_END_DEVICE)osal_start_timerEx(GenericApp_TaskID, GENERICAPP_SEND_MSG_EVT, GENERICAPP_SEND_MSG_TIMEOUT ); if ( events & GENERICAPP_SEND_MSG_EVT ) / Send the message GenericApp_SendTheMessage(); osal_start_timerEx( GenericApp_TaskID, GENERICAPP_SEND_MSG_EV

18、T, GENERICAPP_SEND_MSG_TIMEOUT ); return (events GENERICAPP_SEND_MSG_EVT); 3:在void GenericApp_SendTheMessage( void )函数里面,会采集终端节点当前的网络号和父节点的网络号, 如果是温湿度传感器还会采集温湿度,也有干簧门磁/霍尔开关的中断信息,采集好后放到结构体变量rftx中,发送到协调器。void GenericApp_SendTheMessage( void ) /RFTX rftx; uint16 nwk; int i; /*/* 实现霍尔开关和干簧门磁开关中断信息的采集/*

19、InitIrda( ); for(i = 0; i 0) /中断 P1IFG &= (0x0c); Delay(1000); LED1 = !LED1; rftx.mdata0 = 1; if(P1IFG&0X04) 0) P1IFG &= (0x0c); Delay(1000); rftx.mdata1 = 1; LED1 = !LED1; if(P1IFG&0X08) 0) rftx.mdata1 = 0; P1IF = 0; /清中断标志三、运行调试Zigbee建网成功后,在串口助手输入 “gantaoaddr1”,会在串口助手上显示 当前的网络地址信息在串口助手上输入“duanleid

20、ata”,会在串口上显示温度和湿度当干簧门磁开关检测到磁性物质时,串口会显示 “SWITCH1Warning”;当霍尔开关检测到磁性物质时,串口会显示 “SWITCH2Warning”。 整体效果如下: 【实验总结】在本次实验中,以小组形式(段磊和甘涛),调试运行程序,在本次实验中通过对协调器和终端分别设计,组建网络号为1106的网络,以796F,7970,7971,7972,7973作为网络子节点号。在调试运行程序过程中,在获取网络子节点的基础之上,经过本次实验最终对于终端模块及协调器模块的调试,最终完成在终端中通过“gantaoaddr1”命令可以在zigbee网络获取本实验箱五个网络子节

21、点号,通过“duanleidata”命令可以获取1号模块的温湿度信息,在第4个终端,当干簧门磁开关检测到磁性物质时,串口会显示 “SWITCH1Warning”;当霍尔开关检测到磁性物质时,串口会显示 “SWITCH2Warning”。经验总结:1:要完成多个终端与协调器通信,特别是要完成协调器收集终端传感器发送上来的数据,完成不同的处理,可以采用通过设备号标示的方法,吧每个终端节点标示一个设备号ID,再在协调器上匹配设备号,完成相应的处理函数,要完成这一点就需要在整个实验的框架设计时,定义好自己数据包的数据结构,同时在开发中多注意模块化开发,制定统一的标准,方便以后添加硬件。2:在协调器筛选出信息,在串口助手上可以打印数据包(即定义的数据结构),来查看信息是否符合自己的设计和调试查错。【参考文献】 李文仲 Zigbee 无线网络技术入门与实战 北京航天航空大学出版社 【教学建议】 索老师这样的教学模式(在实验室讲解理论,后开展相应的实验)很好,这样我们可以比较深刻的理解教学内容。我觉得应该多配合实验室做一些理论知识的讲解那就更好了。word文档 可自由复制编辑

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922