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

上传人:b****4 文档编号:5001730 上传时间:2022-12-12 格式:DOCX 页数:14 大小:23.93KB
下载 相关 举报
无线传感器网络实验报告.docx_第1页
第1页 / 共14页
无线传感器网络实验报告.docx_第2页
第2页 / 共14页
无线传感器网络实验报告.docx_第3页
第3页 / 共14页
无线传感器网络实验报告.docx_第4页
第4页 / 共14页
无线传感器网络实验报告.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

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

《无线传感器网络实验报告.docx》由会员分享,可在线阅读,更多相关《无线传感器网络实验报告.docx(14页珍藏版)》请在冰豆网上搜索。

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

无线传感器网络实验报告

郑州航空工业管理学院

无线传感器网络实验报告

(第1版)

2014–2015第2学期

赵成编着

院  系:

  电子通信工程     

姓  名:

          

专  业:

  物联网工程     

学  号:

        

电子通信工程系

2015年6月制

实验一 WSNs开发环境的建立

一、实验目的

  了解基于TICC2431/CC2530的WSNs基础知识,熟悉WSNs的开发环境,掌握Cygwin、TinyOS、SDCC、SmartRFStudio7等软件的安装方法。

二、实验内容

1.认识并观察WSNs节点模块的电路板;

2.WSNs开发环境的建立:

(1)Cygwin仿真软件的安装;

(2)TinyOS操作系统的安装;

(3)SDCC小型设备C编译器的安装;

(4)SmartRFStudio7编程软件的安装;

三、预备知识

  了解无线传感器网络的基本概念;熟悉无线传感器网络的结构及开发环境的建立。

四、实验设备

1.硬件环境配置

计算机:

Intel(R)Pentium(R)及以上;

内存:

1GB及以上;

实验设备:

CC2431无线传感器网络节点模块;

2.软件环境配置

操作系统:

MicrosoftWindows7ProfessionalServicePack1;

WSNs开发环境:

Cygwin、TinyOS、SDCC、SmartRFStudio7。

五、实验分析

1.安装的Cygwin仿真软件时选择□InstallfromInternet还是√□InstallfromLocalDirectory。

(在正确的前面打勾)

2.在安装Cygwin时,需要选择安装包,如下图所示,在箭头所指向的位置,表示对所有(All)包的操作,点击循环按钮,观察四种安装方式格式什么?

写在下面。

图1CygwinSetup–SelectPackage

安装方式:

Default、Install、Reinstall、Uninstall。

3.安装TinyOS操作系统时采用了shell脚本自动安装,请在下面写出执行shell脚本的指令。

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

默认指定安装路径:

C:

\ProgarmFiles\SDCC

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

请问,出现这样情况的原因是什么?

你是怎么解决的?

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

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

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

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

(1)找到安装包,双击运行,到安装界面.默认选项,下一步.

(2)到"SelectPackages界面","Category"选择"Uninstall"点击下一步.

(3)等卸载完成.点击"确定"即可

六、遇到的问题及解决方法

找不到指定路径,需要建立指定路径的文件夹。

安装TIFlash编程软件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.软件环境配置

操作系统:

MicrosoftWindows7ProfessionalServicePack1;

WSNs开发环境:

Cygwin、TinyOS、SDCC、SmartRFStudio7。

五、实验分析

1.是();是()。

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

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

2.源码中声明使用了四个模块,分别是:

(1)MainC

(2)HelloWorldM

(3)LedsC

(4)newTimerMilliC()

其中,HelloWorldM模块是本工程自定义的程序模块。

3.从源码可知,LED闪烁的基本时长是1000ms,其中:

(1)''保持2000ms;

(2)'.'常亮1000ms,长闭1000ms;

(3)'-'常亮3000ms,长闭1000ms。

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.软件环境配置

操作系统:

MicrosoftWindows7ProfessionalServicePack1;

WSNs开发环境:

Cygwin、TinyOS、SDCC、SmartRFStudio7、GCC。

五、实验步骤

1.编译节点模块程序

在Cygwin环境下,切换至/opt/contrib/cc2431/Serial_Echo_Test路径,运行makecc2431指令,得到hex文件,将其下载到节点模块。

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

输入的编译指令为:

gcc–orun

./run

3.将节点模块连接至计算机,同时,在计算机上运行run可执行程序,观察并记录一批串行通信数据(2~3组即可),解释这些数据的意义。

(1)在TinyOS中想要串行发送的数据:

FFFF20270Axx7Exx

实际被传送的数据:

7E4500FFFF20270Axx7D5ExxCRC1CRC27E

(2)在TinyOS中想要串行发送的数据:

FFFF20270Axx7Dxx

实际被传送的数据:

7E4500FFFF20270Axx7D5DxxCRC1CRC27E

(3)在TinyOS中想要串行发送的数据:

FFFF20270Axx7E7Dxx

实际传送的数据:

7E4500FFFF20270Axx7D5E7D5DxxCRC1CRC27E

在TinyOS中,通过串行通信向PC传送数据时,在数据的开始部分,总是0x7E值先被输入,其后没有ACK的数据类型—0x45值被输入。

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

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

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

最后,作为完成通信的意义,0x7E被输入

4.在\opt\\tos\types\路径下的源代码中定义了message_t结构体,在下面列出该结构体的定义。

typedefnx_structserial_header{

nx_am_addr_tdest;

nx_am_addr_tsrc;

nx_uint8_tlength;

nx_am_group_tgroup;

nx_am_id_ttype;

}serial_header_t;

第一字段dest字段表示收到串行消息的硬件的地址,一般使用0xFFFF。

Src字段写入发送数据包的节点的地址。

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

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

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

6、遇到的问题及解决办法

没有调整文件的ttySX的值后,导致gcc编译出现错误,调整之后能正常编译。

实验四 节点模块温湿数据采集

一、实验目的

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

二、实验内容

1.了解SHT11的工作原理及电气接口;

2.熟悉控制SHT11的程序代码;

3.基于TinyOS操作系统编译运行于CC2431节点模块上的温湿数据采集程序,并编译运行上位机程序,以图形化的方式观察数据。

三、预备知识

  了解TinyOSnesC软件编程;了解CC2431节点模块基本的应用方法。

四、实验设备

1.硬件环境配置

计算机:

Intel(R)Pentium(R)及以上;

内存:

1GB及以上;

实验设备:

CC2431无线传感器网络节点模块;

2.软件环境配置

操作系统:

MicrosoftWindows7ProfessionalServicePack1;

WSNs开发环境:

Cygwin、TinyOS、SDCC、SmartRFStudio7、GCC、JAVA。

五、实验步骤

1.观察并绘制SHT11与CC2431的接口电路。

2.TinyOS操作系统中,控制SHT11传感器的源代码分别是:

(1)

(2)

3.节点模块温湿数据采集应用工程为\opt\\contrib\cc2431\OscilloscopeSHT11路径下的OscilloscopeC组件工程。

OscilloscopeC组件由以下5个组件组成:

(1)MainC

(2)TimerC

(3)SensirionSht11C

(4)SerialActiveMessageC

(5)LedsC

4.切换到/opt/contrib/cc2431/OscilloscopeSHT11路径下,为了编译得到CC2431运行的,需要执行以下指令:

MakeCC2431

使用Java程序启动SerialForwarder服务器程序,需要执行以下指令:

路径:

/opt/tinyos‐contrib/Oscilloscope/java

指令:

切换到/opt/contrib/cc2431/OscilloscopeSHT11/java路径下,分别执行以下指令:

(1)make

(2)./run

显示运行效果:

六、遇到的问题及解决办法

没有在设备管理器中找到当前节点使用的COM编号,设置好上面的命令。

根据在设备管理器中找到当前节点使用的

实验五基本的无线通信协议

一、实验目的

了解无线传感器网络中使用的MAC协议的特性及其应用方法;通过简单的无线发送接收实例,熟悉TinyOS中基本的RF无线通信原理。

二、实验内容

1.了解节点的基本无线MAC协议—CSMA/CA;

2.理解TinyOS操作系统中提供的无线通信ActiveMessageC,AMSenderC以及AMReceiverC组件;

3.利用BasicMAC实例了解Broadcast和Unicast无线通信;

三、预备知识

  了解TinyOS操作系统程序开发的原理;了解Broadcast和Unicast无线通信原理。

四、实验设备

1.硬件环境配置

计算机:

Intel(R)Pentium(R)及以上;

内存:

1GB及以上;

实验设备:

CC2431无线传感器网络节点模块;

2.软件环境配置

操作系统:

MicrosoftWindows7ProfessionalServicePack1;

WSNs开发环境:

Cygwin、TinyOS、SDCC、SmartRFStudio7、GCC。

五、实验步骤

1.切换路径到\opt\\contrib\cc2431\BasicMAC目录,打开

源程序,观察BasicMACM模块由哪些TinyOS操作系统模块组成?

(1)MainC

(2)TimerMilliC

(3)PhotoSensorC(4)ActiveMessageC

(5)PhotoSensorC(6)AMSenderC

(7)AMReceiverC

2.为了得到具有0号,1号,2号ID的hex文件,需要在Cygwin下依次执行以下指令:

(1)makecc2431

(2)makecc2431

(3)makecc2431

(4)makecc2431

3.在源代码中,修改函数的首个参数:

eventvoid(error_tresult,uint16_tdata){

if(call(ToAddr,&sendmsg,call(&sendmsg))==SUCCESS){

call();

}

(1)函数的首个参数为AM_BROADCAST_ADDR,表示:

√□Broadcast通信□Unicast通信

(2)函数的首个参数为特定节点的地址(ID),表示:

□Broadcast通信√□Unicast通信

4.写出实验中观察到的无线通信的运行效果。

如果打开2个传感器节点的电源,则会看到每隔1秒GreenLED和YellowLED指示灯闪烁。

此外,一边YellowLED瞬间闪烁时(发送完数据后),通过另一边节点的RedLED(发送的数据全都收到后)反复打开/关闭,可以确认数据的发送接收运行没有异常。

六、遇到的问题及解决办法

基本实现了预期目标,就是在运行“makecc2431”指令时,忘记更改X的值为0,1,2,而出现错误。

改变之后就观察到预期的实验现象。

实验六WSNs节点射频功率及信道控制

一、实验目的

掌握CC2431节点模块的射频功率控制,以控制数据的覆盖范围;掌握CC2431节点模块的信道控制,以避免不同模块间的传输冲突。

二、实验内容

1.理解Powercontrol及Multichannel;

2.了解CC2431上提供的Power级别及信道信息;

3.通过实践掌握CC2431节点模块的powercontrol及multichannel控制。

三、预备知识

  了解TinyOS操作系统程序开发的原理;了解CC2431的功率控制;了解CC2431的多信道切换控制。

四、实验设备

1.硬件环境配置

计算机:

Intel(R)Pentium(R)及以上;

内存:

1GB及以上;

实验设备:

CC2431无线传感器网络节点模块;

2.软件环境配置

操作系统:

MicrosoftWindows7ProfessionalServicePack1;

WSNs开发环境:

Cygwin、TinyOS、SDCC、SmartRFStudio7、GCC。

五、实验步骤

1.CC2431可以传送从最高dBm()到最低dBm()的电波,接收侧接收的电波强度在-94dBm()以上时可以接收电波。

2.CC2431RF部分支持26个Multichannel中GHz频带的16个信道。

各信道的频带由下面的公式定义:

F=2405+5(k-11)MHz,k=11,12…26

3.在路径/opt/contrib/cc2431/MCH_PTRSSI下,MCH_PTRSSIM模块调用了TinyOS操作系统模块:

MainC、TimerMilliC、BusyWaitMicroC、ActiveMessageC、AMSenderC、ActiveMessageC、HAL_CC2430ControlC及SerialActiveMessageC等8个模块。

4.在源代码中,修改taskvoidRF_Configuration_Setting()任务中的代码切换RF功率及信道,写出以此执行的编译指令,并观察运行效果(附运行时接收的数据图)。

cd/opt/contrib/cc2431

cdMCH_PTRSSI

运行结果:

六、遇到的问题及解决办法

基本完成了预期的现象,了解了SHT11的工作原理及电气接口,熟悉控制SHT11的程序代码,基于TinyOS操作系统编译运行于CC2431节点模块上的温湿数据采集程序,并编译运行上位机程序,以图形化的方式观察了数据。

实验七多传感器数据测量

一、实验目的

了解如何依次采集、处理节点上安装的光敏传感器,温湿一体化传感器,红外线传感器的数值;基于前面实验中使用过的组件和接口,现实依次采集且串行传送节点上安装的4种传感器测量值。

二、实验内容

1.了解各传感器的组件和接口;

2.理解依次获得4种传感器的测量值的方法;

3.尝试通过SerialTest程序,直接确认串行传入的数据。

三、预备知识

  了解TinyOS操作系统程序开发的原理;了解各类型传感器的控制。

四、实验设备

1.硬件环境配置

计算机:

Intel(R)Pentium(R)及以上;

内存:

1GB及以上;

实验设备:

CC2431无线传感器网络节点模块;

2.软件环境配置

操作系统:

MicrosoftWindows7ProfessionalServicePack1;

WSNs开发环境:

Cygwin、TinyOS、SDCC、SmartRFStudio7、GCC。

五、实验步骤

1.将路径切换至/opt/contrib/cc2431/Allsensors目录下,打开AllsensorsAppC源代码,查看AllsensorsC模块调用了哪些模块?

AllsensorsC,MainC,LedsC,TimerMilliC,SensirionSht11C,PhotoSensorC,UltraredSensorC,SerialActiveMessageC

2.编译Allsensors工程程序,安装至节点模块,运行程序,观察并记录采集的传感器数据(附图)。

运行cygwin

cd/opt/contrib/cc2431

cdAllsensors

编译makecc2431

首先将下载了Allsensors例题的HBE-Ubi-CC2431节点通过USB连接线与PC连接,使USBMCU开关指向RS232一侧。

运行文件,可以看到如右图所示画面。

在SerilTest上单击PortConfiguration,设定Port及Baud值。

Port是设备管理器中设定的节点的COM编号,Baud值为57600。

单击Ok按钮。

单击Ok按钮后,如果单击SerialTest程序的OpenPort按钮和BinaryTypeDisplay,可以得到如右图所示结果。

上面图中显示的数据是在Allsensors程序中存储的Seq,Temp,Humi,Photo,Ultrared值。

运行结果如下:

六、遇到的问题及解决办法

在SerilTest上单击PortConfiguration,设定Port及Baud值时。

Port是设备管理器中设定的节点的COM编号与PC不一致导致错误,进行重新设定后,再设定Baud值为57600。

单击Ok按钮,即出现预期结果。

实验八WSNs树形网络的多跳路由

一、实验目的

采集节点上的光敏传感器,温湿传感器以及红外线传感器的数值,之后,通过Tree路由构成的多跳网络,将采集的数据传给Sink节点,再由上位机程序显示。

通过该实践项目,熟悉利用节点的USN编程算法。

二、实验内容

1.按顺序调用节点的多个传感器的方法;

2.对Tree路由的理解及应用;

3.建立利用多个传感器节点的多跳路由网络。

三、预备知识

  了解TinyOS操作系统程序开发的原理;了解各类型传感器的控制;了解路由算法。

四、实验设备

1.硬件环境配置

计算机:

Intel(R)Pentium(R)及以上;

内存:

1GB及以上;

实验设备:

CC2431无线传感器网络节点模块;

2.软件环境配置

操作系统:

MicrosoftWindows7ProfessionalServicePack1;

WSNs开发环境:

Cygwin、TinyOS、SDCC、SmartRFStudio7、GCC。

5、实验步骤

1.切换路径至\opt\\contrib\cc2431\Hanback_TestTree目录,打开应用程序源代码,查看Hanback_TestTreeAppM模块调用了哪些模块?

Boot,Timer,Leds,StdContr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

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

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