《第9章 应用开发ppt课件.ppt》由会员分享,可在线阅读,更多相关《第9章 应用开发ppt课件.ppt(47页珍藏版)》请在三一办公上搜索。
1、第9章,无线传感器网络应用开发,9.1无线传感器网络硬件平台,9.1.1无线传感器网络硬件结构及分类无线传感器网络中主要涉及三类硬件平台:传感器节点(Sensor Node)、汇聚节点(又称基站、网关节点、Sink节点)及管理结点,如图9-1所示。另外,在无线传感器网络的设计、调试、部署等过程中还会用到一些辅助设备,比如编程器、仿真器等。,图9-1无线传感器网络的宏观系统架构,1传感器节点 传感器节点其结构如图9-2所示。,9.1.1无线传感器网络硬件结构及分类,2汇聚节点 汇聚节点实现两个通信网络之间数据的交换,其结构如图9-3所示。,3管理结点管理结点由图9-3模块组成。,9.1.2网络结
2、点的硬件开发,1硬件系统的设计特点和要求 设计传感器网络的硬件结点需从以下方面考虑: (1)微型化 (2)扩展性和灵活性 (3)稳定性和安全性 (4)低成本 (5)低功耗2硬件系统的设计内容 传感器网络设计的主要内容在于传感器网络结点。传感器结点的基本硬件模块组成如图9-5所示 。,图9-5无线传感网络结点的结构络组成,9.1.3传感器结点的模块化设计,1数据处理模块对于数据处理模块的设计,主要考虑如下五个方面的问题。节能设计、处理速度的选择、低成本、小体积、安全性2换能器模块 所谓换能器(transducer)是指将一种物理能量变为另一种物理能量的器件,包括传感器和执行器两种类型。3无线通信
3、模块 无线通信模块由无线射频电路和天线组成,4电源模块设计 电源模块是任何电子系统的必备基础模块。5外围模块设计 传感器网络结点的外同模块主要包括看门狗电路、I/O电路和低电量检测电路等。,9.1.4 传感器节点开发实例,传感器节点的设计需要经过很多步骤,其流程图如图9-6所示。,图9-6传感器节点设计流程图,1. 功能分析和芯片选型,图9-7自行设计的节点结构,目前设计的节点的结构如图9-7所示。,9.1.4 传感器节点开发实例,3.电路板调试,2原理图及印制板设计,(1) 处理器时钟电路设计,其电路原理图如图9-8所示。,图9-8时钟电路图,(2)处理器无线模块接口设计; 它们之间的逻辑连
4、接图如图9-9所示。,图9-9 ATMEGA128 与CC2420接口,(3)无线收发器模块设计; CC2420只需要极少的外围元器件,它的外围电路包括晶振对钟电路、射频输入/输出匹配电路和微控制器接口电路三个部分。,图9-10 电路板调试沉程图,9.2操作系统与软件开发,9.2.1网络节点的操作系统1网络结点操作系统的设计要求根据传感器网络的特征,通常设计操作系统时需要满足如下要求:由于传感器结点只有有限的能量、计算和存储资源,它的操作系统代码量必须尽可能小,复杂度尽可能低,从而尽可能降低系统的能耗。由于传感器网络的规模可能很大,网络拓扑动态变化,操作系统必须能够适应网络规模和拓扑高度动态变
5、化的应用环境。对监测环境发生的事件能快速响应,迅速执行相关的处理任务。能有效地管理能量资源、计算资源、存储资源和通信资源,高效地管理多个并发任务的执行,使应用程序能快速切换并执行频繁发生的多个并发任务。,由于每个传感器结点资源有限,有时希望多个传感器结点协同工作,形成分布式的网络系统,才能完成复杂的监测任务。传感器网络操作系统必须能够使多个结点高效地协作完成监测任务。提供方便的编程方法。基于传感器网络操作系统提供的编程方法,开发者能够方便、快速地开发应用程序,无需过多地关注对底层硬件的操作。有时传感器网络部署在危险的不可到达区域,某些应用要求对大量的传感器结点进行动态编程配置。在这种情况下,操
6、作系统能通过可靠传输技术对大量的结点发布代码,实现对结点在线动态重新编程。,9.2.1网络节点的操作系统1网络结点操作系统的设计要求,TinyOS是一个开源的嵌入式操作系统,TinyOS本身提供了一系列的组件,可以很方便地编制程序,用来获取和处理传感器的数据,并通过无线方式来传输信息。可以把TinyOS看成是一个与传感器进行交互的API接口,它们之间能实现各种通信。 (1)TinyOS的安装 (2)创建应用程序 (3)TinyOS的特点 (4)TinyOS的应用程序示例 Blink程序的配件 BlinkM模块 ncc编译nesC程序 应用程序导入结点,2TinyOS操作系统介绍,9.2.2软件
7、开发,1传感器网络软件开发的特点和要求通常传感器网络的软件运行采用分层结构如图9-14所示。,图9-14传感器网络结点软件系统的分层结构,网络结点的软件系统开发设计具有如下特点: 具有自适应功能。 保证结点的能量优化。 采用模块化设计。 面向具体应用。 具有维护和升级功能。,2网络系统开发的基本内容主要包括以下三个方面的环节: 传感器应用。 结点应用。如图9-15所示。 网络应用。如图9-16所示。,9.2.2软件开发,图9-15结点应用框架的组件,图9-16 网络应州框架的组件,3传感器网络的软件编程模式主要简介三种常见的编程模式。 (1)抽象域编程 (2)以对象为巾心的编程 (3)以状态为
8、中心的编程模式,9.3后台管理软件,无线传感器网络后台管理软件一般由三大部分组成,其结构如图9-17所示。,后台管理软件一般组成如图9-18所示 。,1. Mote-ViewMote-View是无线传感器网络与用户之间的一个接口。图9-19为无线传感器网络的三部分框架 。,9.3后台管理软件,2TinyVizTinyViz是TOSSIM的可视化工具,能够附加到一个正在运行的仿真程序中,采用Java实现。,3. EmStar EmStar是一个基于Linux的软件框架,它着重于在无线传感器网络领域创建可靠的软件。,4.SNA Draintree Network公司的Sensor Network
9、Analyzer(SNA)是对传统网络协议分析的扩展,它是一个强大的虚拟网络分析器,包括网络拓扑结构、路由及绑定应用、链路质量及设备状态等的可视化。,5. SpyGlassSpyGlass的目的在于通过将传感器网络、拓扑结构、状态及传感数据形象化而简化对传感器网络的调试、评估及对软件的理解。SpyGlass的可视化框架包括三个重要的功能实体:传感器网络、网关和可视化软件。,9.3后台管理软件,6. SNAMP中科院开发的SNAMP (Sensor Network Analysis and Management Platform)包括串口监听模块、数据处理模块、实时显示模块等主要模块。模块化的设
10、计使得整个系统层次清晰,可扩展性良好。,图9-20 SNAMP的总体架构图,9.4无线传感器网络的仿真,9.4.1无线传感器网络仿真特点由于无线传感器网络是高度面向应用的网络类型,并且无线传感器网络相对其它类型网络有许多限制和独特之处,因此其仿真特点与现有的有线和无线网络有所不同,具有如下特点。 1仿真规模大 2仿真目标不同 3业务模型不固定 4节点特点 5无线传感器网络的其他特点,9.4.2通用网络仿真平台,1NS-2NS-2 (Network Simulator Version 2)是无线传感器网络中最流行的仿真工具。 是一个开源的面向对象离散事件仿真器,采用模块化方法实现。 用户可以通过
11、“继承”来开发自己的模块,具有很好的扩展性,能够对仿真模型进行扩展,也可以直接创建和使用新的协议。 NS-2通过C+与OTcl的结合来实现仿真,C+用于实现协议及对NS-2模型库的扩展,OTcl用于创建和控制仿真环境,包括选择输出数据。 NS-2包括大量的协议、通信产生器(Traffic Generator)及工具。 NS-2对无线传感器网络的仿真是对Ad Hoc仿真工具的改进并添加一些组件来实现的。对传感器网络仿真的支持包括传感信道、传感器模型、电池模型、针对无线传感器的轻量级协议栈、混合仿真及场景生成等。 NS-2也存在以下一些缺点。 不适合大规模的无线传感器网络仿真: 缺少用户自定义:
12、缺少应用模型: 使用比较困难:,2OPNETOPNET (Optimized Network Engineering Tool)是一个面向对象的离散事件通用网络仿真器,它使用分层模型来定义系统的每一方面。,9.4.2通用网络仿真平台,OPNET的特点如下。建模与仿真周期:OPNET提供了强大的工具以帮助用户完成设计周期中五个设计阶段的三个,即模型建立、仿真执行和数据分析,如图9-21所示。分层建模:OPNET使用层次结构建模,每个层次描述仿真模型的不同方面。专用于通信网络:详细的模型库提供对现有协议的支持并且允许用户修改现有模型或者创建自己的模型。自动仿真生成:OPNET模型能被编译为可执行代
13、码,然后调试和执行,并且输出数据。它拥有探测器编辑器、分析工具、过滤工具、动画视图等结果分析工具。,图9-21 建模与仿真周期,3OMNet+OMNet+ (Objective Modular Network Test-bed in C+)是一个开源的、面向对象的离散事件仿真器,一般用来仿真通信网络及其他一些分布式系统。OMNet+多层嵌套的模块构成,如图9-22所示 。,图9-22OMNeT+模块,9.4.2通用网络仿真平台,OMNeT+的传感器网络模块称为SensorSim,传感器节点是一个复合模块,它包括三类模块:分别为代表每个协议层的模块、反映硬件的模块和一个协调器模块。SensorS
14、im是基于组件实现的,但是OMNeT+也有以下一些缺点。设计方法与其他仿真器大不相同,学习困难;使用SensorSim所作的研究发布很少;实现的协议很少。,4GIoMoSimGloMoSim (Global Mobile Information Systems Simulation Library)于1998年针对移动无线网络而开发,它具有以下特点。 并行仿真: 可扩展性: 面向对象: GloMosim仍然存在以下一些问题。 仿真网络类型限制: 不支持外部环境事件 不再更新:,图9-23 GloMoSim结构,9.4.2通用网络仿真平台,5QualNel QualNet是GloMoSim的商业
15、版本,它对GloMoSim做了许多扩展,使其包括许多针对有线及无线网络(包括局域网、Ad Hoc网络、卫星网络和蜂窝网等)的模型、协议集合、文档及技术支持。 6MatlabMatlab (Matrix Laboratory)是一种科学计算软件,以矩阵形式处理数据。Matlab将高性能的数值计算和可视化集成在一起,并提供大量的内置函数,可用于通信系统设计与仿真。 7J-SimJ-Sim是采用Java语言实现的通用仿真器,它使用基于组件结构的设计方法、增强的能量模型,能够仿真传感器对环境的检测。,9.4.2通用网络仿真平台,9.4.3针对无线传感器网络的仿真平台,1TOSSIM、TOSSF与SEN
16、STOSSIM、TOSSF与SENS均能够对TinyOS程序进行仿真。 TOSSIM(TinyOS mote SIMulator)是为运行于MICA系列传感器节点的TjnyOS应用程序而设计的,它与TinyOS一起发行,包括一个可与仿真交互的可视化仿真过程图形用户界面TinyViz(TinyOS Visualizer)。TOSSIM在设计时主要考虑下列四方面。 规模:系统应该能够处理拥有不同网络配置的数干节点。 完整性:为了准确捕获行为,TOSSIM包括尽量多的系统交互。 保真度:如果测试要准确,则需要捕获很细小的交互。 桥接:桥接TOSSIM之间的差距,测试及验证在实际硬件中执行的代码。,T
17、OSSIM由不同的组件组成, 其结构如图所示,支持编译网络拓扑图、离散事件队列、被模拟的硬件、通信基础结构(允许仿真器与外部程序通信)。大部分应用程序代码都不用改变,只是在与硬件交互的应用程序场合有所区别。,9.4.3针对无线传感器网络的仿真平台,TOSSF是一个可升级的仿真框架,它是在DaSSF (the Dartmouth Scalable Simulation Framework)和SWAN (Simulator for Wireless Ad hoc Networks)的基础上开发的,其结构如图所示。,9.4.3针对无线传感器网络的仿真平台,TOSSF也有一定的限制: 所有的中断都是在
18、任务、命令或者事件执行完之后才得到响应的; 命令和事件处理程序在零仿真时间单元执行; 没有抢占。,SENS的结构如图所示,包括多个模拟的传感器节点和一个环境组件,每个节点包括三部分:物理组件、网络组件及应用组件,每个组件有一个虚拟时钟,消息能以任何延时发送。,9.4.3针对无线传感器网络的仿真平台,SENS是一个可定制的传感器网络仿真器,它包括针对应用程序、网络通信、物理环境的可互换、可扩展的组件。SENS拥有一个可定制组件的分层结构,具有平台无关性,添加新的平台只需要添加相应的配置参数即可。SENS采用新颖的物理环境建模机制,将环境定义为一些可交换的单元的格子。,2ATEMUATEMU弥补了
19、TOSSIM的不足,像TOSSIM一样,ATEMU的代码是与Mica2平台兼容的二进制代码。ATEMU使用逐个周期策略运行应用程序代码,仿真比TOSSIM更加细致。这是通过对Mica使用的AVR处理器的仿真来实现的。ATEMU使用XML配置文件来对网络进行配置。这使得网络以分等级的方式被定义,顶层定义网络特性,下面的层定义每个节点的特性。ATEMU的结构如图9-30所示。,9.4.3针对无线传感器网络的仿真平台,3AvroraAvrora是一个周期准确的指令级传感器网络仿真器,它能对10000个节点进行仿真,并比具有同样准确度的仿真器要快20倍,能实时处理25个节点。Avrora使用两种不同的
20、同步策略。第一种方法使用一个同步间隔来定义同步发生的频率。这个值越大,同步间隔越大。同步间隔的“1”跟ATEMU大致相同。不能把这个值设得太高,否则节点将会运行超过其他节点事件影响的时间。第二种方法是在同步前等待邻居节点达到一个特定的仿真时间,一个全局数据结构用来保存每个仿真器的本地时间,该算法允许每个节点比其它的节点仿真时间超前直到需要同步。通过减少同步,Avrora有效地减少了开销。,9.4.3针对无线传感器网络的仿真平台,4SENSESENSE (Sensor Network Simulator and Emulator)是在COST (Componet Oriented Simulat
21、ion Toolkit,是一个通用离散事件仿真器) 之上开发的,编程语言为C+。 SENSE的设计受三个仿真工具的影响,它具有类似NS-2的功能,像J-Sim一样采用基于组件的结构,像GloMoSim一样支持并行仿真。由于采用基于组件的结构和并行仿真,开发者可以将重点放在仿真中的三个重要因素上,即可扩展性、重用性、仿真规模。采用了基于组件的仿真并考虑到了存储器有效使用,传感器网络特定模型等实际问题,使得SENSE成为无线传感器网络研究中简单、有效的仿真工具。,9.4.3针对无线传感器网络的仿真平台,5SidhSidh是一个采用Java实现的、基于组件的、专门为无线网络设计的仿真器。它由许多模块
22、组成,模块间通过事件交互。每个模块通过一个接口来定义,该接口可以与其他模块交互,只要模块符合特定接口就可以被用在仿真器中。 Sidh试图创建接近现实传感器的仿真器,它能够很容易地代替或者交换任何层次的模块,但是这是以牺牲效率为代价的。,9.4.3针对无线传感器网络的仿真平台,6EmStarEmStar是一个基于Linux的框架,它有多种运行环境,从纯粹的仿真到实际部署。在每种环境下均使用相同的代码和配置文件,这使开发周期变得容易。像SensorSim一样,在仿真时提供一个选项与实际硬件接口。EmStar包括一系列的工具,其中,EmSim/EmCee可以实现仿真,它们包括几个精确度体制,支持不同
23、精度级别的透明仿真,加速了开发及调试。EmSim在模拟了无线收发器及传感信道的简单仿真环境中并行地运行许多节点。EmCee运行EmSim核,但是提供一个与实际低功耗无线收发器的接口。EmStar源代码和配置文件与实际部署系统的一样,可以减少开发及调试过程中的工作。EmStar的仿真模型是一个基于组件的离散事件仿真模型,如图9-32所示。EmStar使用了简单的环境模型和网络媒介,所能运行的节点类型有限。,9.4.3针对无线传感器网络的仿真平台,7SimGatesimGate是一个Intel Stargate设备的全系统仿真器。SimGate能捕获Stargate内部组件的行为,包括处理器、内存
24、、通信(串口和无线)以及外设。SimGate是一个虚拟设备,它虚拟Stargate设备,引导并运行Linux操作系统,所有的二进制程序都在Linux上运行。 SimGate能仿真Stargate设备的以下特性: 1.不带Thumb支持、带XcaleDSP指令的ARM V5TE指令集; 2.XScale流水线仿真; 3.PXA255处理器,包括MMU、GPIO、中断控制器、实时时钟、操作系统定时器和内存控制器; 4.与相连的Mote节点通信的串行接口(UART): 5.SAllll StrongARM协同芯片; 6.64MB SDRAM芯片; 7.32MB Intel StrataFlash芯片
25、; 8.包括PCMCIA接口的Orinoco无线局域网PC卡。SimGate还能与SimMote结合实现与其他传感器网络结合的仿真。另外SimGate还支持调试功能,可以设置断点等。,9.4.3针对无线传感器网络的仿真平台,9.4.5无线传感器网络工程测试床,通过测试床可以对无线传感器网络的许多问题进行研究,简化系统部署、调试等步骤,使得无线传感器网络的研究变得容易。,1. MoteLabMoteLab是一个基于Web的无线传感器网络测试床,它包括一组长期部署的传感器网络节点,以及一个中心服务器,其体系结构如图所示。,(1) MoteLab硬件刚开始,MoteLab由26个Mica2节点、26
26、个以太网接口板后来,更新为30个克尔斯博公司的Micaz节点。(2) MoteLab软件MoteLab软件是一个管理以太网连接的传感器节点的测试床的软件工具集合。MoteLab有下列几个不同的软件组件。 MySQL数据库;Web接口;DBLogger;工作管理后台程序(Job Daemon)(3) MoteLab其他特点 用户配额 ;直接节点访问;在系统(In Situ)功率测量;两种使用模式;适合不同用户,1. MoteLab,GNOMES设计用于研究不同种类无线传感器网络的属性,测试无线传感器网络结构中的理论并在实际应用环境中部署。(1) 硬件 GNOMES的节点结构如图所示。,2.GNO
27、MES,(2) 软件 软件部分包括GNOMES操作系统、驱动程序和公共API。(3) 应用 由于GNOMES的低价格和较长的生命周期,它能应用于地震监测、人员跟踪或者机器的行踪、污染程度考查、腐蚀探测及修复程度监测等。,IBM苏黎世研究实验室(Zurich Research Laboratory)开发的测试床是一个完整的端到端解决方案,从传感器与执行机构到运行在企业服务器上的应用软件。它包括多种无线传感器网络、一个传感器网关、连接传感器网络及企业网络的中间件和传感器应用软件。,3. IBM WSN Testbed,该测试床的体系结构如图9-35所示。,9.5.1 WWMS系统分析,1. WWM
28、S系统需求分析开发WWMS系统的目的是便于开展无线传感器网络的教学,结合实验室情况对系统进行需求分析。该系统需要由两大部分组成:无线传感器网络和基于Web的后台管理系统,其结构如图所示。,无线传感器网络主要实现数据的采集和传输。基于Web的后台管理系统实现数据的汇集、显示、资源管理、系统管理、用户管理等功能。传感器网络数据汇集:通过Sink节点接收传感器网络的数据并将其存储到数据库中。传感器网络基本信息维护:网络拓扑结构设置、节点的加入与退出。网络数据实时显示:包括数据信息、拓扑信息,并随节点的加入/退出动态更新显示。Sink节点的远程控制:通过局域网控制Sink节点串口的打开及关闭。网络用户
29、操作:用户注册、登录、修改信息等。无线传感器网络资源管理:文件管理和文章管理。系统管理:用户管理、设备管理。,9.5.1 WWMS系统分析,2. WWMS系统详细架构根据系统功能需求,对整个系统进行分析,设计了该系统的详细架构,如图所示。,9.5.1 WWMS系统分析,9.5.2 WWMS系统实现的关键技术,1. 软硬件平台选择及各部分实现方案在考虑系统功能及整体结构,比较国内外传感器节点的优缺点后,本系统选择中科院GAINZ节点作为无线传感器网络部分实现平台 。GAINZ节点传输距离编程可调050m,有效距离可达50m以上;功耗低,睡眠状态电流仅为5mA,节能模式则达到110gA;另外还有软
30、件资源丰富,技术支持完备等特点。其硬件总体结构如图所示,节点软件结构如图所示。,9.5.2 WWMS系统实现的关键技术,通过对软硬件的分析,据系统功能需求及系统整体结构,将该系统划分为以下几大部分:数据采集、数据传输、数据处理及显示、远程操作、设备管理、资源管理、用户管理。该系统的功能结构如图所示。,9.5.2 WWMS系统实现的关键技术,由以上分析得出Web后台管理系统的构成如图所示。,9.5.2 WWMS系统实现的关键技术,2. 无线传感器网络设计WWMS系统的无线传感器网络在GAINZ平台软件基础上修改,将传感器节点进行分组,并设置各个节点所能通信的网络分组,将传感器节点划分为不同的网络
31、组。(1)数据采集(2) 数据传输 (3) SINK节点程序更新(4) 传感器节点程序更新(5) 网络分组,9.5.2 WWMS系统实现的关键技术,3. 数据库设计本系统有许多信息需要存储到数据库中,包括用户信息、用户角色信息、用户分配的网络信息、传感器网络数据信息、传感器网络分组信息、文件信息等。系统用户管理部分涉及用户的注册、登录、授权、鉴权等,其数据库集成到NET Framework2.0中。系统共设计了12个表。aspnet_User、aspnet_UserlnRoles、aspnet_Roles、aspnet_Membership四张表联合实现用户操作及用户管理。Nodelnfo、P
32、AN、UserNodes、Data四张表联合实现节点信息、网络分组信息、用户所能操作的节点及传感器数据的管理。,9.5.2 WWMS系统实现的关键技术,4. 数据汇集及存储SINK节点接收到的无线传感器网络的数据通过串口发送到Web服务器上,并存储于数据库中。在.Net Framwork2.0类库中有一SerialPort类,可以实现对串口的控制,在此使用该类来实现串口操作。 (1)定义串口及设置其相关参数(2)打开串口并设置当有数据时的处理事件,9.5.2 WWMS系统实现的关键技术,5. 数据实时显示、更新利用.netCharting显示图形。.netCharting是一个强大的、在.Ne
33、t环境下的图表工具。使用它可以实现多种图形,如柄状图、散射图等,仅使用少量代码,.netCharting即能实现与数据库关联的图表。.netCharting创建一个temp目录以无缝集成了数据访问、数据聚合、数据处理与动态图形生成,这个特性为数据提供了一种形象化的表示。.netCharting的组成如图所示,它包括数据引擎、图形引擎等。,9.5.2 WWMS系统实现的关键技术,9.5.3 WWMS系统整体测试,将传感器节点随机部署于实验室环境中,一个传感器作为Sink节点与服务器(该服务器上运行有Web后台管理程序,其IP地址配置为192.168.1.100)串口相连。将系统部署好之后,启动Web服务器,在浏览器中输入http:/192.168.1.100/default.asp打开Web监控系统程序。登录成功之后,进入服务器管理页面,选择合适的串口参数,单击打开串口,显示成功打开串口之后,将Sink节点上电,之后将各个传感器节点上电。此时,传感器所传送的数据便通过无线方式传送到Sink节点并存储于数据库中。,
链接地址:https://www.31ppt.com/p-1429094.html