基于无线传感器的建筑物结构健康监测系统服务器应用程序设计---毕业论文_第1页
基于无线传感器的建筑物结构健康监测系统服务器应用程序设计---毕业论文_第2页
基于无线传感器的建筑物结构健康监测系统服务器应用程序设计---毕业论文_第3页
基于无线传感器的建筑物结构健康监测系统服务器应用程序设计---毕业论文_第4页
基于无线传感器的建筑物结构健康监测系统服务器应用程序设计---毕业论文_第5页
免费预览已结束,剩余47页可下载查看

下载本文档

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

文档简介

本 科 毕 业 论 文 基于无线传感器的建筑物结构健康监测系统服务器应用程序设计Server Application Design of Structural Health Monitoring System Based on Wireless Sensor Networks姓 名:学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:校外指导教师: 校内指导教师: 年 月摘 要建筑物结构健康监测(SHM)是目前土木学科研究的前沿课题之一。每个建筑物都有其固有的物理特性,当其内部结构发生变化时,某些物理特性就会发生改变。结构建筑物的健康监测思路是:对建筑物的特性参数进行采集,经过在线处理、或发回到数据中心处理后,与健康情况下的处理结果相比较,即可得出当前建筑物所处状态是否健康。以往SHM采集数据是通过有线网络进行传输的。但随着网络规模的扩大,有线网络中传输线的成本急剧增加,供电电源困难、节点安装拆卸繁琐的缺点日益突出,无线监测成为一种趋势。无线传感器网络(WSN)的设计必须满足:低功耗、低复杂度、节点数多、覆盖范围广、适当的传输速率五个要求。目前国内外基于结构健康监测应用的无线传感网络实现方法中大部分是基于单跳的,网络只能支持少量的节点。为实现大覆盖范围,又满足低复杂度、低功耗的要求,本文介绍了将IEEE802.15.4标准和基于其上架构的Zigbee协议引入到健康监测的无线传感器网络中的系统,设计并实现了系统的控制中心服务器应用程序。关键词:建筑物结构健康监测;无线传感网;服务器AbstractThe large-scale civil structures are supposed to provide long-term service to the society, and their damage even collapse will bring great losses to the country and the people. Therefore, increasing emphasis is put on structure safety, and the Structural Health Monitoring (SHM) has also become one of the forefronts of civil engineering. The health status of civil structures can be determined by first collecting the building parameters, then processing the data online or directly sending them back to the data center for processing, after which the characteristics parameter can be extracted and compared with the normal value. The traditional wired structural monitoring systems often suffer of various problems mainly related to the cabling which limits their applicability. These issues include the cost of cables, their difficulty of installation, their invasive effect on the monitored structure, their vulnerability to mechanical damage, and the high cost of maintenance. All these disadvantages urge the need for wireless monitoring.In the design of wireless sensor network (WSN) for the application SHM, five requirements are supposed to be met: low-power, large network nodes, multi-hop, low-complexity and the appropriate data rate. But most of the current wireless SHM systems are mainly based on single-hop, and the network can only support a small number of nodes. For the realization of multi-hop, low complexity and low power requirements, this thesis will introduce the proposed system based on ZigBee protocol built on the IEEE802.15.4, then design and implement the server application.Key words: SHM; WSN; Server目 录第一章 绪论11.1结构健康监测概述11.2 无线传感器网络在结构健康监测中的应用31.3 本章总结4第二章 无线网络搭建和系统总体架构52.1 ZigBee协议及其实现52.1.1 短距离无线通讯标准52.1.2 ZigBee协议栈简介52.1.3 ZigBee网络拓扑62.1.4 ZigBee实现方案92.2 系统总体架构102.2.1 网络拓扑102.2.2 系统总体架构122.2.2 网络节点介绍122.3 系统软件设计162.3.1 节点处Atmega128状态转移图172.3.2 协调器CC2430部分简要状态机图182.4 本章总结18第三章 服务器应用程序设计193.1 服务器应用程序的功能193.2 命令和数据传输193.2.1 信令的传输过程193.2.2 串口通信规范203.2.3 数据包格式213.2.4 服务器应用程序与其他模块通信的参数接口定义233.3 服务器应用程序软件设计273.3.1 服务器应用程序流程273.3.2 服务器应用程序的状态转移293.3.3 服务器应用程序架构303.4 服务器应用程序界面 323.4.1 服务器应用程序的开发平台 323.4.2 服务器应用程序用户界面设计 323.4 本章小结35第四章 实验测试364.1正弦波信号采集测试364.1.1 实验介绍364.1.2 实验测试364.2框架实验振动测试374.2.1 实验介绍374.2.2 实验测试384.3 本章小结40第五章 总结与展望415.1 总结415.2 展望41参考文献.43致谢 44ContentsChapter 1 Introduction11.1 Introduction to SHM11.2 Wireless Sensing Network in SHM31.3 Summary of This Chapter4Chapter 2 Building Wireless Network and Architecture52.1 ZigBee Protocol and Its Implementation52.1.1 Comparation of Short-range Communication Protocol52.1.2 ZigBee Protocol52.1.3 ZigBee Network Topology62.1.4 CC243092.2 System Architecture102.2.1 Network Topology102.2.2 System Architecture122.2.2 Network Nodes122.3 Software Design162.3.1 Atmega128 State Machine Graph172.3.2 CC2430 Flow Graph182.4 Summary of This Chapter18Chapter 3 Server Application Software Design193.1 Server Application Functions193.2 Signal Transmission193.2.1 Signal Transmission Process193.2.2 Serial Transportation Interface203.2.3 Packet Format213.2.4 Server Application Transmission Interface Design233.3 Server Application Software Design273.3.1 Server Application Working Process273.3.2 Server Application State Machine Graph293.3.3 Server Application Architecture303.4 Server Application User Interface 323.4.1 Server Application Development Platform Server Application UI Design 323.5 Summary of This Chapter35Chapter 4 Experiment Testing364.1 Sine Wave Signal Acqusition Test364.1.1 Experiment Introduction364.1.2 Experiment Result364.2 Framework Vibration Test374.2.1 Experiment Introduction374.2.2 Experiment Result384.4 Summary of This Chapter40Chapter 5 Conclusions415.1 Summary . 415.2 Outlook . 41References .43Acknowledgements .44基于无线传感器的建筑物健康结构监测系统服务器应用程序设计第一章 绪论1.1结构健康监测概述近几年来,我国建成了许多举世瞩目的重大工程,如三峡工程、西气东输、南水北调、青藏铁路、水立方、鸟巢、杭州湾跨海大桥等。与民众生活息息相关的公共基础设施建设也正向大型化、复杂化方向发展。这些设施将在接下来的几十上百年内为人们提供服务,为人们带来了极大的便利和财富。然而由于环境载荷作用、疲劳效应、腐蚀效应和材料老化以及其他使用不当的人为因素,建筑物的结构将不可避免地产生损伤积累,抗力衰减。这些都有可能导致突发事故,造成的巨大损失。例如:广东韶关公路大桥坍塌,造成32人死亡,59人受伤;台湾省高屏大桥的断裂是我国发生的又一起塌桥事件,造成16辆汽车坠入河中,22人受伤1。这些都引起了人们对这些大型工程安全性的关心和重视。工程的可靠性一方面是靠合理的设计、正确的施工来保障的;另一方面,是依赖事后维修和定期的维护来实现的。第一种方式由于工程结构体系复杂,认识水平有限,设计预期性态与实际性态不可避免地存在偏差;同时由于施工水平的限制,也会导致实际结构与设计预想偏差。第二种方式中,事后维修缺乏及时性、主动性;定时维修缺乏目的性、经济性。如高屏大桥事故,事故现场调查结果表明,该桥桥基早已裸露,台风造成河水暴涨,桥基被冲垮,导致大桥下陷断裂2。如果能及时地了解桥的健康状况,则完全可以避免事故。随着技术的进步,通过恰当的监测手段可以及时了解工程结构的健康状况,特别是有可能在早期就发现危及安全的隐患。这对确保大型结构工程的安全起到至关重要的作用,同时也为大型结构工程的维修加固提供必要的依据,由此可以节约维修和重建的费用,避免影响社会的正常运转。对于新建的大型结构工程应总结以往的经验教训,在工程建设的同时增设长期安全监测系统和损伤识别控制系统,为保证大型结构工程的安全提供可靠的健康状况信息。因此,结构健康监测已成为世界范围内土木工程领域的前沿研究方向3。为了能长期地监测建筑物结构健康,并将监测数据发到采集中心,研究人员提出了智能传感网的概念。所谓智能传感网,是指能实现信息的“采集”、“传输”和“处理”的统一和协同的网络。最初,有线智能传感网因其实现简单、可靠性高,受到广大科研人员的青睐,被迅速地应用到健康监测实验中。但随着研究的深入,受监测建筑物规模逐渐增大,而繁多的电源线、数据传输线使得系统安装的时间和费用越来越大。一个中等规模的监测系统的安装时间占整个系统时间的75%,系统的安装费用则占整个系统费用的25%4。因此,寻求一种安装便捷、费用低的传感网,成为迫在眉睫的任务。而近10年来,数字无线技术的发展解决了无线信号的高噪声问题,无线宽带技术大大提高了无线传输的传输速率5,同时无线通信的可靠性、稳定性也大大提高,这些使得无线满足了人们可靠、高效传输的需要。便捷、灵活、低价、低功耗的特点使得无线通信很适合应用于大规模的、长期的健康监测,因而无线智能传感网成为当前健康监测课题的研究热点。无线智能传感网在土木工程上的应用,并不仅限于健康监测中。5.12地震给我们留下了惨痛的记忆。地震时,建筑物坍塌的主要原因是其振动幅度超过承受能力。所以,在同等外力作用条件下,如果能减小建筑物振动幅度,则有望降低其坍塌可能性。研究人员通过无线智能传感器网络对建筑物在受到外力作用后的动力特性进行实时采集和在线分析,并根据计算的结果给出一个反馈的激励,作用到建筑物上,以期减弱、甚至是抵消其振动。这对减震防灾工作是极为有帮助的。综上所述,无线传感器网络在土木工程中有着广泛而又意义深远的应用。目前,国内采用的无线传感网络平台大都是国外开发的产品,无线传感器网络的相关技术并不够成熟。且大部分的平台只支持单跳传输的小型网络,覆盖范围小,无法满足大型结构健康监测的需求。因此研究开发适用于大型结构健康监测的智能无线传感器网络具有重要的科学意义和经济价值。1.2 无线传感器网络在结构健康监测中的应用无线传感器网络在建筑物的结构健康监测中被广泛应用。无线传感网络系统由三部分组成:普通传感器采集节点(Node)、具有路由功能的节点(Router)以及一个连接PC的数据处理中心(Sink),工作过程如图1-1所示。传感器节点采集数据后,进行相应的存储处理,然后通过无线信道传输到Sink节点上,Sink节点一般与PC机相连,则在任意位置都可以通过Internet获得节点采集的数据。 图1.1 无线传感网络系统工作过程与一般的无线传感网相比,大型建筑的结构健康监控网络有以下几个特点:(1) 传感器节点数多,覆盖面积大。建筑物一个地方的损伤可能导致整个建筑物坍塌,所以健康监测节点的分布必须密集,传感器节点数多。用于大型结构上的健康监测网络还必须保证大覆盖范围。(2) 节点供电不便,为节能,短距离多跳传输方式成为趋势。节点采用电池供电,其无线通信模块的能耗占总能耗大部分。在需要大覆盖范围情况下,以短距离多跳传输方式代替单跳长距离传输成为趋势。(3) 节点安装的位置通常预先设计,较为固定;且某些节点安装在较难到达的位置,维修不便。例如桥梁健康监测中,有一部分的节点将会布置在桥拱内。所以必须选取合适网络的拓扑结构,以方便网络的维护。(4) 突发数据量较大,实时性要求不高,但存在数据传输瓶颈。由于健康监测理论目前仍处于理论研究阶段,需要大量的原始数据进行验证,所有采集数据都必须往Sink节点传输,因此,越接近采集中心的数据链路负载就越重。为避免来不及转发的数据丢失,节点必须有一定的空间来缓存转发数据。同时,也可利用数据融合技术来减少需要传输的数据量。(5) 时间同步要求高。从采集得到的数据中提取建筑物的物理特性时,要求不同位置的采集数据间有相关性,所以希望每个位置的节点都能在同一个时刻开始、以相同的频率采集,这需要时间同步算法的支持。在服务器软件设计、节点硬件设计、拓扑结构选择、路由算法设计、网络管理程序设计时需综合考虑以上几个需求。1.3 本章总结本章介绍了何为结构健康监测及其意义,然后分析了结构健康监测中无线网络的应用大型建筑的结构健康监控网络的特点。第二章 无线网络搭建和系统总体架构2.1 ZigBee协议及其实现2.1.1 短距离无线通讯标准应用于建筑物健康监测的大型无线传感网中的节点供电能力受限,因此必须采用短距离通信技术。相比于各种非标准技术,标准技术有着更好的互联互通性。无线个域网(WPAN)技术是一种短距离无线网络通信技术,目前,相应的标准有:红外线数据通信IrDA标准,802.15.1-蓝牙标准,802.15.3a-UWB标准和802.15.4标准。Zigbee是近年来发展起来的一种近距离无线通信技术,它是Zigbee联盟在IEEE802.15.4基础上定义的一种LR-WPAN技术规范。Zigbee具有低功耗、低成本、易使用、网络容量大、时延短等特点,被认为最有可能应用在传感器网络的无线技术6。正因为ZigBee具有这些特点,我们选择它作为通信标准来设计无线传感网络。2.1.2 ZigBee协议栈简介Zigbee是Zigbee联盟在IEEE802.15.4定义的物理层和媒体访问控制层基础上制定的LR-WPAN技术规范。其协议栈架构如图2.1所示,整个协议栈由物理层、MAC层、网络层、应用层组成。IEEE802.15.4协议定义了底层两个协议:物理层和MAC层,ZigBee联盟还对上层的网络层和应用层进行了标准化。图 2.1 ZigBee协议栈结构Zigbee协议栈的每层为上层提供一套服务功能:数据实体提供数据传输服务,管理实体提供其他的服务。2.1.3 ZigBee网络拓扑根据设备在网络中承担任务不同,Zigbee设备可以分为3类:协调器、路由器和普通节点。在一个无线个域网中,只能有一个协调器。Zigbee网络有三种拓扑形式:星状、网状和树簇状;各拓扑结构如下图所示。图2.2 星形拓扑星形拓扑中,所有终端设备都与唯一的中央控制设备-PAN协调器通信,终端设备间的通信通过PAN协调器的转发来完成。PAN协调器一般使用持续的电力系统供电,这种拓扑适合于节点数较少的情况下使用。图2.3 网状拓扑网状拓扑中,也有一个PAN协调器;但是与星形拓扑不同,任意两个设备只要彼此都在对方的无线辐射有效范围之内,就可以直接通信。所以这种拓扑可以构建成复杂的Mesh网,适合于节点分布范围较广的应用。对拓扑的变化具有好的自适应性,自恢复性。但因此网络架构复杂性提高,网络维护开销增大。图2.4 树簇状拓扑树簇状拓扑的设备可以分为三种:协调器、路由器和普通节点。协调器和路由器间组成网状拓扑,而普通节点则与其对应的路由器组成星形拓扑结构。这种拓扑结构可以支持数量多的节点,同时,由于并不是任意两个节点间都会直接通信,所以网络维护开销大大降低。应用于大型结构健康监测的无线传感器网络由于节点数多,不适合采用星形拓扑;其网络的应用处理过程中可能会进行少量的数据交互,但只是发生在边缘节点之间,不需要网络中任意两个节点间都互相交互。鉴于此,考虑到节电性能限制,在本系统中采用了既满足网络节点容量大又具有较低复杂度的树簇状网络的拓扑结构。2.1.4 ZigBee实现方案802.15.4标准和Zigbee规范的制定,加上Zigbee联盟的大力推展,使得Zigbee技术蓬勃发展起来。各大公司如Atmel, Ember, TI/Chipcon, Jennic, Microchip和Freescale纷纷推出其Zigbee芯片和解决方案。在综合考虑芯片性能、开发平台普及程度、教材和开发工具的难易程度后,本系统采用了TI/CHIPCON产品- CC2430进行智能传感网的开发。为了缩短应用产品的开发周期,本系统用Robert Reese教授开发的简化版Zigbee协议栈(MSSTATE_LRWPAN)进行智能传感网的设计。它用C语言编写,支持PICDEMZ/ MCC18/ HI_TECH C,CC2430/IAR51 HI_TECH.C51,WIN32 Virtual Nodes/Microsoft.NET三种平台。MSSTATE_LRWPAN协议栈是一个精简的Zigbee协议栈,只支持树状结构,但各层帧结构符合Zigbee协议规定,能实现数据的端到端发送,已满足结构健康监测应用需求。2.2 系统总体架构2.2.1 网络拓扑在前文中提到我们采用了树簇状网络的拓扑结构。但是在土木工程领域,结构健康监测中无线传感器网络节点具有一些不同于其他应用的特征:(l)传感器节点数目适中,需要由优化布置的算法确定其位置;(2)必须对传感器节点作统一的标识,因为结构健康监测的目的就是通过对特定位置健康状态的监测,根据得到的数据来判别建筑物损伤的程度。因此,必须对每个节点的位置、ID记录在案;(3)土木工程结构中,节点被安置以后位置将不会发生变化,因此,网络将维护一个相对稳定的拓扑结构;(4)虽然电源能量约束仍旧是阻碍传感器网络应用的严重问题,但在土木工程领域,基于网络拓扑结构静态性的考虑,在特定的位置设置一些可更换能源的节点,可以大大增强网络的健壮性;(5)每个节点最终只需实现与中心节点的通信;(6)节点维护难易程度不一样。例如在桥梁监测中,有的节点布置在桥面,有的节点则布置在桥拱内。我们希望桥拱内节点的电池尽量少更换,而多更换在桥面节点的电池。因此,在土木应用中,并不需要能量使用的绝对公平,而更希望每个节点在网络中担当的角色是固定的,也就是说拓扑是固定的。基于上述分析,针对大型土木工程结构的健康监测的网络拓扑更应该是相对固定的。鉴于实现的难易程度,本设计选用链树状拓扑结构,如图2.5所示:图2.5链树状拓扑图其中,协调器直接与服务器相连,路由器则应布置在方便更换电池的位置。每个节点的采样数据最终都要传给协调器,而每个节点传输数据给协调器的路径也都是固定的:先把数据传给自己的父节点,父节点再传给他本身的父节点。2.2.2 系统总体架构根据ZigBee的结构需求和网络拓扑的设计,我们的系统总体架构由四种设备:节点,路由器,协调器和服务器组成。系统总体架构图如下:图 2.6 系统总体架构服务器是通过串口与协调器相连,协调器通过无线网络与路由器相连,路由器可以带节点,也可以带其他路由器。节点和路由器构成网络拓扑。2.2.2 网络节点介绍根据系统的结构,可以把系统节点分成3种类型:协调器、路由器和节点。其中协调器用于搭建网络,建立一个稳定可靠的无线网络用于数据的传输;路由器作为中转节点,负责收集数据、转发数据以及维护网络等;而终端节点将采集到的数据发送给服务器。 协调器协调器通过串口连接到服务器,一方面将网络中的命令和数据等信息发送往服务器,方便服务器对网络进行控制,确定网络当前所处的状态和收集数据;另一方面接收服务器的命令,将其发送到特定的节点或者是广播到整个网络,从而实现服务器对网络的控制。协调器主要由网络扩展板和CC2430芯片构成,实物图如下:图2.7 网络扩展板实物图图2.8 CC2430实物图 路由器路由器除了数据收集和转发功能外,还要进行时间同步。系统对于整个网络的时间要求很严格,网络时差要求在10ms之内,路由器作为各个节点之间的中转站,同样也担负着网络同步的要求。路由器主要是由一个CC2430芯片组成。实物图如下:图2.9 路由器 节点终端节点是最终实现控制能力的地方,其通过串口与Atmega128进行交互通信,互相传递各自所需要的信息后,终端节点负责Atmega128与PC之间的通信,并独自跟PC进行交互以维护网络的稳定。节点主要由无线传感器,CC2430和Atmegal128组成,其组成的电路板分别为信号调节板、数据采样处理板和无线通信板。其硬件组成和实物图分别如下:图2.10 节点硬件组成图2.11 节点实物图2.3 系统软件设计根据对网络节点的描述,我们可以得出通信实体对应系统架构的图,如下:212 通信实体对应图其中服务器对应着PC端,协调器则对应着CC2430,他们共同组成了系统的中心CENTER;路由器对应着CC2430,而节点对应着CC2430和Atmega128。当节点与CENTER通信时,可认为两个CC2430之间是对等的通信实体;PC机与Atmega128是对等的通信实体,都运行在ZIGBEE协议栈上的,是CC2430的上层。系统中,CC2430与Atmega128和PC机有着不同的分工。CC2430主要负责无线网络的组建、地址分配、网络维护、数据的传输和时钟同步算法的实现。Atmega128主要实现数据的采集、存储和运算处理。PC机作为CENTER的重要组成部分,主要控制整个网络工作进程,例如:节点什么时候开始采集、以什么方式采集、什么时候开始发送数据、节点按什么顺序开始发送数据等。 因此,软件设计可以分为三部分:CC2430部分、PC机部分、Atmega128部分。本文的工作主要在于PC机部分,将会在下面一章详细介绍。而接下来将简要介绍CC2430和Atmega128部分的软件设计。2.3.1 节点处Atmega128状态转移图本设计采用的是集中控制方式,因此节点处状态机比较简单。根据分工,Atmega128负责数据的采集与转发。节点的状态可以分为等待采集参数状态、等待开始采集命令状态、等待发送命令状态、等待补充发送命令状态以及结束状态。如图2.13所示。收到采集参数命令后,Atmega128将对SRAM、定时器进行初始化;收到开始采集命令,则按采集参数设定的方式开始采集;收到允许发送数据命令,则按顺序将数据传给CC2430,通过CC2430将数据发送出去;收到Mkup_Send命令,则按命令中的显示,得出PC机未收到哪几个包的数据,然后将这些包重发;收到END命令后根据采样方式或目前内存存储状况,判断出本节点是否还有数据待发送,有的话继续等待允许发送命令Send CMD,没有的话就直接进入结束状态。 图2.13 Atmegal128状态转移图2.3.2 协调器CC2430部分简要状态机图根据分工,CC2430主要完成与网络有关的工作和与时钟同步算法有关的工作,其流程简图如图2.14所示。在节点处的CC2430的工作任务与工作方式与协调器的相对应。网络中还有路由器主要对协调器和终端节点的数据进行转发、组网等。其中的组网直接调用协议栈提供的功能,控制部分是采用队列方式对从串口中断和空中接收到的数据包等进行逐步解包执行。 图2.14 CC2430应用层软件实现2.4 本章总结本章首先介绍了项目选择的ZigBee无线网络理论及其实现,然后对整体的系统架构和其中的节点类型包括协调器、路由器和节点进行了介绍。接着对关键的CC2430和Atmegal128的软件设计进行了简要介绍。第三章 服务器应用程序设计3.1 服务器应用程序的功能服务器,前文又称之为PC端,是整个系统的控制中心。其需要完成的主要工作是控制网络的发起、建立、正常运行以及关闭。这是通过服务器应用程序接收和发送命令而实现的。另外服务器还负责接收传感器采集到的数据,对其进行处理并存储与服务器。服务器所有的命令和数据都是通过与串口连接的协调器发送和接收。另外服务器应用程序还提供用户接口,是系统中唯一与用户紧密接触的部分,是整个系统的门面。因此对于服务器应用程序来说,一方面要精确的完成控制和数据处理的任务,一方面也要为用户提供易用的界面。3.2 命令和数据传输在我们的系统中,无论是数据还是命令都使用同一的方式来通过无线网络传输,也就是说命令和数据都有统一的传输途径和包格式。下文将命令和数据统称为信令。3.2.1 信令的传输过程在整个系统中,除了协调器与服务器之间的数据传输为串口传输之外,其他类型的数据传输都由ZigBee搭建起来的无线网络负责。下面介绍整个数据产生、传输和处理的过程,如图3.1所示:图3.1 数据传输过程数据由传感器收集,然后经Atmega128控制传输给CC2430终端节点,终端节点将数据汇聚到路由器转发给协调器,通过ZigBee网络传输到协调器后,协调器把数据传给PC进行数据分析处理。整个数据传输过程中出现两种传输方式:串口传输和无线传输。节点使用串口跟Atmega128、PC进行通信,而节点之间使用无线方式进行交互。对于串口,由于串口传输是以字节为单位的,所以必须辨别出一次传输的起始和终止。而传输的过程中有数据、命令之分,一次传输的大小又有长短等要求,所以要对数据包的格式及传输方式进行限定。下面就对数据包格式和通信规范进行详细介绍。3.2.2 串口通信规范由于节点与PC、Atmega128的通信是采用串口方式。对于每次传输的数据量是多少,怎么传输,这要有一个规范来限定约束,否则会带来很大的麻烦,并很容易出现错误。鉴于数据传输是以一个包一个包为对象的,所以可以定义一个包为一个帧,一次串口传输就是一个帧。这时候除了要保存数据外,还要识别帧的开始和结束,并进行出错处理。这里我们约定了这样的一个帧结构:表3-1 串口数据帧格式0x550x550x550x55数据包内容0x660x660x660x66数据传输时先发送4个0x55,接下去的是数据包的内容,当数据包发送结束后发送4个0x66表示这次发送已经完成。对于发送端可能会出现这样的问题,就是数据包内的数据出现连续4个0x66的情况,那就会出现错误的结束标识。为了避免出现这样的情况,我们在发送数据包内容的时候不断检测数据包内的数据,当发现出现连续3次0x66的时候,就在其后强制加入一个伪数据0x11,这样数据包中的连续4个0x66的结构就被破坏掉了。在接受端也要进行相应的处理。当检测到连续4个0x55的时候表示数据已经开始传输,接收端进入数据接收阶段。在这个阶段节点不断检测数据内容,当连续收到3个0x66的时候,接下来收到的那个数据如果不是0x66就是伪数据,要求放弃。当收到4个0x66,则表示这次传输已经完成。将数据从串口缓存中转移到主程序中进行处理。3.2.3 数据包格式系统中传输的可能是命令也可能是数据,要怎么来判别呢?数据的长度又是多少,什么时候一次发送结束呢?根据以上要求,我们定义了以下的包结构:表3-2 数据包结构标识符包长短地址负载(任意数据)1 byte1 byte2 bytes80 bytes需要注意的是以上数据包格式与表3-1串口数据帧格式的关系是这个数据包结构就是上述串口数据帧格式中的数据包内容。故整个串口包的格式应该为:表3-3 数据包的完整格式起始符标识符包长短地址负载结束符4个0x551 byte1 byte2 bytes80 bytes4个0x66图3.2 串口包格式定义的C实现在该数据包结构中,标识符为0x000xFF,将前4bits取出来作为包类型标识。一共可以分为16类:0类F类,这些类型只使用了一部分,剩余的预留以后使用。每种类型的包又有16个具体命令,所以网络一共可以传输255种包格式。包长设定为负载的长度。短地址空间记录的是CC2430的短地址。对于协调器,其从PC端接收到的数据要传输给子节点,这时候短地址就记录目的地址。对于子节点,其从Atmega128获取数据后要直接发送给PC,这时候短地址就记录源地址。总的来说,按照链状网络,协调器处于最顶端,而每一个深度作为一层,层层往下。数据包沿链状网络往上传输,则短地址空间记录源地址信息,如果数据包从上往下传输,则短地址空间记录目的地址信息。负载内容可以是数据,也可以是其他,如命令参数等。但由于ZigBee网络传输一次发送的包最大为85bytes,所以这里定义负载的大小不允许大于80 Bytes。3.2.4 服务器应用程序与其他模块通信的参数接口定义如前所述,数据包接收方通过标识符的判断来进行后续的处理。在标识符中,前4bits是包类型标识,因此共有16类。具体的标识符类型定义如下:表3-4 包标识类型标识符类型定义0x00无数据0x11采集数据包29类保留内部使用,串口收发时不允许出现A类、B类128与2430之间通信C类、D类PC与2430之间通信E类、F类PC与128之间通信下面详细介绍这几类标识符的含义。如下表3-4所示,其中A类标识符表示数据包由节点产生,目的接收节点是CC2430的标识符,而B类标识符表示数据包由CC2430产生,目的接收节点是传感器节点的标识符。为表述方便,表中用传感节点核心控制模块的CPU即Atmega128中的“128”来表示传感节点。表3-5 节点与CC2430模块串口通信相关的标识符定义标识符功能0xA1128产生,128向2430索要短地址,2430收到这样的标识符后,直接向128发短地址,这里128向2430发送的串口包中的短地址初始填为0,即所要短地址的数据包为:0xA1 0x00 0x00 0x00(标识符0xA1+负载长度0+短地址0)。0xA2保留标识符0xA3128产生,当128收到2430的开始采集命令后发给2430的确认开始的命令(ACK_START)0xA4128产生,当128收到2430的重新初始化的命令后发给2430的确认重新初始化的命令0xB12430产生,当收到128的所要短地址的数据包(0xA1 0x00 0x00 0x00)后发给128短地址的数据包,其中的短地址128按照先高位后低位的顺序保存,如(0xB1 0x00 0x01 0x02)表示发给128的短地址为258。0xB22430产生,用于通知128开始采集数据(如0xB2 0x00 0x01 0x02),当128收到这一命令后会发给2430ACK_START的确认命令。0xB32430产生,用于通知128重新初始化,当128收到这一命令也会发给2430确认命令0xA4如表3-5所示是PC与CC2430交互的参数接口定义,其中C类标识符由PC端发出,CC2430接收;而D类由CC2430发出,PC端接收。图3-6 PC与CC2430之间交互的参数接口定义标识符功能0xC1PC要求CC2430进行重启。0xC2PC要求CC2430进行时间同步。0xC3PC要求网络采集数据。0xD1CC2430节点向PC终端发送同步和入网声明。如表3-6所示是传感器节点与服务器PC端交互的参数接口定义,其中E类标识符表示数据包由PC端产生,目的接收节点是传感器节点的标识符,而F类标识符表示数据包由传感器节点产生,目的接收节点是服务器PC的标识符。表3-7 PC与128之间交互的参数接口定义标识符功能0xE0PC产生,用于通知128重新初始化,当128收到这一命令会发给PC确认命令0xF5。0xE1PC产生,用于发给128与采集有关的相关参数,当128收到这一命令后将发给PC确认命令0xF0。0xE2PC产生,询问128是否采集好blockSize的数据,询问时要在负载中加入要询问的第几个block(blockNum占4个字节)。0xE3PC产生,请求128发送各个通道中采集到的blockSize大小的数据0xE4PC产生,重新发送数据,需指定第几个block,以及属于在第几个block中的packID,通道号,如:0xE4+0x03+0x01 0x02+blockNum+packID+chan0xE5PC产生,通知128结束本次block的发送,128收到后会发回确认命令。0xE6PC产生,通知128结束本次数据采集,128收到后会发回确认命令。0xF0128产生,收到采集相关参数后发给PC的确认消息。0xF1128产生,未采集好数据。0xF2128产生,采集好数据。0xF3128产生,发给PC的确认结束传送本次block数据的命令。0xF4128产生,发给PC的确认结束本次采集的命令。0xF5128产生,发给PC的确认重新初始化的命令。0x11128产生,发给PC的采集数据部分,(payload0为本次block中的第几个数据包即packetID,payload1为本次数据属于的通道号)数据量为:通道数*blockSize。在服务器应用程序中,这些标识符的实际定义如下:/*packet types*/#define CONNECT_PACKET 0xD1 /join network#define SYN_PACKET 0xD2 /synchronization#define PARAMETER_PACKET 0xE1 /send parameter packet#define PARAMETER_ACK 0xF0 /parameter packet ack from 128#define TSTART_PACKET 0xC3 #define TSTART_ACK 0xF6 #define INQ_BLOCK_DATA 0xE2#define DATA_NOT_READY 0xF1#define DATA_READY 0xF2#define PLS_SEND 0xE3#define DATA_PACKET 0x11#define RESEND_DATA 0xE4#define END_BLOCK 0xE5#define ACK_END_BLOCK 0xF3#define END_TRANSMITTION 0xE6#define ACK_END_TRANSMITTION 0xF4#define RESTART 0xC1#define ACKRESTART 0xF5#define RE_SYNCHRONIZE 0xC2#define RESTART128 0xE0#define ACK_RESTART128 0xF5#define KAL_CAL 0xE8#define SEND_KAL_DATA 0xE9#define ACK_KAL_CAL 0xF7#define KAL_CAL_FINISH 0xF8#define KAL_DATA_PACKET 0xF9在实际的代码中,根据网络运行的不同阶段,服务器应用程序根据需要使用这些定义创建包或者接受包,提取其标识符并与这些定义比较,并进行相应的处理。3.3 服务器应用程序软件设计3.3.1 服务器应用程序流程服务器端程序运行在计算机上,代码可在Linux平台下直接运行,或在Windows下的Cygwin软件中运行。服务器端程序的流程简图如图3.3所示:图3.3 服务器应用程序流程简图在程序启动后先从配置文件中读取相关参数,如采样频率,无线传感器节点ID、采样点数等,同时将这些信息在屏幕上显示输出,然后进行内存单元和无线传感器节点的初始化,并把相关的参数设置发给各个采集节点。接着命令所有节点通过TPSN时间同步算法来校准时间,保持与服务器的时间同步(这一部分内容将在下一章中具体阐述),当各个传感器节点的时间达到同步后将开始采集桥梁监测数据,采集完原始数据后可根据配置文件的设置要求节点进行相应的数据处理操作,如FFT计算,Peakpicking处理,卡尔曼滤波等(可根据具体的应用需求添加新的应用处理程序),最后在收到数据后,可要求重新开始采集新一轮的数据或者进入低功耗的休眠状态。在该部分的

温馨提示

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

评论

0/150

提交评论