基于物联网的环境监测实现研究.doc_第1页
基于物联网的环境监测实现研究.doc_第2页
基于物联网的环境监测实现研究.doc_第3页
基于物联网的环境监测实现研究.doc_第4页
基于物联网的环境监测实现研究.doc_第5页
免费预览已结束,剩余25页可下载查看

下载本文档

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

文档简介

基于物联网的环境监测实现研究戴礼森工作完成日期:2010.4报告提交日期:2011.1摘 要近年来物联网(The Internet of things)的概念和技术逐渐成为研究的热点,被认为它是继计算机、互联网与移动通信网之后信息产业发展又一次浪潮,开发应用前景巨大。物联网是通信网络的延伸,它能够使我们的社会更加自动化,降低生产成本提高生产效率,借助通信网络随时获取远端的信息。而作为物联网技术基础的无线传感器网络是当前国际上备受关注的、涉及多学科高度交叉、知识高度集成的前沿热点研究领域。本文研究了物联网技术在环境监测系统的应用,尤其是在严酷环境中对环境参数的检测和采集,对无线传感器网络的几种关键技术,如节点供电、自组织路由,以及和互联网的连接等进行了研究,给出了具体解决方案、硬件和软件路由设计等。关键词: 物联网、无线传感网、环境监测、ZigBee、TinyOs目 录1前言42物联网与无线传感网51.1.环境监测典型应用63物联网环境监测系统设计83.1无线采集节点设计83.1.1节点结构及功能设计83.1.2 硬件设计113.2 节点路由协议实现133.3无线网关设计173.3.1网关与上位机通讯协议183.3.2网关路由协议实现223.4 上位机通信与数据分析处理243.4.1 上位机通信软件结构244结束语281 前言近年来物联网的概念和技术被广泛关注,普遍认为它是继计算机、互联网与移动通信网之后的世界信息产业发展又一次浪潮,开发应用前景巨大。美国研究机构Forrester预测,物联网所带来的产业价值要比互联网大30倍,将形成下一个万亿元级别的通信业务。所谓物联网是指通过信息传感设备,按约定的协议实现人与人、人与物、物与物全面互联的网络,其主要特征是通过射频识别、传感器等方式获取物理世界的各种信息,结合互联网、移动通信网等网络进行信息的传送与交互,采用智能计算技术对信息进行分析处理,从而提高对物质世界的感知能力,实现智能化的决策和控制中国政府和领导人对物联网高度重视,国家主席胡锦涛、国务院总理温家宝等领导在不同场合多次强调要依靠科技创新,引领经济发展;要注重经济结构调整和发展模式转变,重视新兴产业的发展等问题;明确提出了“感知中国”的理念,自此“物联网”提到国家议事日程。为抢占未来信息技术的制高点,我国政府也制定了相应的物联网研究和发展计划,并提出“感知中国”的概念。而且在2010年政府工作报告中更是指出,中国要大力培育战略性新兴产业,并特别提出要加强物联网的研发应用。物联网研究起步于90年代末期的美国军方,2001年起DARPA每年都投入千万美元进行物联网技术研究。麻省理工学院、加州大学伯克利分校等高校,Intel、HP等IT公司进行了大量物联网的基础理论和关键技术的研究。我国物联网的研究与发达国家同步。2001年中科院成立了微系统研究与发展中心。 2002年至2009年期间,国家自然基金和“863”计划共支持物联网项目144项。中科院上海微系统所和清华、浙大、国防科大等院校较早地开展了物联网的相关研究。国外大部分物联网产品的研发仍处于理论研究和小规模试验阶段,目前仍处于技术膨胀期,没有形成统一的技术标准,距离成熟实际应用仍需几年时间。Dust Networks、Crossbow Technologies等公司的物联网系列产品已走出实验室,进入应用测试阶段。国内物联网产品的研发与标准化工作还处于起步阶段。作为物联网技术基础的无线传感器网络(Wireless Sensor Networks,WSN)是当前国际上备受关注的、涉及多学科高度交叉、知识高度集成的前沿热点研究领域。它综合了传感器、RFID技术、嵌入式计算、现代网络及无线通信和分布式信息处理等技术,能够通过各类集成化的微型传感器协同完成对各种环境或监测对象的信息的实时监控、感知和采集,这些信息通过无线方式被发送,并以自组织多跳的网络方式传送到用户终端,从而实现物理世界、计算世界以及人类社会这三元世界的连通。本文报告了物联网技术在环境监测系统的应用,尤其是在严酷环境中对环境参数的检测和采集,对几种关键技术,如节点供电、自组织路由,以及和互联网的连接等进行了研究,给出了具体解决方案结构设计、路由设计等。2 物联网与无线传感网一般来说,传感器网络相当于物联网中的“感知层”,对于物体的运动和所处环境通过传感器网络进行搜集和整理,数据则通过传输网络传输到应用层,进行运算、处理、反馈或者实施等等,有人把物联网等同于传感器网,这是不全面的。以互联网为代表的计算机网络技术是二十世纪计算机科学的一项伟大成果,它给我们的生活带来了深刻的变化,然而在目前,网络功能再强大,网络世界再丰富,也终究是虚拟的,它与我们所生活的现实世界还是相隔的,在网络世界中,很难感知现实世界,很多事情还是不可能的,时代呼唤着新的网络技术。可以预见,在不久的将来,无线传感网络将给我们的生活带来革命性的变化图1 物联网数据链1.1. 环境监测典型应用在某些严酷环境中,如桥梁、水坝、矿山等部署相应的传感器节点,通过自组织路由形成无线传感网,再由网关接入互联网。也同样适用远端无人值守机房、感知家庭、农作物灌溉情况、土壤空气情况、牲畜和家禽的环境状况和大面积的地表监测、气象和地理研究、洪水监测等场所。参数传感器可以是位移传感器、震动传感器、液位传感器、压力传感器、温度传感器等。其典型应用如图2、图3 所示。 图2 矿井环境检测系统图3 桥梁状态检测举例来说,目前我国煤矿采用的煤矿支架压力监测系统都是以工业CAN总线为基础,井下监测系统与地面信息中心通过电缆或光纤连接,构成有线信息传输网络,网络结构相对固定,不适合掘进工作面延伸的动态变化要求。将带有压力传感器的节点嵌入到各支架上形成自组织路由传感器,即可有效解决压力等环境参数采集和检测任务,随着工作面的移动而通信不受影响,如图4所示。CANCAN 总线无线网关环境采集节点上位机 数据分析与处理地面井下环境采集节点环境采集节点协议转换图4.矿井环境监测系统在图4中,各个无线矿压采集节点和无线网关之间形成一个自组织的网络,无线矿压采集节点采用电池供电,无线网关采用稳压电源供电,通过CAN总线实现地面数据监视和处理部分与井下设备通信。系统可以通过光纤环网、电话线或者电缆实现地面系统与井下压力采集系统的通信和传输。上位机实现数据分析与处理并接入互联网。3 物联网环境监测系统设计作为环境参数监测的一个具体应用,在下述描述中以压力参数为例。3.1无线采集节点设计3.1.1节点结构及功能设计无线传感器节点是无线传感网络的组成单元,可以看作是一种非常小型的计算机,一般由以下四个部分组成:传感器模块、处理器模块、无线通信模块和能量供应模块。无线传感器网络可以在任何时刻、任何地点不需要任何现有基础网络设施,包括有线和无线设施支持的条件下,快速构建起一个移动通信网络。网络的运行维护管理等完全在网络内部实现,网络还需要一些基站来建立传感器网络与外界的联系,但各传感器节点构成的网络依然是一个自组织的无中心的无线网络。图 5 无线传感节点结构如图5所示,传感器模块主要是用来采集各类信息,如温度、湿度、声音、加速度、全球定位信息等,并负责将模拟信息量化为数字信息,传递给其它模块进行处理;处理器模块包括处理器和存储器两部分,负责控制整个传感器节点的操作,存储和处理本身采集的数据以及其它节点发来的数据;无线通信模块负责与其它传感器节点进行通信,交换控制消息和收发采集数据;能量供应模块为传感器节点提供运行所需要的能量。节点的能量靠电池提供,其能量有限由于条件的限制,难以在使用中给节点更换电池,所以传感器节点的能量限制是整个系统设计瓶颈,它直接决定了网络的工作寿命;另一方面,传感器节点的计算能力和存储能力都较低,使得其不能进行复杂的计算和数据存储,有效的路由协议是系统设计的关键。无线传感器网络的能量管理主要体现在传感器节点电源管理上和有效节能的通信协议设计上,WSN是通过能量管理协议来负责网络能量的管理。其中和电源单元发生关联的有很多的模块,包括感应单元、处理单元、通信单元定位系统和移动装置等模块。其中,从传感器节点的结构来看,除了供电模块外,其它的模块都存在着电源能量消耗。在某个传感器应用现场,节点的主要任务就是监测事件,一旦事件发生就要快速执行本地采集数据的处理,然后发送数据到目的节点。因此,耗能可以分成三个组成部分:感应、通信和数据处理部分。传感器网络的协议主要考虑如何在通信部分实现有效的节能。很多研究和测量成果都表明:节点空闲监听会消耗接收数据所需能量的50-100左右。在实际应用中,如果没有感应事件发生,节点大多数时间处于空闲模式,这是能量浪费的主要来源。能量管理协议的核心思想就是让不执行感应任务的节点直接进入睡眠状态。因此,无线传感网络能耗的特点如下:节点能耗与其操作模式关系较大,无线传感器的能耗主要来源于无线的传输以及传输的数据量。对于无线传感网,能量浪费主要来源于下面几个方面:由于数据包冲突造成的能量浪费,如多个节点向同一个节点传输数据造成数据包碰撞、重传从而造成能量浪费;由于不必要侦听造成能量浪费,比如一个节点侦听到不是自己的数据包所造成的能量浪费;无线模块长期处于空闲状态所造成能量浪费,节点处于空闲状态的能耗可以和接收状态及发送状态的能耗比拟,如果节点无线模块长期处于空闲状态就会造成大量能量浪费:由于收发节点没有协调好所造成的不必要数据发送,比如当发送端发送数据时,接收端处于睡眠状态,此时发送的数据会造成能量的浪费。系统设计中我们采用了专为嵌入式无线传感网络设计的TinyOs操作系统。TinyOS采用了组件的结构,它是一个基于事件的系统。TinyOS设计的主要目标是代码量小、耗能少、并发性高、鲁棒性好,可以适应不同的应用,其技术特点表现在:轻线程:解决节点操作可能比较频繁,线程较短,传统进程/线程调度无法满足。主动消息:在发送消息的同时传送处理这个消息的相应处理函数ID和处理数据,接收方得到消息后可立即进行处理,从而减少通信量事件驱动:整个系统的运行是因为事件驱动而运行的,没有事件发生时微处理器进入睡眠状态,从而可以达到节能的目的。组件化编程:组件就是对软硬件进行功能抽象。整个系统是由组件构成的,通过组件提高软件重用度和兼容性。程序员只关心组件的功能和自己的业务逻辑,而不必关心组件的具体实现,从而提高编程效率。依据以上设计思路,设计完成的本系统采集节点主要由处理器、通信控制器、RTC实时时钟电路、数据显示、数据存储、油压采集以及射频通信模块组成。结构框图如图6所示。主处理芯片组射频通讯模块实时时钟模块液晶显示模块参数采集模块数据存储模块图6 环境参数采集节点功能图各模块功能和设计:网络节点采用模块化设计,包含射频通讯模块、传感器AD采集模块、RTC实时时钟模块、LCD显示模块、数据存储模块。节点每隔规定时间(通常2秒)采集数据,并将数据记录,同时加上时间信息,然后节点尝试将数据再上传至网关。若上传失败,则数据将被记录在存储模块中,存储空间为128KB,等待通讯恢复后再将数据上传回来。每个监控节点间可以转发其它节点信息,以实现多跳的特性,节点间自动完成MESH网络,并可快速适应环境变化,保证数据传输稳定。3.1.2 硬件设计节点硬件主处理器采用TI公司生产的一款专用于IEEE802.15.4和Zigbee通信协议的片上系统(SoC)CMOS解决方案。如图7所示,这种解决方案能够提高性能并满足以ZigBee为基础的2.4GHz ISM波段应用,及对低成本,低功耗的要求。它结合一个高性能2.4GHz DSSS(直接序列扩频)射频收发器核心和一颗工业级小巧高效的8051控制器。CC2430的设计结合了8Kbyte的RAM及强大的外围模块,并且有3种不同的版本,他们是根据不同的闪存空间32,64和128kByte来优化复杂度与成本的组合。图7 SoC系统框图针对协议栈,网络和应用软件的执行对MCU处理能力的要求,CC2430包含一个增强型工业标准的8位8051微控制器内核,运行时钟32MHz。由于更快的执行时间和通过除去被浪费掉的总线状态的方式,使得使用标准8051指令集的CC2430增强型8051内核,具有8倍的标准8051内核的性能。 CC2430包含一个DMA控制器。8k字节静态RAM,其中的4k字节是超低功耗SRAM。32k,64k或128k字节的片内Flash块提供在电路可编程非易失性存储器。 CC2430集成了4个振荡器用于系统时钟和定时操作:一个32MHz晶体振荡器,一个16MHz RC-振荡器,一个可选的32.768kHz晶体振荡器和一个可选的32.768kHz RC 振荡器。CC2430也集成了用于用户自定义应用的外设。一个AES协处理器被集成在CC2430,以支持IEEE802.15.4 MAC 安全所需的(128位关键字)AES的运行,以实现尽可能少的占用微控制器。 中断控制器为总共18个中断源提供服务,他们中的每个中断都被赋予4个中断优先级中的某一个。调试接口采用两线串行接口,该接口被用于在电路调试和外部Flash编程。I/O控制器的职责是21个一般I/O口的灵活分配和可靠控制。 CC2430包括四个定时器:一个16位MAC定时器,用以为IEEE802.15.4的CSMA-CA算法提供定时以及为IEEE802.15.4的MAC层提供定时。一个一般的16位和两个8位定时器,支持典型的定时/计数功能,例如,输入捕捉、比较输出和PWM功能。 CC2430内集成的其他外设有:实时时钟;上电复位;8通道,814位ADC;可编程看门狗;两个可编程USART,用于主/从SPI或UART操作。为了更好的处理网络和应用操作的带宽,CC2430集成了大多数对定时要求严格的一系列IEEE802.15.4 MAC协议,以减轻微控制器的负担。射频及模拟收发器:CC2430的接收器是基于低-中频结构之上的,从天线接收的RF信号经低噪声放大器放大并经下变频变为2MHz的中频信号。中频信号经滤波、放大,在通过A/D转换器变为数字信号。自动增益控制,信道过滤,解调在数字域完成以获得高精确度及空间利用率。集成的模拟通道滤波器可以使工作在2.4GHz ISM波段的不同系统良好的共存。3.2 节点路由协议实现无线传感器网络是一种能量有限的网络,且能量通常无法得到补充。因此,在无线传感器网络中,有效利用有限的能量资源是任何路由算法首要考虑的因素。无线传感器网络设计的一个主要目标是最大化网络生命期。如果网络中某些节点能量消耗过快,这对网络的生存期有很大的影响。所以,每个节点能耗均衡也是路由算法的重要考虑因素。本项目主要研究基于最小跳数的能量自适应路由算法( minimum hops energy-adapted protocol,MHEP)。该路由算法的关键思想是利用到sink 节点的最小跳数和路径节点最小剩余能量作为路由选择度量来完成信息包的转发。传感节点发送信息时,首先搜索本节点的下一跳可用节点集,从中选择路径节点最小剩余能量最大的节点进行转发,下跳节点接收到该信息后作同样的处理,直至发送到目的节点为止。下面给出的是单跳路由描述。单跳路由实现过程配置文件NodeC 使用的组件:MainC 主组件 NodeP 节点实现组件LedsC LED组件HalFlashP Flash读写组件HplCC2430Timer1P 定时器1组件HplCC2430Timer3P 定时器3组件HplCC2430I2CbusP I2C组件HplCC2430GeneralIOC IO组件AdcP ADC组件SimpleMacC RF组件SmsLcdBasicC LCD驱动组件使用的接口:Boot 启动接口 Leds LED接口 HalFlash Flash操作接口 HplCC2430Timer16 as Timer1 定时器1接口 Init as Timer1Init 定时器1初始化接口 HplCC2430Timer8 as Timer3 定时器3接口 Init as Timer3Init 定时器3初始化接口 HplCC2430I2CBus as I2C I2C接口 Init as AdcInit ADC初始化接口 AdcControl ADC控制接口Read as AdcRead ADC读接口 SimpleMac RF接口 StdControl as SimpleMacControl RF控制接口 SmsLcdBasic 液晶接口 GeneralIO as PAEnable PA控制脚提供的接口:Init 软件初始化:读出Flash中存储的节点地址号。实现文件NodeP任务:task void delay() 延时10ms task void delay1() 延时时间由节点号决定,相邻节点号间隔10ms。事件:event void Boot.booted() 启动上电启动后进入该事件,该事件中完成时钟,定时器寄存器初始化,无线发送变量的初始化,无线寄存器初始化,功放控制设置。 async event void Timer3.fired()定时器3中断程序。停止定时器。 如果没找到子节点:本节点作为最后一级节点,向父节点发送自身节点号。 如果找到了子节点:向子节点发送设置消息。 event void AdcRead.readDone(error_t result, int16_t val) 读ADC中断程序。ADC值转换成压力整数和小数位,LCD显示压力值;每5s采集一次,采集后立即休眠;直到采集12次(也就是一分钟采集结束),不休眠,读出时间值,打开定时器1,定时时间和节点跳数有关(目的是为了叉开各个节点发送数据的时间,避免冲突)。event packet_t *SimpleMac.receivedPacket(packet_t *packet)无线接收中断程序。Switch接收数据长度:(1) length = 10 若packet-data = 0,表明收到的是查询消息,向发送查询消息的节点回应一个消息。若packet-data = 1,表明收到的是应答消息,从有效覆盖范围内的节点回应中,找出RSSI值最大的节点。(2) length = 11 表明是父节点发送到本节点的设置消息,设置父节点为发送设置消息的节点号。跳数MHC为父节点跳数加一,设置定时器1溢出值为391*MHC(每个节点错开200ms),设置地址过滤。启动定时器3,发送查询子节点消息。(3) length = 9+全部子节点字节数 表明收到的是节点号上传消息,将消息转发到自己的父节点。(4) length = 21 表明收到的是时间设置消息,将其转化为BCD码格式,写入RTC,启动RTC,设置定时中断时间(5s)。将时间转发至子节点。设置外部中断寄存器。(5) length = 36 表明是发到本节点的数据消息,转发至父节点。MCS51_INTERRUPT(SIG_P1INT)外部中断服务程序。在我们的系统中,外部中断为RTC中断。中断服务程序中,清外部中断标志位,调用读ADC命令。async event void Timer1.fired()定时器1中断服务程序。停止定时器,打开无线,发送数据包至父节点。 3.3 无线网关设计无线网关的功能是建立和各采集节点的通信路由并保持通信,与上位机或通信网络接口和数据处理单元通信将各节点采集数据上传,同时上位机可以通过网关向各个采集节点发送命令。其硬件部分和节点设计基本相同。网关结构如图8所示。(1) 网关包含射频通讯模块、串口通讯模块、RTC实时时钟模块、通信协议处理模块、数据存储模块;(2) 网关通过射频模块,收集所有节点上传的数据报;(3) 若监控服务软件与网关保持连接,则网关将即时的将数据通过CAN总线通讯上报数据信息;(4) 若监控服务软件与网关通讯断开,则网关将收集到的数据存储至存储系统中;(5) 监控服务软件与网关通讯恢复,则网关可将存储的数据再次传回;网关处理芯片射频通讯模块实时时钟模块数据存储模块通讯处理图8 网关结构功能图(6) U盘存储作为网关重要功能,当与上位机通信中断时,各采集点采集到的环境数据存储在U盘,操作人员通过更换U盘取出存储的数据。U盘驱动电路采用“U 盘和SD 卡文件管理控制专用芯片,用于单片机系统读写U 盘或者SD 卡中的文件,与单片机采用SPI接口。考虑到本安要求,即防火花,对5V优盘供电进行限流。见图9。.图9 U盘供电和驱动电路3.3.1网关与上位机通讯协议网关报告节点即时数据(Gateway - PC)字段长度大小端备注包头标志11字节SOP1:0x37包头标志21字节SOP2:0xA9包类型标志1字节CMD:0x01包负载长度2字节BELEN:DATA段长度包头检验码1字节HCS:为CMD和LEN逐字节异或结果行业编码1字节0x06应用编码1字节0x01应用数据类型码1字节0x01节点类型号1字节转发地址2字节BE源地址的下跳地址源地址2字节BE顺序号1字节跳数1字节心跳数据头12字节格式参见2.1.1本次记录数量1字节本数据包所包含的数据量记录数据16*N字节数据列表,格式参见2.1.2校验码1字节PCS:为前面除两个包头标志外所有字节异或的结果心跳数据头字段长度大小端备注RTC时间1字节year:年1字节month:月1字节day:日1字节hour:时1字节minute:分1字节second:秒节点剩余包数2字节BE节点上所剩余的数据记录的数量(含本次数据)节点历史数据包2字节BE节点上所含所有的历史记录量剩余电量1字节节点剩余电量百分比信号质量1字节信号质量状态记录数据字段长度大小端备注节点ID2字节BE记录所属的节点ID号RTC时间1字节year:年1字节month:月1字节day:日1字节hour:时1字节minute:分1字节second:秒传感器数据14字节BEAD采集值(浮点数)传感器数据24字节BEAD采集值(浮点数)网关报告节点历史数据(Gateway - PC)此类数据为节点因为发生错误无法正确上传所保存下来的数据:节点转发失败的数据网关板上报未成功的数据所有的数据组成相应的片段,保存到FLASH中,可能无序。字段长度大小端备注包头标志11字节SOP1:0x37包头标志21字节SOP2:0xA9包类型标志1字节CMD:0x01包负载长度2字节BELEN:DATA段长度包头检验码1字节HCS:为CMD和LEN逐字节异或结果行业编码1字节0x06应用编码1字节0x01应用数据类型码1字节0x02节点类型号1字节转发地址2字节BE源地址的下跳地址源地址2字节BE顺序号1字节跳数1字节本次记录数量1字节本数据包所包含的数据量记录数据16*N字节数据列表,格式参见2.1.2校验码1字节PCS:为前面除两个包头标志外所有字节异或的结果获取网关当前RTC时间(PC-Gateway)上位机可以通过该命令得到基站的RTC时间值,基站正确接收到上位机命令后,将会按照2.5所规定格式返回当前的RTC时间。字段长度大小端备注包头标志11字节SOP1:0x37包头标志21字节SOP2:0xA9包类型标志1字节CMD:0x01包负载长度2字节BELEN:DATA段长度包头检验码1字节HCS:为CMD和LEN逐字节异或结果行业编码1字节0x06应用编码1字节0x01应用数据类型码1字节0x03校验码1字节PCS:为前面除两个包头标志外所有字节异或的结果设置网关当前RTC时间(PC-Gateway)上位机可以通过该命令设置基站的RTC时间值,基站正确接收到上位机命令后,会将时间调整为相应值,然后按照格式1.5返回当前的RTC时间。字段长度大小端备注包头标志11字节SOP1:0x37包头标志21字节SOP2:0xA9包类型标志1字节CMD:0x01包负载长度2字节BELEN:DATA段长度包头检验码1字节HCS:为CMD和LEN逐字节异或结果行业编码1字节0x06应用编码1字节0x01应用数据类型码1字节0x04RTC时间1字节year:年1字节month:月1字节day:日1字节hour:时1字节minute:分1字节second:秒校验码1字节PCS:为前面除两个包头标志外所有字节异或的结果网关返回当前RTC时间(Gateway PC)基站在接收到上位机的获取或设置命令后,返回当前时间值。字段长度大小端备注包头标志11字节SOP1:0x37包头标志21字节SOP2:0xA9包类型标志1字节CMD:0x01包负载长度2字节BELEN:DATA段长度包头检验码1字节HCS:为CMD和LEN逐字节异或结果行业编码1字节0x06应用编码1字节0x01应用数据类型码1字节0x05处理结果1字节0:失败,1:成功(可表示获取或设置时间值的结果)RTC时间1字节year:年1字节month:月1字节day:日1字节hour:时1字节minute:分1字节second:秒校验码1字节PCS:为前面除两个包头标志外所有字节异或的结果3.3.2 网关路由协议实现配置文件GateWayC使用的组件:MainC 主组件GateWayP 基站组件LedsC LED组件StdOutC 串口组件HplCC2430I2CBusP I2C组件HplCC2430GeneralIOC IO口组件HplCC2430Timer1P 定时器1组件SimpleMacC RF组件使用的接口:Boot 启动接口 Leds LED接口 HplCC2430Timer16 as Timer1 定时器接口 Init as Timer1Init 定时器初始化接口 StdOut 串口接口 GeneralIO as PAEnable IO接口 HplCC2430I2CBus as I2C I2C接口 SimpleMac RF接口 StdControl as SimpleMacControl RF控制接口实现文件GateWayP 任务:task void delay() 延时5ms task void delay1() 延时50ms事件:event void Boot.booted() 启动上电启动后进入该事件,该事件中完成时钟,定时器寄存器初始化,无线发送变量的初始化,无线寄存器初始化,功放控制设置。设置了硬件地址过滤,以保证在后面建立路由和无线接收中,其他无用消息的干扰。 async event void Timer1.fired() 定时器中断程序。该服务程序中:停止定时器,发送子节点设置消息。 event packet_t *SimpleMac.receivedPacket(packet_t *packet) 无线接收中断程序。扫描无线接收消息的数据长度: (1) Length = 节点号总字节数+9:表示收到的是回传节点号的消息。通过串口向上位机上传节点号。 (2) Length = 10:表示收到的是节点的应答消息。由于有很多节点的回应消息,选出其中的RSSI值最强的节点作为自己的子节点。 (3) Length = 36:表示收到的是节点上传的数据。通过串口上传给上位机。 async event void StdOut.get(uint8_t data) 串口接收中断程序: (1) 若收到字符s:发送查询子节点消息,打开定时器。定时器定时时间到,则选择最强信号的节点作为子节点。同时停止定时器。 (2) 若收到字符t:表示是时间字符串,把后面12位时间字符串放入时间数组中,并向子节点发送时间设置消息。3.4 上位机通信与数据分析处理上位机监测软件是整个环境监测系统的一个部件,在无线传感网中,网关采集到各个节点的信息,并通过通信接口和上位机通信,将数据发送给上位机,而上位机则进行相关信息的处理,并与互联网相连。整个上位机监控系统主要由数据采集、数据处理、数据存储三大部分组成。数据库管理服务器包括数据库服务器和数据库,数据库服务器负责各个模块与数据库之间的交互,使数据库对其他模块透明,数据库用来存储数据。数据处理服务器负责将接收上来的数据进行解析,然后将其送往系统管理服务器。系统管理服务器主要负责与用户交互。使用户能根据需要配置整个系统,按需求显示监控数据,查询历史数据等。3.4.1 上位机通信软件结构上位机数据分析与处理软件主要功能是采集上传的原始数据,解析成应用数据后存入数据库中,同时可以实时监控各节点及网关的通信、路由、数据等状态。软件结构如图10所示,其通信软件功能如下:(1)节点/网关健康状况分析用于实时监视节点和网关的通信状态,如节点通信超时时间、最后心跳时间戳以及节点接收数据包/心跳包数量信息等。当节点或网关的通信连接发生异常,或通信超时时会出现报警提示;(2)网络拓扑结构分析用于实时分析,显示当前传感器组网的通信路由状态,并按照拓扑层级别分组显示节点,以及每个节点的上下跳关系;(3)即时数据显示功能用于实时显示接收的数据,分别显示心跳包与数据包的最新数据;(4)数据存储使用多种形式,支持文件及多种数据库(使用sqlserver2005)。图10上位机通信软件结构程序流程结构图11 上位机通信程序设计说明输入参数(1)路由表格式 解析后的数据说明: R001002004005003.N R:包头 001:节点号 节点号3位一个节点号,现在的路由是线性的,前一个是后一个节点的父节点 说明:网关开始工作向上位机发路由表,上位机收到路由表后下发时间,如果未收到上位机的时间,一直发路由表。解析数据对照表:收到的数据R0102040503.N说明解析后的数据原始数据占几位数据类型包头RR416进制节点号101816进制节点号202816进制节

温馨提示

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

评论

0/150

提交评论