2015无线传感器网络实验报告.doc

上传人:F****n 文档编号:98008992 上传时间:2019-09-07 格式:DOCX 页数:24 大小:1.03MB
返回 下载 相关 举报
2015无线传感器网络实验报告.doc_第1页
第1页 / 共24页
2015无线传感器网络实验报告.doc_第2页
第2页 / 共24页
2015无线传感器网络实验报告.doc_第3页
第3页 / 共24页
2015无线传感器网络实验报告.doc_第4页
第4页 / 共24页
2015无线传感器网络实验报告.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《2015无线传感器网络实验报告.doc》由会员分享,可在线阅读,更多相关《2015无线传感器网络实验报告.doc(24页珍藏版)》请在金锄头文库上搜索。

1、郑州航空工业管理学院无线传感器网络实验报告(第1版)20 14 2015 第2学期赵成 编著院系:电子通信工程姓名: 专业:物联网工程 学号: 电子通信工程系2015年6月制为提高统计人员的工作效率,专门为统计人员配备计算机,实行报账、学籍、学校国有固定资产联网,为确保数据的准确性,我们为统计人员配备U盘,对原始数据进行保存,减少和杜绝虚报、瞒报、漏报、错报等现象的发生。实验一WSNs开发环境的建立一、实验目的了解基于TI CC2431/CC2530的WSNs基础知识,熟悉WSNs的开发环境,掌握Cygwin、TinyOS、SDCC、SmartRF Studio 7等软件的安装方法。二、实验内

2、容1认识并观察WSNs节点模块的电路板;2WSNs开发环境的建立:(1)Cygwin仿真软件的安装;(2)TinyOS 2.x操作系统的安装;(3)SDCC小型设备C编译器的安装;(4)SmartRF Studio 7编程软件的安装;三、预备知识了解无线传感器网络的基本概念;熟悉无线传感器网络的结构及开发环境的建立。四、实验设备1. 硬件环境配置计算机:Intel(R) Pentium(R) 及以上;内存:1GB及以上;实验设备:CC2431无线传感器网络节点模块;2. 软件环境配置操作系统:Microsoft Windows 7 Professional Service Pack 1;WSN

3、s开发环境:Cygwin、TinyOS、SDCC、SmartRF Studio 7。五、实验分析1安装的Cygwin仿真软件时选择Install from Internet还是Install from Local Directory。(在正确的前面打勾)2在安装Cygwin时,需要选择安装包,如下图所示,在箭头所指向的位置,表示对所有(All)包的操作,点击循环按钮,观察四种安装方式格式什么?写在下面。图1 Cygwin Setup Select Package安装方式:Default、Install、Reinstall、Uninstall。 3安装TinyOS 2.x操作系统时采用了shel

4、l脚本自动安装,请在下面写出执行shell脚本的指令。运行指令:./Install_TinyOS2.x.sh 4在下面写出SDCC默认指定安装在Windows系统中的路径,安装在其它路径编译时会出现错误提示。 默认指定安装路径:C:Progarm FilesSDCC 5安装TI Flash编程软件SmartRFProgr之后,系统成功安装设备的驱动程序,接着,打开编程软件,发现无法找到CC2431芯片,也就无法下载程序。请问,出现这样情况的原因是什么?你是怎么解决的?首先检查接口是否拨到对应位置,进行正确连接。无检查无误,需要检查cc2431芯片供电是够正常,不正常需要更换节点电池或者连接电源

5、,如还是不可以使用,检查SmartRFProgr软件版本是否太低,升级至高版本。我当时是因为SmartRFProgr版本太低,后来在网上下载了最新的版本,问题自动消失。 6写出删除Cygwin程序的步骤。(1)找到setup-x86.exe安装包,双击运行,到安装界面.默认选项,下一步.(2) 到Select Packages界面,Category 选择Uninstall点击下一步. (3)等卸载完成.点击确定即可 六、遇到的问题及解决方法 找不到指定路径,需要建立指定路径的文件夹。安装TI Flash编程软件SmartRFProgr之后,系统成功安装设备的驱动程序,接着,打开编程软件,发现无

6、法找到CC2431芯片,也就无法下载程序。首先检查接口是否拨到对应位置,进行正确连接。无检查无误,需要检查cc2431芯片供电是够正常,不正常需要更换节点电池或者连接电源,如还是不可以使用,检查SmartRFProgr软件版本是否太低,升级至高版本。我当时是因为SmartRFProgr版本太低,后来在网上下载了最新的版本,问题自动消失。 实验二WSNs节点模块LED灯的控制操作一、实验目的应用LED控制组件和Timer组件,掌握对节点模块上LED进行开关控制。LED的通断时间采用摩尔斯编码,使用灯光输出“hello, world”信息。二、实验内容1使用cd指令将路径切换到opttinyos-

7、2.xcontribcc2431Helloworld下,查看其中的HelloWorld.nc源码和HelloWorldM.nc源码;2切换到/opt/tinyos-2.x/contrib/cc2431/Helloworld路径下,编译HelloWorld工程;3下载app.hex到节点模块;4观察并记录运行效果。三、预备知识了解WSNs开发软件的相关知识;了解TinyOS操作系统的编程及工程基本的编译方法。四、实验设备1. 硬件环境配置计算机:Intel(R) Pentium(R) 及以上;内存:1GB及以上;实验设备:CC2431无线传感器网络节点模块;2. 软件环境配置操作系统:Micro

8、soft Windows 7 Professional Service Pack 1;WSNs开发环境:Cygwin、TinyOS、SDCC、SmartRF Studio 7。五、实验分析1HelloWorld.nc是( );HelloWorldM.nc是( )。(A) 模块文件,实现LED程序的运行部分代码。 (B) 配置文件,用于声明使用的各个组件及相互之间的连接关系。 2HelloWorld.nc源码中声明使用了四个模块,分别是:(1)MainC(2)HelloWorldM(3)LedsC(4)new TimerMilliC()其中,HelloWorldM模块是本工程自定义的程序模块。3

9、从HelloWorldM.nc源码可知,LED闪烁的基本时长是1000ms,其中:(1) 保持2000ms;(2).常亮1000ms,长闭1000ms;(3)-常亮3000ms,长闭1000ms。4观察程序的运行效果,对比HelloWorldM.nc源码,试分析:(1)Timer.startOneShot()函数与Timer.fired()函数是事件驱动的么? 是(2) Timer.startOneShot()函数触发Timer.fired()函数的执行么? 是 (3)Timer.startOneShot()函数与Timer.fired()函数是顺序执行的,还是并发执行的? 是顺序执行的 六、

10、遇到的问题及解决办法 基本没出现什么问题,就是在下载hex文件的时候 节点的开关位置得适当调整 实验三 节点模块的串行通信一、实验目的熟悉TinyOS操作系统;熟悉message_t结构体,并解析实际传输的串行数据;掌握上位机与节点间的串行通信,尝试测试传输数据的获取。二、实验内容1. 理解TinyOS中的串行通信格式-message_t结构体;2. 区分串行通信使用的message_t结构体和无线通信使用的message_t结构体的差异;3. 尝试通过实际的串行通信,分析message_t结构体传输数据的意义。三、预备知识了解TinyOS操作系统的基本结构;了解基于TinyOS操作系统基本的

11、程序开发方法。四、实验设备1. 硬件环境配置计算机:Intel(R) Pentium(R) 及以上;内存:1GB及以上;实验设备:CC2431无线传感器网络节点模块;2. 软件环境配置操作系统:Microsoft Windows 7 Professional Service Pack 1;WSNs开发环境:Cygwin、TinyOS、SDCC、SmartRF Studio 7、GCC。五、实验步骤1编译节点模块程序在Cygwin环境下,切换至/opt/tinyos-2.x/contrib/cc2431/Serial_Echo_Test路径,运行make cc2431指令,得到hex文件,将其下

12、载到节点模块。2在/opt/tinyos-2.x/contrib/cc2431/Serial_Echo_Test路径下,按实际使用的串口号调整Serial_Echo_PC_Program.h源代码中的ttySX值(X用实际数字替代)后,编译上位机的串行通信源代码“Serial_Echo_PC_Program.c”,可以得到可执行的run程序。输入的编译指令为:gcc o run Serial_Echo_PC_Program.c./run3 将节点模块连接至计算机,同时,在计算机上运行run可执行程序,观察并记录一批串行通信数据(23组即可),解释这些数据的意义。(1)在TinyOS中想要串行发

13、送的数据: FF FF 20 27 0A xx 7E xx实际被传送的数据: 7E 45 00 FF FF 20 27 0A xx 7D 5E xx CRC1 CRC2 7E(2)在TinyOS中想要串行发送的数据: FF FF 20 27 0A xx 7D xx实际被传送的数据: 7E 45 00 FF FF 20 27 0A xx 7D 5D xx CRC1 CRC2 7E(3)在TinyOS中想要串行发送的数据: FF FF 20 27 0A xx 7E 7D xx实际传送的数据: 7E 45 00 FF FF 20 27 0A xx 7D 5E 7D 5D xx CRC1 CRC2 7

14、E在TinyOS中,通过串行通信向PC传送数据时,在数据的开始部分,总是0x7E值先被输入,其后没有ACK的数据类型 0x45值被输入。(在TinyOS 1.X中,0x42值是没有ACK的数据类型。)接下来,表示串行消息的DispatchID 0x00被输入。接着,对应TinyOS定义的串行消息格式的数据和2bytes CRC字段被输入。最后, 作为完成通信的意义,0x7E被输入4. 在opttinyos-2.xtostypes路径下的message.h源代码中定义了message_t结构体,在下面列出该结构体的定义。typedef nx_struct serial_header nx_am_addr_t dest; nx_am_addr_t src; nx_uint8_t length; nx_am_group_t group; nx_am_id_t type;serial_header_t;第一字段dest字段表示收到串行消息的硬件的地址,一般使用0xFFFF。Src字段写入发送数据包的节点的地址。Leng

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号