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