无线传感器网络简明教程第八章

上传人:沈*** 文档编号:179751399 上传时间:2023-01-02 格式:PPT 页数:39 大小:1.37MB
返回 下载 相关 举报
无线传感器网络简明教程第八章_第1页
第1页 / 共39页
无线传感器网络简明教程第八章_第2页
第2页 / 共39页
无线传感器网络简明教程第八章_第3页
第3页 / 共39页
点击查看更多>>
资源描述
无线传感器网络简明教程第8章 无线传感器网络实验第8章 无线传感器网络实验本章内容:本章内容:n 实验背景和设计实验背景和设计n 实验内容和步骤实验内容和步骤8.1 实验背景和设计实验背景和设计1 1、实验名称实验名称 MicaMica系列传感器网络的编程实验系列传感器网络的编程实验2 2、实验目的实验目的 学习安装和使用学习安装和使用CrossBowCrossBow公司的公司的MicaMica传感器网络,练习传感器网络,练习传感器网络的基本应用,加深学生对传感器网络基本工作传感器网络的基本应用,加深学生对传感器网络基本工作原理和实现方法的理解,强化学生将传感器网络课本知识原理和实现方法的理解,强化学生将传感器网络课本知识与工程实践相结合的能力。与工程实践相结合的能力。具体的实验目标包括:具体的实验目标包括:(1)(1)掌握安装掌握安装TinyOSTinyOS操作系统;操作系统;(2)(2)事件驱动的传感器数据获取;事件驱动的传感器数据获取;(3)(3)发送与接受消息;发送与接受消息;(4)(4)PCPC机显示数据。机显示数据。4 4、实验所需软件、实验所需软件 操作系统:安装有操作系统:安装有CygwinCygwin的的Windows 2000/XPWindows 2000/XP操作系统,或者操作系统,或者安装有安装有GCCGCC编译器的编译器的LinuxLinux操作系统。操作系统。下载并安装以下软件:下载并安装以下软件:Cygwin();Cygwin();WinAVR();WinAVR();nesC();nesC();Java JDK();Java JDK();TinyOS(TinyOS(http:/ 5、实验设备实验设备 除了采用普通除了采用普通计算机以外,计算机以外,还需要的实验还需要的实验硬件设备清单硬件设备清单如图:如图:MIB510 MIB510的具体型号为的具体型号为MIB510CAMIB510CA,下,下图所示的各标号部件的含义如下:图所示的各标号部件的含义如下:9 9针的针的RS232RS232接口。接口。与与MICAz/MICA2MICAz/MICA2相连的相连的5151针接口。针接口。与与MICA2DOTMICA2DOT相连的相连的1919针接口。针接口。MICAz/MICA2 MICAz/MICA2 发光二极管指示器:红、发光二极管指示器:红、绿、黄。绿、黄。编程指示器:发光二极管为绿色,表编程指示器:发光二极管为绿色,表示示“电源开启电源开启”;如果为红色,表示;如果为红色,表示“编程中编程中”。编程接口开关:编程接口开关:On/OffOn/Off开关控制串行开关控制串行传输。传输。临时开关:复位编程处理器和临时开关:复位编程处理器和MoteMote。1010针针JtagJtag接口。接口。电源:电源:5V50mA5V50mA应用外接电源。应用外接电源。Mica2 Mica2的具体型号的具体型号为为MPR400CBMPR400CB,各标号,各标号部件的含义分别如下:部件的含义分别如下:5151针的接口针的接口(插针插针型型)。电源电源On/OffOn/Off开关。开关。外接电源的接口。外接电源的接口。MMCXMMCX接口接口(插孔插孔型型)。传感器板的具体型传感器板的具体型号为号为MTS300MTS300,各标号部,各标号部件的含义分别如下:件的含义分别如下:5151针的接口针的接口(插座插座型型)。光传感器。光传感器。声音传感器声音传感器(4kHz)(4kHz)。蜂鸣器。蜂鸣器。8.2 实验内容和步骤实验内容和步骤1 1、安装、安装TinyOSTinyOS (1)(1)下载与安装下载与安装 TinyOSTinyOS操作系统有两种安装方式,一种是使用安操作系统有两种安装方式,一种是使用安装向导自动安装,另一种是全手动安装。不管使用哪装向导自动安装,另一种是全手动安装。不管使用哪种方式,都需要安装相同的种方式,都需要安装相同的RPMRPM。RPM RPM就是就是Reliability Performance MeasureReliability Performance Measure,是,是广泛使用的用于交付开源软件的工具,用户可以轻松广泛使用的用于交付开源软件的工具,用户可以轻松有效地安装或升级有效地安装或升级RPMRPM打包的产品。打包的产品。这里介绍在这里介绍在WindowsWindows平台下自动安装平台下自动安装TinyOSTinyOS。TinyOSTinyOS自动安装程序的下载地址如下:。自动安装程序的下载地址如下:。安装向导提供的软件包包括如下工具:、安装向导提供的软件包包括如下工具:、CygwinCygwin、Support ToolsSupport Tools、Java 1.4 JDK&Java COMM 2.0Java 1.4 JDK&Java COMM 2.0、GraphvizGraphviz、AVR ToolsAVR Tools、avr-libc 20030512cvsavr-libc 20030512cvs、avr-gcc 3.3-tinyosavr-gcc 3.3-tinyos、和和avr-insight cvs-pre6.0-tinyosavr-insight cvs-pre6.0-tinyos。用户可以选择用户可以选择“完全完全”安装和安装和“自定义自定义”安装安装两两种类型之一。完全安装包括以上所有内容,而自定义种类型之一。完全安装包括以上所有内容,而自定义安装允许用户选择自己需要的部分。安装允许用户选择自己需要的部分。用户需要选择一个安装目录。所有选择的模块都用户需要选择一个安装目录。所有选择的模块都会安装在这个目录下。会安装在这个目录下。以下称这个安装目录为以下称这个安装目录为INSTALLDIRINSTALLDIR,通常默认目录为,通常默认目录为C:Program FilesUCBC:Program FilesUCB,并假设我们选择完全自动安装的选项。并假设我们选择完全自动安装的选项。注意:注意:TinyOS TinyOS 自动安装向导虽然允许用户可以自己决自动安装向导虽然允许用户可以自己决 定选择安装某些部分,也可选择不安装某些部分,但是除定选择安装某些部分,也可选择不安装某些部分,但是除非使用者对非使用者对TinyOS TinyOS 各个不同模块、工具之间的交互及其各个不同模块、工具之间的交互及其联合工作的版本完全清楚,联合工作的版本完全清楚,强烈建议选择完全安装。强烈建议选择完全安装。另外,必须以另外,必须以具有管理员权限的用户具有管理员权限的用户安装安装TinyOSTinyOS,否,否则安装不可能成功而且还会留下残损的文件。则安装不可能成功而且还会留下残损的文件。(2)(2)软件与硬件验证软件与硬件验证 在使用嵌入式设备时,调试应用程序通常比在使用嵌入式设备时,调试应用程序通常比较困难,因此在工作前一定要确保所使用的工具较困难,因此在工作前一定要确保所使用的工具工作正常以及各硬件系统功能完好。一旦某个部工作正常以及各硬件系统功能完好。一旦某个部件或工具中存在某些问题而未及时发现,将耗费件或工具中存在某些问题而未及时发现,将耗费大量的时间去调试。大量的时间去调试。下面介绍如何检查各硬件设备和软件系统。下面介绍如何检查各硬件设备和软件系统。PC PC工具验证工具验证 如果在如果在WindowsWindows平台下使用平台下使用TinyOSTinyOS开发环境,开发环境,“toscheck”toscheck”是一个专门用来检验这些软件是是一个专门用来检验这些软件是否正确安装以及相应的环境变量是否设置完好的工具。否正确安装以及相应的环境变量是否设置完好的工具。在在cygwin shellcygwin shell命令行的提示下,转到命令行的提示下,转到tinyos-1.x/tools/scriptstinyos-1.x/tools/scripts目录,运行目录,运行toschecktoscheck,输,输出结果可能会报告环境变量设置不正确,出结果可能会报告环境变量设置不正确,TinyOSTinyOS运行检查不通过。运行检查不通过。n根据系统的提示,需要自己设置一下环境变量。对于根据系统的提示,需要自己设置一下环境变量。对于TinyOS 1.xTinyOS 1.x的环境变量设置问题,可以修的环境变量设置问题,可以修改改C:Program FilesUCBcygwinetcprofile.dtinyos.shC:Program FilesUCBcygwinetcprofile.dtinyos.sh文件,内容如下:文件,内容如下:n#设置设置TinyOS TinyOS 根路径根路径nexport TOSROOT=/opt/tinyos-1.xexport TOSROOT=/opt/tinyos-1.xn#设置设置TinyOS TinyOS 核心组件所在的目录核心组件所在的目录nexport TOSDIR=$TOSROOT/tosexport TOSDIR=$TOSROOT/tosn#classpath#classpath 的设置需要根据自己的安装路径进行设置的设置需要根据自己的安装路径进行设置nexport CLASSPATH=.;$CLASSPATH;C:Program FilesUCBcygwinopttinyos-export CLASSPATH=.;$CLASSPATH;C:Program FilesUCBcygwinopttinyos-.xtoolsjavajavapath;C:Program FilesUCBcygwinopttinyos-1.xtoolsjava;.xtoolsjavajavapath;C:Program FilesUCBcygwinopttinyos-1.xtoolsjava;n#设置设置MakeMake入口点入口点nexport MAKERULES=$TOSROOT/tools/make/Makerulesexport MAKERULES=$TOSROOT/tools/make/Makerulesn重新启动重新启动cygwincygwin之后,再运行之后,再运行toschecktoscheck进行验证,系统会报告安装成功。进行验证,系统会报告安装成功。n最后一行报告最后一行报告“toscheck completed without errortoscheck completed without error.”.”,这是十分重要的,这是十分重要的,只有只有显式了这一行才表示安装无误显式了这一行才表示安装无误;否则如果报告存在什么错误或问题,一;否则如果报告存在什么错误或问题,一定要先修补好。定要先修补好。硬件验证硬件验证 TinyOSTinyOS的的appsapps目录下有一个应用程序目录下有一个应用程序“MicaHWVerify”MicaHWVerify”,是,是专门用来测试专门用来测试mica/mica2/mica2dotmica/mica2/mica2dot系列硬件设备是否功能完好系列硬件设备是否功能完好的验证工具。的验证工具。对于传感器节点在硬件编程时须对于传感器节点在硬件编程时须注意注意:若使用配套的电源给编程接口板供电,将传感器节点插到接若使用配套的电源给编程接口板供电,将传感器节点插到接口板前要保证节点上的电池已取出;口板前要保证节点上的电池已取出;若利用传感器节点上的电池给编程接口板供电,不需再接电若利用传感器节点上的电池给编程接口板供电,不需再接电源,并保证电池电量大于等于源,并保证电池电量大于等于3.0V3.0V且节点上开关状态为且节点上开关状态为OnOn。如果。如果既外接电源,又采用电池供电,很可能会烧毁电路板。既外接电源,又采用电池供电,很可能会烧毁电路板。以下步骤以以下步骤以MICA2MICA2节点为例,对节点为例,对MICA2DOTMICA2DOT节点只需修改相应参数即可。节点只需修改相应参数即可。第一步:运行第一步:运行cygwincygwin后,在后,在C:Program C:Program FilesUCBcygwinopttinyos-1.xappsFilesUCBcygwinopttinyos-1.xapps目录下,键入目录下,键入make mica2make mica2来编来编译译MicaHWVerifyMicaHWVerify程序。程序。在使用在使用MICA2/MICA2DOTMICA2/MICA2DOT平台时,输入如下完整的命令:平台时,输入如下完整的命令:PFLAGS=-DCC1K_MANUAL_FREQ=make PFLAGS=-DCC1K_MANUAL_FREQ=make 其中,其中,可以根据需要在可以根据需要在315MHz315MHz,433MHz433MHz和和915MHz915MHz中选择一个。中选择一个。针对针对Mica2Mica2系列的节点,手工设置频率为系列的节点,手工设置频率为916.7MHz916.7MHz。这里的命令格式是:。这里的命令格式是:PFLAGS=-DCC1K_MANUAL_FREQ=916700000 make mica2PFLAGS=-DCC1K_MANUAL_FREQ=916700000 make mica2 若编译没问题,将输出一个内存描述,显示如下的类似内容:若编译没问题,将输出一个内存描述,显示如下的类似内容:compiled MicaHWVerify to build/mica2/main.execompiled MicaHWVerify to build/mica2/main.exe 10386 bytes in ROM 10386 bytes in ROM 390 bytes in RAM 390 bytes in RAM avr-objcopy-output-target=srec avr-objcopy-output-target=srec build/mica2/main.exe build/mica2/main.exe build/mica2/main.srec build/mica2/main.srec 如果输出结果与上述描述类似,则说明应用程序已经编译好,如果输出结果与上述描述类似,则说明应用程序已经编译好,下一步就将它加载到节点中。下一步就将它加载到节点中。第二步:将第二步:将MICA2MICA2节点插到编程接口板上(节点插到编程接口板上(MIB510MIB510),用电),用电池或电源供电,通电后编程接口板上的绿灯亮。池或电源供电,通电后编程接口板上的绿灯亮。第三步:将编程接口板连到计算机,将程序装载到第三步:将编程接口板连到计算机,将程序装载到MICA2MICA2节点,节点,键入命令:键入命令:MIB510=COM#make reinstall mica2MIB510=COM#make reinstall mica2 其中,其中,COM#COM#表示表示MIB510MIB510连接在计算机端口连接在计算机端口COM#COM#上,上,#=1#=1、2 2、3.3.。这里假设取为。这里假设取为COM1COM1。reinstall reinstall是直接将已编译过的程序装载到指定节点,而不是直接将已编译过的程序装载到指定节点,而不再重新编译程序,因此速度较快。如果使用命令再重新编译程序,因此速度较快。如果使用命令installinstall代替代替reinstallreinstall,则先对目标平台编译,再将程序装载到节点。,则先对目标平台编译,再将程序装载到节点。MIB510 MIB510编程接口板的典型输出如下:编程接口板的典型输出如下:$mib510 make reinstall mica2$mib510 make reinstall mica2 installing mica2 binary installing mica2 binary uisp-dprog=mib510-dserial=COM1-dpart=ATmega128-uisp-dprog=mib510-dserial=COM1-dpart=ATmega128-wr_fuse_e=ff-erase-upload if=build/mica2/main.srec wr_fuse_e=ff-erase-upload if=build/mica2/main.srec Firmware Version:2.1 Firmware Version:2.1 Atmel AVR ATmega128 is found.Atmel AVR ATmega128 is found.Uploading:flash Uploading:flash Fuse Extended Byte set to 0 xff Fuse Extended Byte set to 0 xff 这时可以知道编程接口板和计算机串口工作正常,然后验证传感器这时可以知道编程接口板和计算机串口工作正常,然后验证传感器节点硬件。节点硬件。第四步:第四步:键入命令:键入命令:make-f jmakefilemake-f jmakefile 然后再键入命令:然后再键入命令:MOTECOM=serialCOM1:57600 java hardware_checkMOTECOM=serialCOM1:57600 java hardware_check 这时计算机的输出会出现如下类似内容:这时计算机的输出会出现如下类似内容:hardware_check startedhardware_check started hardware verification successful hardware verification successful Node Serial ID:1 60 48 fb 6 0 0 1d Node Serial ID:1 60 48 fb 6 0 0 1d 其中,其中,Node Serial IDNode Serial ID是是MicaHWVerifyMicaHWVerify程序分配给程序分配给MICA2MICA2节点的节点的 序列号。这个程序检查节点序列号、闪存连通性、序列号。这个程序检查节点序列号、闪存连通性、UARTUART功能和外部时钟。功能和外部时钟。当这些状态都正常时,屏幕打印出硬件检测成功的消息。当这些状态都正常时,屏幕打印出硬件检测成功的消息。第五步:验证传感器节点间的无线通信。第五步:验证传感器节点间的无线通信。通信时传感器节点间使用统一的频率,即通信时传感器节点间使用统一的频率,即PFLAGS=-PFLAGS=-DCC1K_MANUAL_FREQ=916700000DCC1K_MANUAL_FREQ=916700000。为了操作方便,我们可以在为了操作方便,我们可以在apps/apps/目录下建立一个目录下建立一个MakelocalMakelocal文件来设定参数的默认值,内容如下:文件来设定参数的默认值,内容如下:CFLAGS=-DCC1K_DEFAULT_FREQ=CC1K_915_998_MHZCFLAGS=-DCC1K_DEFAULT_FREQ=CC1K_915_998_MHZ MIB510=COM1 MIB510=COM1 这样以后就不必每次输入这样以后就不必每次输入MIB510=.PFLAGS=.MIB510=.PFLAGS=.之类的参之类的参数了。通信实验需要两个传感器节点,因此先对另一个传感器数了。通信实验需要两个传感器节点,因此先对另一个传感器节点进行硬件检测,再按下述步骤操作,使它充当第一个节点节点进行硬件检测,再按下述步骤操作,使它充当第一个节点的网关汇聚节点。的网关汇聚节点。第六步:第六步:进入进入/apps/TOSBase/apps/TOSBase目录键入目录键入 make mica2 make mica2 编译编译 TOSBase TOSBase 程序。程序。第七步:第七步:将将TOSBaseTOSBase程序装载到插在程序装载到插在MIB510MIB510编程接口板的传感器节点,并将编程接口板的传感器节点,并将另一个传感器节点放在附近,该节点装载的是另一个传感器节点放在附近,该节点装载的是MicaHWVerifyMicaHWVerify程序。程序。第八步:第八步:键入命令:键入命令:MOTECOM=serialCOM1:57600TH java hardware_checkMOTECOM=serialCOM1:57600TH java hardware_check 这是运行这是运行hardware_check javahardware_check java程序,输出结果类似如下内容:程序,输出结果类似如下内容:hardware_check startedhardware_check started Hardware verification successful.Hardware verification successful.Node Serial ID:1 60 48 fb 6 0 0 1e Node Serial ID:1 60 48 fb 6 0 0 1e 这里返回远端节点的序列号这里返回远端节点的序列号,表示传感器节点之间进行无线通信,表示传感器节点之间进行无线通信已经成功。已经成功。如果远端传感器节点如果远端传感器节点关闭或工作不正常,关闭或工作不正常,将返回提示信将返回提示信息息“Node transmission failure”Node transmission failure”。如果系统通过了上述测试,就可以进行如果系统通过了上述测试,就可以进行TinyOSTinyOS的开发工作了。的开发工作了。2 2、事件驱动的传感器数据获取事件驱动的传感器数据获取 为了演示事件驱动的传感器数据获取,这里为了演示事件驱动的传感器数据获取,这里选用简单的传感器应用示例程序选用简单的传感器应用示例程序SenseSense,它从传感,它从传感器主板的光传感器获取光强度值,并将其低三位器主板的光传感器获取光强度值,并将其低三位值显示在节点的发光二极管。该应用程序位于值显示在节点的发光二极管。该应用程序位于apps/Sense apps/Sense 目录,配置文件为目录,配置文件为Sense.ncSense.nc,实现模,实现模块文件为块文件为SenseM.ncSenseM.nc。跟前面的例子一样,在跟前面的例子一样,在C:Program C:Program FilesUCBcygwinopttinyos-1.xappsSenseFilesUCBcygwinopttinyos-1.xappsSense目录下输目录下输入命令:入命令:make mica installmake mica install 这条命令完成编译应用程序,并安装到传感器节点。本这条命令完成编译应用程序,并安装到传感器节点。本实验中需要将一个带有光传感器的传感器板连接到节点。实验中需要将一个带有光传感器的传感器板连接到节点。例如例如Mica2Mica2传感器主板使用传感器主板使用5151针的连接头。传感器主板的类针的连接头。传感器主板的类型可以在型可以在nccncc的命令行上使用的命令行上使用“-board”-board”选项来选择。在选项来选择。在Mica2Mica2节点上,缺省的传感器类型为节点上,缺省的传感器类型为micasbmicasb。TinyOS TinyOS支持的所有传感器板都在支持的所有传感器板都在tos/sensorboardstos/sensorboards目录下,每个目录对应一种型号,目录名称与主板名称目录下,每个目录对应一种型号,目录名称与主板名称相一致。相一致。这里这里ADCADC将光传感器获取的大样本数据转化为将光传感器获取的大样本数据转化为1010位的位的数字,表示当节点在光亮处时数字,表示当节点在光亮处时LEDLED关掉,在黑暗中关掉,在黑暗中LEDLED则则发亮,因而将该数据的高三位求反。发亮,因而将该数据的高三位求反。在在SenseM.ncSenseM.nc的函数的函数ADC.dataReady()ADC.dataReady()中有如下语句:中有如下语句:“display(7-(data display(7-(data 7)&0 x7);”7)&0 x7);”,就是为了实现这个用途。,就是为了实现这个用途。3 3、发送与接受消息发送与接受消息 这个实验是对传感器节点编写这个实验是对传感器节点编写“CntToLedsAndRfm”CntToLedsAndRfm”程序,程序,它通过无线方式传输计数器的数值,假设命名为它通过无线方式传输计数器的数值,假设命名为“节点节点1”1”。对。对另外一个传感器节点编写另外一个传感器节点编写“RfmToLeds”RfmToLeds”程序,这个节点负责以程序,这个节点负责以LEDLED显示所接收到的计数器数值,假设命名为显示所接收到的计数器数值,假设命名为“节点节点2”2”。实验步骤如下:实验步骤如下:(1)(1)将网络节点将网络节点Mica2Mica2通过串口与通过串口与MIB510MIB510编程板相连。编程板相连。(2)(2)打开打开CygwinCygwin窗口,输入下面的命令:窗口,输入下面的命令:cd/opt/tinyos-1.x/apps/CntToLedsAndRfmcd/opt/tinyos-1.x/apps/CntToLedsAndRfm(3)(3)输入编译命令:输入编译命令:make mica2 installmake mica2 install 这时我们可以看到节点这时我们可以看到节点2 2上的上的LEDLED会显示会显示3 3位的二进制计数器,当位的二进制计数器,当然这也是节点然这也是节点1 1通过无线发送的数据结果。通过无线发送的数据结果。(4)(4)关闭节点关闭节点1 1的电源,将另外的其它一个节点与编程板相连,假设的电源,将另外的其它一个节点与编程板相连,假设这个节点命名为这个节点命名为“节点节点3”3”。输入下面命令:。输入下面命令:cd/opt/tinyos-1.x/apps/RfmToLedscd/opt/tinyos-1.x/apps/RfmToLeds(5)(5)输入下面命令:输入下面命令:make mica2 install.2make mica2 install.2(6)(6)打开节点打开节点1 1和节点和节点3 3,这时我们可以看到节点,这时我们可以看到节点1 1通过无线发送计数通过无线发送计数器的数据,节点器的数据,节点3 3在它的在它的LEDLED上显示所接收到的计数值。上显示所接收到的计数值。4 4、PCPC机显示数据机显示数据 本实验的目的是将传感器网络与本实验的目的是将传感器网络与PCPC机集成起来,让传机集成起来,让传感器数据在感器数据在PCPC机上显示出来。机上显示出来。(1)Oscilloscope(1)Oscilloscope应用程序应用程序 这里使用的网络节点应用程序在这里使用的网络节点应用程序在 apps/Oscilloscopeapps/Oscilloscope目录下。该应用程序包含一个从光传感器读取数据的模块。目录下。该应用程序包含一个从光传感器读取数据的模块。每当读取到每当读取到1010个传感数据时,该模块就向串口发送一个包个传感数据时,该模块就向串口发送一个包含这些数据的包。网络节点仅仅只用串口发送数据包。含这些数据的包。网络节点仅仅只用串口发送数据包。先编译该应用程序,并安装到一个网络节点中。将传感器先编译该应用程序,并安装到一个网络节点中。将传感器主板连接到网络节点上,以便可以获得光强数据。根据传感器主板连接到网络节点上,以便可以获得光强数据。根据传感器主板类型在主板类型在apps/Oscilloscope/Makefileapps/Oscilloscope/Makefile中设置中设置SENSORBOARDSENSORBOARD选项选项,要么是,要么是micasbmicasb,要么是,要么是basicsbbasicsb。将带有传感器的网络节点连接到与将带有传感器的网络节点连接到与PCPC机串口相连的编程器机串口相连的编程器主板。主板。OscilloscopeOscilloscope应用程序运行时,如果传感数据超过某一应用程序运行时,如果传感数据超过某一阈值(在代码中设置,缺省为阈值(在代码中设置,缺省为0 x03000 x0300),红色的),红色的LEDLED灯将发亮。灯将发亮。每当一个数据包被传回给串口时,黄色的每当一个数据包被传回给串口时,黄色的LEDLED灯就发亮。灯就发亮。(2)“(2)“监听监听”工具:显示原始数据包中的数据工具:显示原始数据包中的数据 为了在为了在PCPC机和网络节点之间建立通信,首先将串口电缆连接机和网络节点之间建立通信,首先将串口电缆连接到编程器主板上,并检查到编程器主板上,并检查JDKJDK以及以及m m 包是否安装完好。包是否安装完好。将将OscilloscopeOscilloscope代码编译好安装到网络节点后,转到代码编译好安装到网络节点后,转到tools/javatools/java目录下,输入命令:目录下,输入命令:make export MOTECOM=serial serialport:baudratemake export MOTECOM=serial serialport:baudrate 环境变量环境变量MOTECOMMOTECOM在这里用于告诉在这里用于告诉java Listenjava Listen工具要监听哪工具要监听哪些数据包。些数据包。serialserialport:baudrateserialserialport:baudrate的意思是监听连接到串的意思是监听连接到串口的微粒,其中口的微粒,其中serialportserialport是连接到编程器主板的串行端口,是连接到编程器主板的串行端口,baudratebaudrate是波特率。是波特率。micamica和和mica2dotmica2dot的波特率是的波特率是1920019200,mica2mica2是是5760057600波特。波特。设置好设置好MOTECOMMOTECOM参数后,运行如下命令:参数后,运行如下命令:将得到类似于如下的输出信息:将得到类似于如下的输出信息:serialCOM1:19200:resynchronisingserialCOM1:19200:resynchronising 7e 00 0a 7d 1a 01 00 0a 00 01 00 46 03 8e 03 96 03 96 03 7e 00 0a 7d 1a 01 00 0a 00 01 00 46 03 8e 03 96 03 96 03 96 03 97 03 97 03 97 03 97 03 97 03 7e 00 0a 7d 1a 01 00 96 03 97 03 97 03 97 03 97 03 97 03 7e 00 0a 7d 1a 01 00 14 00 01 00 96 03 97 03 97 03 98 03 97 03 96 03 97 03 96 14 00 01 00 96 03 97 03 97 03 98 03 97 03 96 03 97 03 96 03 96 03 96 03 7e 00 0a 7d 1a 01 00 1e 00 01 00 98 03 98 03 96 03 96 03 7e 00 0a 7d 1a 01 00 1e 00 01 00 98 03 98 03 96 03 97 03 97 03 98 03 96 03 97 03 97 03 97 0303 96 03 97 03 97 03 98 03 96 03 97 03 97 03 97 03 该程序简单地将从串口接收到的每个数据包的原始数据打印出来。该程序简单地将从串口接收到的每个数据包的原始数据打印出来。(3)SerialForwarder(3)SerialForwarder程序程序 监听程序监听程序是与网络节点进行通信的最基本方式。这种方式只是与网络节点进行通信的最基本方式。这种方式只是打开串口并将数据包是打开串口并将数据包“堆堆”到屏幕上而已。很明显,使用这种到屏幕上而已。很明显,使用这种方式不易于将传感数据可视化地展现在用户面前。方式不易于将传感数据可视化地展现在用户面前。SerialForwarderSerialForwarder程序程序用来从串口读取数据包的数据,并在用来从串口读取数据包的数据,并在互联网上转发,这样可以写一些其他程序通过互联网来与传感器互联网上转发,这样可以写一些其他程序通过互联网来与传感器网络进行通信。如果要运行串口转发器程序,转到网络进行通信。如果要运行串口转发器程序,转到tools/javatools/java目目录,运行如下命令:录,运行如下命令:java net.tinyos.sf.SerialForwarder-comm java net.tinyos.sf.SerialForwarder-comm serialCOM1:serialCOM1:参数参数-comm-comm告诉告诉SerialForwarderSerialForwarder使用串口使用串口COM1COM1进行通信;该进行通信;该参数用于指定参数用于指定SerialForwarderSerialForwarder将要进行转发的数据包来自于何将要进行转发的数据包来自于何处,使用语法与前面用到过的处,使用语法与前面用到过的MOTECOMMOTECOM环境变量类似。环境变量类似。SerialForwarderSerialForwarder与大多数程序不一样,并不理睬与大多数程序不一样,并不理睬MOTECOMMOTECOM环境变环境变量,必须使用量,必须使用-comm-comm参数来指明数据包的来源。原理是通过设置参数来指明数据包的来源。原理是通过设置MOTECOMMOTECOM参数来指定一个串口转发器,串口转发器将与串口通信。参数来指定一个串口转发器,串口转发器将与串口通信。参数参数用于指定用于指定SerialForwarderSerialForwarder通信时的波特率。通信时的波特率。SerialForwarderSerialForwarder程序的运行界面程序的运行界面(4)(4)启动启动Oscilloscope Oscilloscope 图形用户界面图形用户界面 串口转发器保持运行状态,执行命令:串口转发器保持运行状态,执行命令:这时弹出一个图形化显示来自网络节点的数据窗这时弹出一个图形化显示来自网络节点的数据窗口。如果提示错误信息口。如果提示错误信息“端口端口COM1COM1正忙正忙”,则可能是,则可能是因为因为ListenListen程序执行完后没有重置程序执行完后没有重置MOTECOMMOTECOM环境变量。环境变量。该程序将通过网络连接到串口转发器并获取数据,解该程序将通过网络连接到串口转发器并获取数据,解析每个数据包的探测数值。析每个数据包的探测数值。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!