《无线传感器网络简明教程第五章 传感器网络的应用开发基础.ppt》由会员分享,可在线阅读,更多相关《无线传感器网络简明教程第五章 传感器网络的应用开发基础.ppt(73页珍藏版)》请在三一办公上搜索。
1、第5章,传感器网络的应用开发基础,传感器网络的应用开发基础技术是传感器网络完成应用功能的关键,这里主要介绍它的仿真平台和工程测试床、网络节点的硬件开发、操作系统和软件开发等内容。,5.1 仿真平台和工程测试床,5.1.1 传感器网络的仿真技术概述,1、网络研究与设计方法,通常计算机网络的研究与设计方法包括分析方法、实验方法和模拟方法。分析方法是对所研究对象和所依存的网络系统进行初步分析,根据一定的限定条件和合理假设,对研究对象和系统进行描述,抽象出研究对象的数学分析模型。实验方法的主要内容是建立测试床和实验室。模拟方法主要是应用网络模拟软件来仿真网络系统的运行效果。,2、网络仿真的应用意义,从
2、应用的角度来看,网络仿真技术具有以下特点:(1)全新的模拟实验机理,使得这项技术具有在高度复杂的网络环境下得到高可信度结果的特点。(2)使用范围广,既可以用于现有网络的优化和扩容,也可以用于新网络的设计,而且特别适用于大中型规模网络的设计和优化。(3)初期应用成本不高,而且建好的网络模型可以延续使用,后期投资还会不断下降。,网络仿真的软件体系结构,3、传感器网络仿真的特点,分布性 动态性 综合性,5.1.2 常用网络仿真软件平台,1、TOSSIM,(1)简介 TinyOS是为传感器网络节点而设计的一个事件驱动的操作系统,由加州大学的伯利克分校开发,采用nesC编程语言。它主要应用于无线传感器网
3、络领域,采用基于一种组件的架构方式,能够快速实现各种应用。TOSSIM是TinyOS自带的仿真工具,可以同时模拟传感器网络的多个节点运行同一个程序,提供运行时的调试和配置功能。由于TOSSIM仿真程序直接编译来自实际运行于硬件环境的代码,因而可以用来调试最后实际真正运行的程序代码。,在PC机上安装好TinyOS之后,可以按照如下关键步骤打开TinyViz界面:1)CD 到应用的目录 2)$make pc 3)若Tinyviz还没有make,则:cd tools/java/net/tinyos/sim/tinyviz make 4)将tinyviz拷贝到应用目录 5)$DBG=sim 6)$./
4、tinyviz run build/pc/main.exe 10 如果输入make mica2命令,表示建立mica2目录,可以编译生成mote上的exe、srec和ihex文件。,(2)TOSSIM模拟器运行TinyOS程序,例如我们希望针对TinyOS自带的Blink应用程序,模拟编译出可以在TOSSIM模拟器上运行的程序,主要是在应用程序目录下运行“make pc命令,就可以把源代码编译在TOSSIM模拟器上运行Blink应用程序。Blink应用程序可以在mote硬件节点上以频率1Hz让LED红灯显示。如果执行命令:$./tinyviz run build/pc/main.exe 30,
5、会出现图所示的界面。,在TOSSIM模拟器运行Blink应用程序,可按以下步骤操作:cd app/Blink make pc,(3)使用gdb调试程序,TOSSIM的一个显著优点就是它可以运行在PC机上,这样可以运用传统的调试工具来调试nesC程序。使用gdb进行调试与采用传统的调试方法大致相同,只是使用命令(如在命令处设断点)时必须按照上面的规则。,2、OMNeT+,OMNeT+是Objective Modular Network Testbed的简写,也被称作离散事件模拟系统(Discrete Event Simulation System,DESS)。它是一种面向对象的、离散事件建模仿真
6、器,属于免费的网络仿真软件。这种仿真软件工具采用了特别定义的NED语言来完成。,3、Matlab,Matlab是矩阵实验室(Matrix Laboratory)的意思。它除了具备卓越的数值计算能力外,还提供专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,也可以进行网络仿真,用于模拟传感器网络的运行情况和某些应用算法的性能。在Matlab软件工具中,典型的无线传感器网络应用程序如WiSNAP。这是一个针对无线图像传感器网络而设计的基于Matlab的应用开发平台。,4、OPNET,OPNET是MIL3公司开发的网络仿真软件产品。这是一种优秀的图形化、支持面向对象建模的大型网络仿真软件
7、。OPNET的产品主要针对三类客户,分成四个系列。三类客户是指网络服务提供商、网络设备制造商和一般企业。它的四个系列产品核心包括:OPNET Modeler:为技术人员提供一个网络技术和产品开发平台,可以帮助他们设计和分析网络和通信协议。ITGuru:帮助网络专业人士预测和分析网络和网络应用的性能、诊断问题、查找影响系统性能的瓶颈、提出并验证解决方案。ServiceProviderGuru:面向网络服务提供商的智能化网络管理软件。WDM Guru:用于波分复用光纤网络的分析、评测。,Modeler提供多种业务模拟方式,具有丰富的收集分析统计量,查看动画和调试等功能。它可以直接收集常用的各个网络
8、层次的性能统计参数,能够方便地编制和输出仿真结果的报告。,OPNET网络仿真软件是目前世界上最为先进的网络仿真开发和应用平台之一。它曾被一些机构评选为“世界级网络仿真软件”第一名,可以进行传感器网络的各种应用业务仿真和网络协议运行性能模拟。使用它的最大问题在于它作为一种商业化高端网络仿真产品,价格十分昂贵。,5、NS,NS(Network Simulator)是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易地进行网络技术的开发。目前它所包含的模块内容已经非常丰富,几乎涉及到网络技术的所有方面,成为了目前学术界广泛使用的一种网络模拟软件。在每年国内外发表的有关网络技
9、术的学术论文中,利用NS给出模拟结果的文章最多,通过这种方法得出的研究结果也是被学术界所普遍认可的。NS也可作为一种辅助教学的工具,广泛应用在网络技术的教学方面。目前这种网络仿真软件工具已经发展到第二个版本,即NS2(Network Simulator,version 2)。,5.1.3 仿真平台的选择和设计,1、仿真平台的选择,现有的仿真平台种类较多、功能各异,每个仿真软件平台的侧重点也不同。仿真平台所采用的设计方法也不一样,例如面向对象设计和面向组件设计等,也会影响仿真平台的执行效率、速度、扩展性、重用性和易用性等。每个仿真器都是在某些性能方面比较突出,而在其他方面又不重视。在选择仿真平台
10、时,需要综合考虑各个因素,在其中寻找一个平衡点以获得最佳的仿真效果。,2、仿真平台的自主设计,如果开发者决定构建一个自己的传感器网络仿真工具,首先需要决定是在现有仿真平台上开发还是单独构建。如果开发时间有限并且只有一些需要用到的特定特性在现有工具中没有,那么最好是在现有仿真平台上做开发。如果有足够的开发时间,以及开发者感觉自己的设计思路比现有工具在仿真规模、执行速度、特点等方面优越,那么从头开始创建一个仿真工具是最有效的。,5.1.4 传感器网络工程测试床,在无线传感器网络中,仿真是一个重要的研究手段。但是仿真通常仅局限于特定问题的研究,并不能获取节点、网络和无线通信等运行的详细信息,只有实际
11、的测试床(Testbed)才能够捕获到这些信息。虽然在验证大型传感器网络方面有一些有效的仿真工具,但只有通过对实际的传感器网络测试床的使用,才能真正理解资源的限制、通信损失及能源限制等问题。通过测试床可以对无线传感器网络的许多问题进行研究,简化系统部署、调试等步骤,使得无线传感器网络的研究和应用变得相对容易。,Motelab是哈佛大学开发的一个开放的无线传感器网络实验环境,是基于Web的无线传感器网络测试床。它包括一组长期部署的传感器网络节点,以及一个中心服务器。,SensoNet是美国亚特兰大市乔治亚州技术学院电子与计算机工程学校宽带无线网络实验室研制的传感器网络试验床。SensoNet试验
12、床是由三部分组成:核心网、核心接入网和传感器现场。,SensoNet工程测试床的场景和部分实物,5.2 网络节点的硬件开发,5.2.1 硬件开发概述,1、硬件系统的设计特点和要求,设计传感器网络的硬件节点需从以下方面考虑:,(1)微型化(2)扩展性和灵活性(3)稳定性和安全性(4)低成本(5)低功耗,2、硬件系统的设计内容,传感器网络设计的主要内容在于传感器网络节点。传感器节点的基本硬件模块组成主要由数据处理模块、换能器模块、无线通信模块、电源模块和其他外围模块组成。换能器模块包括各种传感器和执行器,用于感知数据和执行各种控制动作。其他外围模块包括看门狗电路、电池电量检测模块等,也是传感器节点
13、不可缺少的组成部分。,5.2.2 传感器节点的模块化设计,1、数据处理模块,对于数据处理模块的设计,主要考虑如下五个方面的问题:,(1)节能设计(2)处理速度的选择(3)低成本(4)小体积(5)安全性,各种常见的微控制器性能列表,2、换能器模块,所谓换能器(transducer)是指将一种物理能量变为另一种物理能量的器件,包括传感器和执行器两种类型。大部分传感器的输出是模拟信号,但通常无线传感器网络传输的是数字化的数据,因此必须进行模/数转换。类似的,许多执行器的输出也是模拟的,因此也必须进行数/模转换。在网络节点中配置模/数和数/模转换器(ADC和DAC),能够降低系统的整体成本,尤其是在节
14、点有多个传感器且可共享一个转换器的时候。,3、无线通信模块,无线通信模块由无线射频电路和天线组成,目前采用的传输介质主要包括无线电、空气、红外、激光和超声波等,它是传感器节点中最主要的耗能模块,是传感器节点的设计重点。传感器网络应用的无线通信技术通常包括IEEE 802.11b、IEEE 802.15.4(ZigBee)、Bluetooth、UWB、RFID和IrDA等,还有很多芯片双方通信的协议由用户自己定义,这些芯片一般工作在ISM免费频段。,传感器网络的常用无线通信技术,常用短距离无线芯片的主要参数,目前市场上支持ZigBee协议的芯片制造商有Chipcon公司和Freescale半导体
15、公司。Chipcon公司的CC2420芯片应用较多,该公司还提供ZigBee协议的完整开发套件。Freescale半导体公司提供ZigBee的2.4GHz无线传输芯片包括MC13191、MC13192、MC13193,该公司也提供配套的开发套件。,在无线射频电路设计中,主要考虑以下三个问题:,天线设计,天线的设计指标有很多种,无线传感器网络节点使用的是ISM/SRD免证使用频段,主要从天线增益、天线效率和电压驻波比三个指标来衡量天线的性能。天线增益是指天线在能量发射最大方向上的增益,当以各向同性为增益基准时,单位为dBi;如果以偶极子天线的发射为基准时,单位为dBd。天线的增益越高,通信距离就
16、越远。,天线效率是指天线以电磁波的形式发射到空中的能量与自身消耗能量的比值,其中自身消耗的能量是以热的形式散发。天线电压驻波比主要用来衡量传输线与天线之间阻抗失配的程度。当天线电压驻波比值越高,表示阻抗失配程度越高,则信号能量损耗越大。,阻抗匹配,射频放大输出部分与天线之间的阻抗匹配情况,直接关系到功率的利用效率。如果匹配不好,很多能量会被天线反射回射频放大电路,不仅降低了发射效率,严重时还会导致节点的电路发热,缩短节点寿命。由于传感器节点通常使用较高的工作频率,因而必须考虑导线和PCB基板的材质、PCB走线、器件的分布参数等诸多可能造成失配的因素。,电磁兼容,电磁兼容问题容易导致微处理器和无
17、线接收器出现不正常的工作状况。因为微处理器有很多外部引脚,各引脚上的引线通常连接到节点内部的各个部位,受到干扰影响的可能性很大。无线接收器本身就是用于接收电磁信号的,因此如果信号或强信号的高次谐波分量落在接收电路的通带范围内,就可能造成误码和阻塞等问题。,4、电源模块设计,电池供电是目前最常见的传感器节点供电方式。按照电池能否充电,电池可分为可充电电池和不可充电电池;根据电极材料,电池可以分为镍铬电池、镍锌电池、银锌电池、锂电池和锂聚合物电池等。一般不可充电电池比可充电电池能量密度高,如果没有能量补充来源,则应选择不可充电电池。在可充电电池中,锂电池和锂聚合物电池的能量密度最高,但是成本比较高
18、;镍锰电池和锂聚合物电池是唯一没有毒性的可充电电池。,常见电池的性能参数,原电池是把化学能转变为电能的装置,它以其成本低廉、能量密度高、标准化程度好、易于购买等特点而备受青睐。例如,我们日常使用的AA电池(即通常所说的5号电池,尺寸为直径14mm/高度49mm)、AAA电池(即通常所说的7号电池,尺寸为直径11mm/高度44mm)。,虽然使用可充电的蓄电池似乎比使用原电池好,但蓄电池也有缺点,例如它的能量密度有限。蓄电池的重量能量密度和体积能量密度远低于原电池,这就意味着要想达到同样的容量要求,蓄电池的尺寸和重量都要大一些。另外与原电池相比,蓄电池自放电更严重,这就限制了它的存放时间和在低负载
19、条件下的服务寿命。尽管有这些缺点,蓄电池仍然有很多可取之处,譬如蓄电池的内阻通常比原电池要低,这在要求峰值电流较高的应用中有用途。,4、外围模块设计,传感器网络节点的外围模块主要包括看门狗电路、I/O电路和低电量检测电路等。看门狗(Watch Dog)是一种增强系统鲁棒性的重要措施,它能够有效地防止系统进入死循环或者程序跑飞。传感器节点工作环境复杂多变,可能由于干扰造成系统软件的运行混乱。由于电池寿命有限,为了避免节点工作中发生突然断电的情况,当电池电量将要耗尽时必须要有某种指示,以便及时更换电池或提醒邻居节点。,5.2.3 传感器节点的开发实例,1、Mica系列节点,Mica系列节点是由U.
20、C.Berkeley大学研制,Crossbow公司生产的无线传感器节点。Crossbow公司是第一家将智能微尘无线传感器引入大规模商业用途的公司,现在给一些财富百强企业提供服务和智能微尘产品。Mica Processor/Radio boards(MPR)即所谓的Mica智能卡板组成硬件平台,它们由电池供能,传感器和数据采集模块与MPR集成在一起。,Mica系列节点的组网示意图,MICA2 系列MPR4x0(左上)和MICA2DOT系列MPR5x0(右下)的实物,MICAz系列MPR2400的实物,多传感器模块MTS300/310(左)和MTS510(右)的实物,串行网关MIB510的实物,S
21、targate 网关SPB400的实物,2、Mica系列处理器/射频板,先进的RISC架构。内部有128KB的在线可重复编程Flash、4KB的EEPROM和 SRAM。有53个I/O引脚。内部有2个8位定时器/计数器和2个具有比较/捕捉寄存器的16位定时器/计数器。功耗低。带JTAG接口,便于调试。电源电压为2.75.5 V,动态范围较大,能够适应恶劣的工作环境。,(1)微处理器电路,Mica系列产品的处理器均采用Atmel公司的ATmegal28L:,(2)射频板,Mica节点的无线通信射频芯片均采用Chipcon公司的CCXXXX系列射频产品。该系列产品是专门为低功耗、低速率的无线传感器
22、应用开发的。例如MICAz节点采用了CC2420通信芯片。,3、Mica系列传感器板,Mica系列传感器板是较早实现商用的无线传感器节点部件,它的电路原理图设计是公开的。(1)传感器电源供电电路(2)温湿度和照度检测电路(3)磁性传感器电路,4、编程调试接口板,Mica系列节点在很大程度上是作为教学和研究试验使用的,人们通过在由多个Mica节点组成的实验床验证自己的算法和体验多跳自组网的特性。为了方便开发,Crossbow公司开发了一系列的编程调试工具,比较常见的是MIB510和MIB600接口板。,MIB510的连线和节点的装配,5.3 操作系统和软件开发,5.3.1 网络节点操作系统,嵌入
23、式系统是指用于执行独立功能的专用计算机系统。它由微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,以及嵌入在存储器中的微型操作系统、控制应用软件组成。嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统的重要组成部分。传感器网络节点作为一种典型的嵌入式系统,同样需要操作系统来支撑它的运行。传感器网络节点的操作系统是运行在每个传感器节点上的基础核心软件,它能够有效地管理硬件资源和任务的执行,并且使应用程序的开发更为方便。,1、网络节点操作系统的设计要求,传统的嵌入式操作系统不能适用于传感器网络,这些操作系统对硬件资源有较高的要求,传感器节点的有限资源很难满足这些
24、要求。通常设计操作系统时需要满足如下要求:,代码量必须尽可能小,复杂度尽可能低,从而尽可能降 低系统的能耗。必须能够适应网络规模和拓扑高度动态变化的应用环境。对监测环境发生的事件能快速响应。能快速切换并执行频繁发生的多个并发任务。能够使多个节点高效地协作完成监测任务。提供方便的编程方法。能实现对节点在线动态重新编程。,2、TinyOS操作系统介绍,TinyOS是一个开源的嵌入式操作系统,它是由加州大学的伯利克分校开发,主要应用于无线传感器网络方面。它是基于一种组件(Component-Based)的架构方式,能够快速实现各种应用。TinyOS程序采用的是模块化设计,程序核心往往都很小。一般来说
25、,核心代码和数据大概在400Bytes左右。,TinyOS软件包是开放源代码的,用户可以从网站http:/下载。如果在Windows2000/XP上安装,可下载tinyos-1.1.0-lis.exe,按照提示逐步执行,就能自动完成安装,然后在Cygwin环境下操作命令。Cygwin是一个在windows平台上运行的Linux模拟环境,是cygnus solutions公司开发的自由软件。如果要检测tinyos的环境是否搭建好,可以运行tos-check-env命令:$tos-check-env系统会检测各个程序是否正常,如果最后出现正确的提示,则表明PC机上的TinyOS操作系统已经可以使用
26、了。,(1)TinyOS的安装,(2)创建应用程序 在安装TinyOS后,可以在apps目录下创建应用程序目录,用来存放应用程序文件。例如,Blink程序包含Blink和BlinkM两个组件,Blink组件包含在B1ink.nc文件中,而BlinkM组件包含在BlinkM.nc文件中。这些文件可以用任何文本编辑软件来创建。,采用基于组件的体系结构,这种体系结构已经被 广泛应用在嵌入式操作系统。采用事件驱动机制,能够适用于节点众多、并发 操作频繁发生的无线传感器网络应用。采用轻量级线程技术和基于先进先出(First In First Out,FIFO)的任务队列调度方法。采用基于事件驱动模式的主
27、动消息通信方式,这 种方式已经广泛用于分布式并行计算。,(3)TinyOS的特点,(4)TinyOS的应用程序示例 1)Blink程序的配件 2)BlinkM模块 3)ncc编译nesC程序 4)应用程序导入节点,5.3.2 软件开发,1、传感器网络软件开发的特点和要求,通常传感器网络的软件运行采用分层结构,传感器网络因资源受限、动态性强和以数据中心,网络节点的软件系统开发设计具有如下特点:具有自适应功能。保证节点的能量优化。采用模块化设计。面向具体应用。具有维护和升级功能。,2、网络系统开发的基本内容,主要包括以下三个方面的环节:传感器应用。节点应用。这种应用包含针对专门应用的任 务和用于建
28、 立与维护网络的中间件功能,它涉及到操作系统、传感驱动和中间件管理三部分。网络应用。这种应用的设计内容描述了整个网络应用的任务和所需要的服务,为用户提供操作界面,管理整个网络并评估运行效果。,节点应用框架的组件,网络应用框架的组件,3、传感器网络的软件编程模式,传感器网络的软件开发需要采取一定的编程模式,运用适当的编程框架来指导具体的程序设计。通用软件的编程模式并不完全适合于传感器网络的软件开发,为此需要考虑设计适合于传感器网络开发特征的编程模式,这里主要简介三种常见的编程模式.,(1)抽象域编程(2)以对象为中心的编程(3)以状态为中心的编程模式,5.3.3 后台管理软件,1、结构与组成,可
29、视化的后台管理软件是传感器网络系统的一个重要组成部分,是获取和分析传感器网络数据的重要工具。传感器网络的分析与管理是应用的重点和难点,传感器网络的分析和管理需要一个后台系统来支持。通常传感器网络在采集探测数据后,通过传输网络将数据传输给后台管理软件。后台管理软件对这些数据进行分析、处理和存储,得到传感器网络的相关管理信息和目标探测信息。后台管理软件可以提供多种形式的用户接口,包括拓扑树、节点分布、实时曲线、数据查询和节点列表等。另外,后台管理软件也可以发起数据查询任务。,后台管理软件通常由数据库、数据处理引擎、图形用户界面和后台组件四个部分组成。,数据库用于存储所有数据,主要涉及网络管理信息和
30、传感器探测数据信息两种,包括传感器网络的配置信息、节点属性、探测数据和网络运行的一些信息等。数据处理引擎负责传输网络和后台管理软件之间的数据交换、分析和处理,将数据存储到数据库。另外它还负责从数据库中读取数据,将数据按照某种方式传递给图形用户界面,以及接受图形用户界面产生的数据等。后台组件利用数据库中的数据实现一些逻辑功能或者图形显示功能,它主要涉及到网络拓扑显示组件、网络节点显示组件、图形绘制组件等。图形用户界面是用户对传感器网络进行检测的可视化窗口。,目前在传感器网络领域出现了一些后台管理软件工具,如克尔斯博公司的MoteView、加州大学伯克利分校的TinyViz、加州大学洛山矶分校的E
31、mStar、中科院开发的SNAMP等。这些软件都在传感器网络的数据收集和网络管理中得到了应用。,2、MoteView软件介绍,MoteView是Windows平台下支持传感器网络系统的可视化监控软件。无线网络中所有节点的数据通过基站储存在 PostreSQL数据库中。MoteView能够将这些数据从数据库中读取并显示出来,也能够实时地显示基站接收到的数据。MoteView作为无线传感器网络客户端管理和监控软件,功能是提供Windows 图形用户界面,主要作用包括:,(1)管理和监控系统;(2)发送命令指示;(3)报警功能;(4)Mote 编程功能;(5)网络诊断。,MoteView显示的传感器数据列表,MoteView输出的传感器信号波形,3、SNAMP软件介绍,中科院开发的SNAMP包括串口、数据处理模块、实时显示模块等主要模块。模块化的设计使得整个系统层次扩展性良好。,SNAMP的实时曲线是应用于Windows服务器端和客户端开发的一种图表组件,是对绘制图表和图表分析功能所需要的数据和方法的简单封装。,