当前位置:文档之家› 无线传感器网络实验报告

无线传感器网络实验报告

郑州航空工业管理学院无线传感器网络实验报告(第1版)20 14– 2015 第2学期赵成编着院系:电子通信工程姓名:专业:物联网工程学号:电子通信工程系2015年6月制实验一WSNs开发环境的建立一、实验目的了解基于TI CC2431/CC2530的WSNs基础知识,熟悉WSNs的开发环境,掌握Cygwin、TinyOS、SDCC、SmartRF Studio 7等软件的安装方法。

二、实验内容1.认识并观察WSNs节点模块的电路板;2.WSNs开发环境的建立:(1)Cygwin仿真软件的安装;(2)TinyOS 操作系统的安装;(3)SDCC小型设备C编译器的安装;(4)SmartRF Studio 7编程软件的安装;三、预备知识了解无线传感器网络的基本概念;熟悉无线传感器网络的结构及开发环境的建立。

四、实验设备1. 硬件环境配置计算机:Intel(R) Pentium(R) 及以上;内存:1GB及以上;实验设备:CC2431无线传感器网络节点模块;2. 软件环境配置操作系统:Microsoft Windows 7 Professional Service Pack 1;WSNs开发环境: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 操作系统时采用了shell脚本自动安装,请在下面写出执行shell脚本的指令。

运行指令:./4.在下面写出SDCC默认指定安装在Windows系统中的路径,安装在其它路径编译时会出现错误提示。

默认指定安装路径:C:\Progarm Files\SDCC5.安装TI Flash编程软件SmartRFProgr之后,系统成功安装设备的驱动程序,接着,打开编程软件,发现无法找到CC2431芯片,也就无法下载程序。

请问,出现这样情况的原因是什么?你是怎么解决的?首先检查接口是否拨到对应位置,进行正确连接。

无检查无误,需要检查cc2431芯片供电是够正常,不正常需要更换节点电池或者连接电源,如还是不可以使用,检查SmartRFProgr软件版本是否太低,升级至高版本。

我当时是因为SmartRFProgr版本太低,后来在网上下载了最新的版本,问题自动消失。

6.写出删除Cygwin程序的步骤。

(1)找到安装包,双击运行,到安装界面.默认选项,下一步.(2)到"Select Packages界面","Category " 选择"Uninstall"点击下一步.(3)等卸载完成.点击"确定"即可六、遇到的问题及解决方法找不到指定路径,需要建立指定路径的文件夹。

安装TI Flash编程软件SmartRFProgr之后,系统成功安装设备的驱动程序,接着,打开编程软件,发现无法找到CC2431芯片,也就无法下载程序。

首先检查接口是否拨到对应位置,进行正确连接。

无检查无误,需要检查cc2431芯片供电是够正常,不正常需要更换节点电池或者连接电源,如还是不可以使用,检查SmartRFProgr软件版本是否太低,升级至高版本。

我当时是因为SmartRFProgr版本太低,后来在网上下载了最新的版本,问题自动消失。

实验二WSNs节点模块LED灯的控制操作一、实验目的应用LED控制组件和Timer组件,掌握对节点模块上LED进行开关控制。

LED的通断时间采用摩尔斯编码,使用灯光输出“hello, world”信息。

二、实验内容1.使用cd指令将路径切换到\opt\\contrib\cc2431\Helloworld\下,查看其中的源码和源码;2.切换到/opt/contrib/cc2431/Helloworld路径下,编译HelloWorld 工程;3.下载到节点模块;4.观察并记录运行效果。

三、预备知识了解WSNs开发软件的相关知识;了解TinyOS操作系统的编程及工程基本的编译方法。

四、实验设备1. 硬件环境配置计算机:Intel(R) Pentium(R) 及以上;内存:1GB及以上;实验设备:CC2431无线传感器网络节点模块;2. 软件环境配置操作系统:Microsoft Windows 7 Professional Service Pack 1;WSNs开发环境:Cygwin、TinyOS、SDCC、SmartRF Studio 7。

五、实验分析1.是();是()。

(A) 模块文件,实现LED程序的运行部分代码。

(B) 配置文件,用于声明使用的各个组件及相互之间的连接关系。

2.源码中声明使用了四个模块,分别是:(1)MainC(2)HelloWorldM(3)LedsC(4)new TimerMilliC()其中,HelloWorldM 模块是本工程自定义的程序模块。

3.从源码可知,LED闪烁的基本时长是 1000 ms,其中:(1)' '保持 2000 ms;(2)'.'常亮 1000 ms,长闭1000 ms;(3)'-'常亮 3000 ms,长闭1000 ms。

4.观察程序的运行效果,对比源码,试分析:(1)()函数与()函数是事件驱动的么?是(2)()函数触发()函数的执行么?是(3)()函数与()函数是顺序执行的,还是并发执行的?是顺序执行的六、遇到的问题及解决办法基本没出现什么问题,就是在下载hex文件的时候节点的开关位置得适当调整实验三节点模块的串行通信一、实验目的熟悉TinyOS操作系统;熟悉message_t结构体,并解析实际传输的串行数据;掌握上位机与节点间的串行通信,尝试测试传输数据的获取。

二、实验内容1. 理解TinyOS中的串行通信格式---message_t结构体;2. 区分串行通信使用的message_t结构体和无线通信使用的message_t结构体的差异;3. 尝试通过实际的串行通信,分析message_t结构体传输数据的意义。

三、预备知识了解TinyOS操作系统的基本结构;了解基于TinyOS操作系统基本的程序开发方法。

四、实验设备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/contrib/cc2431/Serial_Echo_Test 路径,运行make cc2431 指令,得到hex文件,将其下载到节点模块。

2.在/opt/contrib/cc2431/Serial_Echo_Test路径下,按实际使用的串口号调整源代码中的ttySX值(X用实际数字替代)后,编译上位机的串行通信源代码“”,可以得到可执行的run程序。

输入的编译指令为:gcc –o run./run3.将节点模块连接至计算机,同时,在计算机上运行run可执行程序,观察并记录一批串行通信数据(2~3组即可),解释这些数据的意义。

(1)在TinyOS中想要串行发送的数据: 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 7E在TinyOS中,通过串行通信向PC传送数据时,在数据的开始部分,总是0x7E值先被输入,其后没有ACK的数据类型— 0x45值被输入。

(在TinyOS 中,0x42值是没有ACK的数据类型。

)接下来,表示串行消息的DispatchID 0x00被输入。

接着,对应TinyOS定义的串行消息格式的数据和2bytes CRC 字段被输入。

最后,作为完成通信的意义,0x7E被输入4.在\opt\\tos\types\路径下的源代码中定义了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字段写入发送数据包的节点的地址。

Length字段出现在header 字段后表示data区域的长度。

Group和type字段表示编译时设定的组ID和SerialActiveMessageC接口数组中放入的数字。

(在TinyOS 中,串行通信时,不填满group字段,以值0x00传送。

)六、遇到的问题及解决办法没有调整文件的ttySX的值后,导致gcc编译出现错误,调整之后能正常编译。

实验四节点模块温湿数据采集一、实验目的熟悉温湿一体化传感器SHT11的工作原理,基于TinyOS编程实现温湿数据采集,并利用TinyOS的Oscilloscope程序分析采集的数据。

二、实验内容1. 了解SHT11的工作原理及电气接口;2. 熟悉控制SHT11的程序代码;3. 基于TinyOS操作系统编译运行于CC2431节点模块上的温湿数据采集程序,并编译运行上位机程序,以图形化的方式观察数据。

三、预备知识了解TinyOS nesC软件编程;了解CC2431节点模块基本的应用方法。

相关主题