无线传感器网络简明教程-第八章课件_第1页
无线传感器网络简明教程-第八章课件_第2页
无线传感器网络简明教程-第八章课件_第3页
无线传感器网络简明教程-第八章课件_第4页
无线传感器网络简明教程-第八章课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无线传感器网络简明教程第8章无线传感器网络实验无线传感器网络简明教程_第八章第8章无线传感器网络实验本章内容:实验背景和设计 实验内容和步骤无线传感器网络简明教程_第八章8.1实验背景和设计

1、实验名称

Mica系列传感器网络的编程实验2、实验目的学习安装和使用CrossBow公司的Mica传感器网络,练习传感器网络的基本应用,加深学生对传感器网络基本工作原理和实现方法的理解,强化学生将传感器网络课本知识与工程实践相结合的能力。无线传感器网络简明教程_第八章

具体的实验目标包括:

(1)掌握安装TinyOS操作系统;

(2)事件驱动的传感器数据获取;

(3)发送与接受消息;

(4)PC机显示数据。无线传感器网络简明教程_第八章4、实验所需软件操作系统:安装有Cygwin的Windows2000/XP操作系统,或者安装有GCC编译器的Linux操作系统。下载并安装以下软件:

①Cygwin();②WinAVR();

③nesC();④JavaJDK();⑤TinyOS().无线传感器网络简明教程_第八章5、实验设备

除了采用普通计算机以外,还需要的实验硬件设备清单如图:无线传感器网络简明教程_第八章MIB510的具体型号为MIB510CA,下图所示的各标号部件的含义如下:①9针的RS232接口。

②与MICAz/MICA2相连的51针接口。

③与MICA2DOT相连的19针接口。

④MICAz/MICA2发光二极管指示器:红、绿、黄。

⑤编程指示器:发光二极管为绿色,表示“电源开启”;如果为红色,表示“编程中”。

⑥编程接口开关:On/Off开关控制串行传输。

⑦临时开关:复位编程处理器和Mote。

⑧10针Jtag接口。

⑨电源:5V@50mA应用外接电源。无线传感器网络简明教程_第八章Mica2的具体型号为MPR400CB,各标号部件的含义分别如下:①51针的接口(插针型)。

②电源On/Off开关。③外接电源的接口。④MMCX接口(插孔型)。无线传感器网络简明教程_第八章传感器板的具体型号为MTS300,各标号部件的含义分别如下:①51针的接口(插座型)。②光传感器。③声音传感器(4kHz)。④蜂鸣器。无线传感器网络简明教程_第八章8.2实验内容和步骤

1、安装TinyOS(1)下载与安装

TinyOS操作系统有两种安装方式,一种是使用安装向导自动安装,另一种是全手动安装。不管使用哪种方式,都需要安装相同的RPM。RPM就是ReliabilityPerformanceMeasure,是广泛使用的用于交付开源软件的工具,用户可以轻松有效地安装或升级RPM打包的产品。无线传感器网络简明教程_第八章

这里介绍在Windows平台下自动安装TinyOS。

TinyOS自动安装程序的下载地址如下:。

TinyOS1.1.0安装向导提供的软件包包括如下工具:TinyOS1.1.0、TinyOSTools1.1.0、NesC1.1.0、Cygwin、SupportTools、Java1.4JDK&JavaCOMM2.0、Graphviz、AVRTools、avr-binutils、avr-libc20030512cvs、avr-gcc3.3-tinyos、avarice2.0.20030825cvs和avr-insightcvs-pre6.0-tinyos。无线传感器网络简明教程_第八章

用户可以选择“完全”安装和“自定义”安装两种类型之一。完全安装包括以上所有内容,而自定义安装允许用户选择自己需要的部分。用户需要选择一个安装目录。所有选择的模块都会安装在这个目录下。以下称这个安装目录为INSTALLDIR,通常默认目录为C:\ProgramFiles\UCB\,并假设我们选择完全自动安装的选项。无线传感器网络简明教程_第八章注意:TinyOS自动安装向导虽然允许用户可以自己决定选择安装某些部分,也可选择不安装某些部分,但是除非使用者对TinyOS各个不同模块、工具之间的交互及其联合工作的版本完全清楚,强烈建议选择完全安装。另外,必须以具有管理员权限的用户安装TinyOS,否则安装不可能成功而且还会留下残损的文件。无线传感器网络简明教程_第八章(2)软件与硬件验证在使用嵌入式设备时,调试应用程序通常比较困难,因此在工作前一定要确保所使用的工具工作正常以及各硬件系统功能完好。一旦某个部件或工具中存在某些问题而未及时发现,将耗费大量的时间去调试。下面介绍如何检查各硬件设备和软件系统。无线传感器网络简明教程_第八章

①PC工具验证如果在Windows平台下使用TinyOS开发环境,“toscheck”是一个专门用来检验这些软件是否正确安装以及相应的环境变量是否设置完好的工具。在cygwinshell命令行的提示下,转到tinyos-1.x/tools/scripts目录,运行toscheck,输出结果可能会报告环境变量设置不正确,TinyOS运行检查不通过。无线传感器网络简明教程_第八章根据系统的提示,需要自己设置一下环境变量。对于TinyOS1.x的环境变量设置问题,可以修改C:\ProgramFiles\UCB\cygwin\etc\profile.d\tinyos.sh文件,内容如下:#设置TinyOS根路径exportTOSROOT='/opt/tinyos-1.x'#设置TinyOS核心组件所在的目录exportTOSDIR='$TOSROOT/tos'#classpath的设置需要根据自己的安装路径进行设置exportCLASSPATH='.;$CLASSPATH;C:\ProgramFiles\UCB\cygwin\opt\tinyos-.x\tools\java\javapath;C:\ProgramFiles\UCB\cygwin\opt\tinyos-1.x\tools\java;'#设置Make入口点exportMAKERULES='$TOSROOT/tools/make/Makerules‘无线传感器网络简明教程_第八章重新启动cygwin之后,再运行toscheck进行验证,系统会报告安装成功。最后一行报告“toscheckcompletedwithouterror.”,这是十分重要的,只有显式了这一行才表示安装无误;否则如果报告存在什么错误或问题,一定要先修补好。无线传感器网络简明教程_第八章

②硬件验证

TinyOS的apps目录下有一个应用程序“MicaHWVerify”,是专门用来测试mica/mica2/mica2dot系列硬件设备是否功能完好的验证工具。对于传感器节点在硬件编程时须注意:若使用配套的电源给编程接口板供电,将传感器节点插到接口板前要保证节点上的电池已取出;若利用传感器节点上的电池给编程接口板供电,不需再接电源,并保证电池电量大于等于3.0V且节点上开关状态为On。如果既外接电源,又采用电池供电,很可能会烧毁电路板。无线传感器网络简明教程_第八章

以下步骤以MICA2节点为例,对MICA2DOT节点只需修改相应参数即可。第一步:运行cygwin后,在C:\ProgramFiles\UCB\cygwin\opt\tinyos-1.x\apps目录下,键入makemica2来编译MicaHWVerify程序。在使用MICA2/MICA2DOT平台时,输入如下完整的命令:

PFLAGS=-DCC1K_MANUAL_FREQ=<freq>make<mica2|mica2dot>

其中,<freq>可以根据需要在315MHz,433MHz和915MHz中选择一个。针对Mica2系列的节点,手工设置频率为916.7MHz。这里的命令格式是:PFLAGS=-DCC1K_MANUAL_FREQ=916700000makemica2无线传感器网络简明教程_第八章若编译没问题,将输出一个内存描述,显示如下的类似内容:

compiledMicaHWVerifytobuild/mica2/main.exe10386bytesinROM390bytesinRAMavr-objcopy--output-target=srecbuild/mica2/main.exebuild/mica2/main.srec

如果输出结果与上述描述类似,则说明应用程序已经编译好,下一步就将它加载到节点中。无线传感器网络简明教程_第八章第二步:将MICA2节点插到编程接口板上(MIB510),用电池或电源供电,通电后编程接口板上的绿灯亮。第三步:将编程接口板连到计算机,将程序装载到MICA2节点,键入命令:

MIB510=COM#makereinstallmica2

其中,COM#表示MIB510连接在计算机端口COM#上,#=1、2、3...。这里假设取为COM1。reinstall是直接将已编译过的程序装载到指定节点,而不再重新编译程序,因此速度较快。如果使用命令install代替reinstall,则先对目标平台编译,再将程序装载到节点。无线传感器网络简明教程_第八章MIB510编程接口板的典型输出如下:

$mib510makereinstallmica2installingmica2binaryuisp-dprog=mib510-dserial=COM1-dpart=ATmega128--wr_fuse_e=ff--erase--uploadif=build/mica2/main.srecFirmwareVersion:2.1AtmelAVRATmega128isfound.Uploading:flashFuseExtendedBytesetto0xff

这时可以知道编程接口板和计算机串口工作正常,然后验证传感器节点硬件。无线传感器网络简明教程_第八章第四步:键入命令:make-fjmakefile然后再键入命令:

MOTECOM=serial@COM1:57600javahardware_check

这时计算机的输出会出现如下类似内容:

hardware_checkstartedhardwareverificationsuccessfulNodeSerialID:16048fb6001d

其中,NodeSerialID是MicaHWVerify程序分配给MICA2节点的序列号。这个程序检查节点序列号、闪存连通性、UART功能和外部时钟。当这些状态都正常时,屏幕打印出硬件检测成功的消息。无线传感器网络简明教程_第八章第五步:验证传感器节点间的无线通信。

通信时传感器节点间使用统一的频率,即PFLAGS=-DCC1K_MANUAL_FREQ=916700000。为了操作方便,我们可以在apps/目录下建立一个Makelocal文件来设定参数的默认值,内容如下:

CFLAGS=-DCC1K_DEFAULT_FREQ=CC1K_915_998_MHZMIB510=COM1

这样以后就不必每次输入MIB510=...PFLAGS=...之类的参数了。通信实验需要两个传感器节点,因此先对另一个传感器节点进行硬件检测,再按下述步骤操作,使它充当第一个节点的网关汇聚节点。无线传感器网络简明教程_第八章第六步:

进入/apps/TOSBase目录键入makemica2编译TOSBase程序。第七步:

将TOSBase程序装载到插在MIB510编程接口板的传感器节点,并将另一个传感器节点放在附近,该节点装载的是MicaHWVerify程序。第八步:

键入命令:

MOTECOM=serial@COM1:57600THjavahardware_check无线传感器网络简明教程_第八章

这是运行hardware_checkjava程序,输出结果类似如下内容:

hardware_checkstartedHardwareverificationsuccessful.NodeSerialID:16048fb6001e

这里返回远端节点的序列号,表示传感器节点之间进行无线通信已经成功。如果远端传感器节点关闭或工作不正常,将返回提示信息“Nodetransmissionfailure”。如果系统通过了上述测试,就可以进行TinyOS的开发工作了。无线传感器网络简明教程_第八章2、事件驱动的传感器数据获取为了演示事件驱动的传感器数据获取,这里选用简单的传感器应用示例程序Sense,它从传感器主板的光传感器获取光强度值,并将其低三位值显示在节点的发光二极管。该应用程序位于apps/Sense目录,配置文件为Sense.nc,实现模块文件为SenseM.nc。无线传感器网络简明教程_第八章

跟前面的例子一样,在C:\ProgramFiles\UCB\cygwin\opt\tinyos-1.x\apps\Sense目录下输入命令:makemicainstall

这条命令完成编译应用程序,并安装到传感器节点。本实验中需要将一个带有光传感器的传感器板连接到节点。例如Mica2传感器主板使用51针的连接头。传感器主板的类型可以在ncc的命令行上使用“-board”选项来选择。在Mica2节点上,缺省的传感器类型为micasb。无线传感器网络简明教程_第八章TinyOS支持的所有传感器板都在tos/sensorboards目录下,每个目录对应一种型号,目录名称与主板名称相一致。这里ADC将光传感器获取的大样本数据转化为10位的数字,表示当节点在光亮处时LED关掉,在黑暗中LED则发亮,因而将该数据的高三位求反。在SenseM.nc的函数ADC.dataReady()中有如下语句:“display(7-((data>>7)&0x7));”,就是为了实现这个用途。无线传感器网络简明教程_第八章3、发送与接受消息这个实验是对传感器节点编写“CntToLedsAndRfm”程序,它通过无线方式传输计数器的数值,假设命名为“节点1”。对另外一个传感器节点编写“RfmToLeds”程序,这个节点负责以LED显示所接收到的计数器数值,假设命名为“节点2”。

实验步骤如下:

(1)将网络节点Mica2通过串口与MIB510编程板相连。

(2)打开Cygwin窗口,输入下面的命令:

cd/opt/tinyos-1.x/apps/CntToLedsAndRfm无线传感器网络简明教程_第八章(3)输入编译命令:makemica2install

这时我们可以看到节点2上的LED会显示3位的二进制计数器,当然这也是节点1通过无线发送的数据结果。(4)关闭节点1的电源,将另外的其它一个节点与编程板相连,假设这个节点命名为“节点3”。输入下面命令:

cd/opt/tinyos-1.x/apps/RfmToLeds(5)输入下面命令:makemica2install.2(6)打开节点1和节点3,这时我们可以看到节点1通过无线发送计数器的数据,节点3在它的LED上显示所接收到的计数值。无线传感器网络简明教程_第八章4、PC机显示数据本实验的目的是将传感器网络与PC机集成起来,让传感器数据在PC机上显示出来。(1)Oscilloscope应用程序这里使用的网络节点应用程序在apps/Oscilloscope目录下。该应用程序包含一个从光传感器读取数据的模块。每当读取到10个传感数据时,该模块就向串口发送一个包含这些数据的包。网络节点仅仅只用串口发送数据包。无线传感器网络简明教程_第八章

先编译该应用程序,并安装到一个网络节点中。将传感器主板连接到网络节点上,以便可以获得光强数据。根据传感器主板类型在apps/Oscilloscope/Makefile中设置SENSORBOARD选项,要么是micasb,要么是basicsb。将带有传感器的网络节点连接到与PC机串口相连的编程器主板。Oscilloscope应用程序运行时,如果传感数据超过某一阈值(在代码中设置,缺省为0x0300),红色的LED灯将发亮。每当一个数据包被传回给串口时,黄色的LED灯就发亮。无线传感器网络简明教程_第八章(2)“监听”工具:显示原始数据包中的数据为了在PC机和网络节点之间建立通信,首先将串口电缆连接到编程器主板上,并检查JDK以及m包是否安装完好。将Oscilloscope代码编译好安装到网络节点后,转到tools/java目录下,输入命令:

makeexportMOTECOM=serial@serialport:baudrate

环境变量MOTECOM在这里用于告诉javaListen工具要监听哪些数据包。serial@serialport:baudrate的意思是监听连接到串口的微粒,其中serialport是连接到编程器主板的串行端口,baudrate是波特率。mica和mica2dot的波特率是19200,mica2是57600波特。无线传感器网络简明教程_第八章

设置好MOTECOM参数后,运行如下命令:

javanet.tinyos.tools.Listen

将得到类似于如下的输出信息:

serial@COM1:19200:resynchronising7e000a7d1a01000a00010046038e03960396039603970397039703970397037e000a7d1a01001400010096039703970398039703960397039603960396037e000a7d1a01001e000100980398039603970397

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论