《武汉工程大学学报》  2015年03期 74-78   出版日期:2015-04-23   ISSN:1674-2869   CN:42-1779/TQ
面向物联网的分布式跨平台数据传输系统设计


0 引 言物联网被誉为第三次信息化浪潮的前沿,是信息产业领域未来竞争的制高点和产业升级的核心驱动力. 2009年温家宝总理在无锡考察时提出“感知中国”,大力发展物联网事业,使中国在物联网研究方面抢占先机. 2014年国务院出台《关于加快发展生产性服务业促进产业结构升级调整的指导意见》,提出“积极运用云计算、物联网等信息技术,推动制造业的智能化、柔性化和服务化,促进定制生产等模式创新发展”. 物联网技术具有很广阔的应用前景,涉及交通、物流、电力、市政、工业、军事等领域. 目前我国物联网技术仍处于起步阶段,在物联网监控应用中,主要技术仍是对单点或单种类型数据进行采集和传输,无法全面的监测环境整体的状况,由于数据的欠采样和传输的延迟而使监控预测出现较大的偏差. 为了实现监控数据的综合采集和实时传输,满足对生产环境大数据的实时分析和处理,采用异构性的分布式跨平台数据传输系统,能够在传感器网络中根据不同地点的多种传感器设备感知环境状态,并进行数据的实时传输、分析和处理,让用户不论在何时何地都能够第一时间掌控监控环境的状况. 分布式跨平台数据传输系统能有效的提高数据获取的广泛性和实时性,引起了广大研究者的关注. 2012年中国科学院沈阳自动化研究所张晓玲[1]在《无线传感器网络传输调度方法综述》一文中以无线传感器网络传输调度算法为研究对象,提出了解决网络调度的理论方法,但是已有的传输调度理论和方法还不能完全满足实际问题的需求. 同年,中国矿业大学的韩忠[2]在《基于ZigBee的矿井综采面无线传感器网络监测系统设计》中介绍了对煤矿井下环境的传感器网络设计,解决了大量监测点的无线组网问题,但是在数据传输的安全性和实时性方面不能达到很好的预期. 2011年伍粤山[3]在《智能家庭监控系统的设计与实现》中设计基于嵌入式Linux的智能家庭监控系统,使得智能家庭数字化、多媒体化、网络化,但是系统稳定性也略有不足. 2007年潘巨龙[4]在《无线传感器网络的异构性研究》中采用分簇的方式,降低了网络整体平均消耗能量,提高了网络的生命周期,但是异构传感器网络环境下的低能量多协议协同的安全问题不能得到保证,节点的能量消耗也过大. 分布式的跨平台数据传输系统正是解决以上问题的方法之一,依据传感器层的数据获取、传输层和网络层的数据传输、数据层及上层的数据应用和分析,实现对环境的监控和预警. 1 系统的整体设计 分布式跨平台数据传输系统主要实现的是以传感器网络为基本的数据采集模块、以ZigBee的自组网技术和网关通信作为数据传输模块和数据存储设备作为数据服务器、Web服务器为前端监控的数据显示平台. 将系统分为传感器层、传输层、网络层、数据层、服务层5个层次,系统各层之间相互协调,完成各自的任务. 传感器层是在不同位置使用各类传感器进行数据获取,实时得到环境中各类数据值. 传输层是以ZigBee协调器为传感器网络的接收设备,对传感器网中子节点获取的数据进行汇集,并通过串口通信发送给网关. 网络层实现的是TCP/IP协议下的Socket通信功能,将数据传至数据服务器. 数据层是对数据的整理和存储操作. 服务层是依靠手机客户端和Web服务器为主的终端显示. 对于Web服务器而言,直接调用数据库中数据,在网页中显示出数据的动态变化,并对数据进行预警值的对比,及时反馈预警信息. 系统总流程图如图1所示.图1 分布式物联网数据传输系统结构图Fig.1 The system structure diagram of distributedInternet data transmission2 硬件平台系统设计2.1 无线传感器网无线传感网络(WSN,wireless sensor networks)综合了传感器技术、嵌入式计算技术、计算机网络及无线通信技术、分布式信息处理技术等,能够通过各类集成化的微型传感器协作实时监测、感知和采集各种环境或监测对象的信息. 2.1.1 ZigBee组网  具有低功耗、低成本、低复杂度、适中数据传输率特点自组织功能的ZigBee无线通信技术为无线监控网络的组建提供了技术基础. 一个ZigBee自组网网络是以一个节点作为协调器,其他节点作为子节点. 网络中的每个子节点根据FDMA(频分多址)原理使多个ZigBee分配在时隙相同而频率不同的信道上,这样可以使协调器和多个ZigBee同时通信. FDMA可使通道容量根据要求动态的进行交换,满足自组网的需求. ZigBee协调器在加电以后,首先会建立一个无线网络,当网络建立完成并允许新设备加入时,子节点才可以申请加入网络,并分配地址给子节点. 利用 1 个接收模块实现对多个不同频道上的发送模块进行点对多点无线通讯. 2.1.2 传感器  将传感器连接在ZigBee设备的传感器IO接口处,组成了一个无线传感器网络中的末端子节点,可独立的采集数据,并在自组网中将数据传输给协调器. 这样就实现了以ZigBee为基础的数据传输网络,以传感器为基础的数据采集网络,实现对监控数据的采集和传输. 本文主要介绍几种常用的传感器. (1)温湿度传感器 采用SHT10温湿度传感器进行阐述,SHT10温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器. 具有极高的可靠性与卓越的长期稳定性. 传感器包括一个电容式聚合体测湿元件和一个能隙式测温元件,并与一个14位的A/D转换器以及串行接口电路在同一芯片上实现无缝连接. 因此,该型号传感器具有超快响应、抗干扰能力强、性价比高等优点. (2)烟雾传感器 MQ-2烟雾传感器使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2),二氧化锡通过气体浓度改变导致导电率改变而产生微弱的电信号,再通过放大器对信号放大,再由A/D转换为数字信号. 故对气体和烟雾的灵敏度高. 具有广泛的探测范围、高灵敏度、优异的稳定性、简单的驱动电路等优良的性能,使它广泛应用于家庭和工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等的探测. 2.2 网关 以ARM平台为底层硬件,Linux内核系统为软件开发平台,可拓展的通信功能满足了各种通信系统之间的互联互通. 基于ARM体系结构平台的搭建,我们采用 Samsung S5PV210 嵌入式微处理器,具有低成本、低功耗、高性能等优良品质. 集成了 ARM 的 Cortex-A8 核,包含32 kB/32 kB I/D Cache和512 kB的L2 Cache,处理器最高可达到运行频率1 GHz. 并采用 64 位内部总线结构,具有良好的外部存储器结构,这种优化的结构能够在高端的通信服务中维持很高的内存宽带. S5PV210处理器的结构图如图2所示. 图2 处理器结构图Fig.2 The structure diagram of processor Linux内核系统作为软件开发平台,能够很好的实现软件设计,同时还具有良好的可移植性、可定制的特性以及开放源代码和价格低廉、功能强大的优势核心. 嵌入式Linux系统是一种由裁剪过的内核和根据需要定制的系统模块组成的小型操作系统,主要由进程调度,内存管理,虚拟文件系统,网络接口,进程间通信五个子系统构成. 系统带有一个完整的TCP/IP协议,同时也支持其他许多网络协议,是一个网络完备的操作系统. 嵌入式系统与通信、网络技术的结合使得网络通信有很高的可靠性和稳定性,对于实时通信、低误码率的实现有很高的可操作性. 3 软件系统3.1 ZigBee自组网 ZigBee协议结构上可分为三个层次,即Application level、Zigbee stack level、Physical link level 三个层次. 每一层为其上层提供特定的服务:即由数据服务实体提供数据传输服务;管理实体提供所有的其他服务. 每个服务实体通过相应的服务接入点为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能. ZigBee模块是在IEEE802.15.4规范及ZigBee协议栈Z-Stack规范下的无线通讯自组网的设计. 即协调器自动组网,终端节点自动入网,建立数据通信后采用周期定时发送消息,实现数据的实时传输. ZigBee协调器和子节点的的软件流程图如图3和图4所示. 图3 ZigBee协调器流程图Fig.3 The flow chart of ZigBee图4 ZigBee子节点流程图Fig.4 The flow chart of coordinator ZigBee child nodes3.2 网络通信对于一个嵌入式设备网络,其中的监控主机多采用Windows系列操作系统,而要实现嵌入式Linux与监控主机进行跨平台通信时,采用Linux下用C语言编程语言实现,Windows下使用C#编程语言实现. 针对嵌入式设备通讯主要是发送接收一些实时数据信息及指令,为保证实时性和稳定性,选择一种可靠的面向连接服务的数据流套接字(TCP/IP协议),套接字的地址格式是一个IP地址和一个端口号,它实现了网关与服务器的端到端的通信. Linux系统下Socket编程不同于Windows操作系统下的Socket编程,但是它们都是基于TCP/IP协议下的Socket编程,都是网络协议传输层提供的通信接口. 网关中Socket通信基本流程如图5所示,客户端和服务器进行三次握手才能够建立连接,进行数据传输. 图5 套接字的通信流程Fig5 The communication process of socket4 系统的实现4.1 无线传感器节点设备无线传感器网络的建立是以CC2530芯片设计的ZigBee模块和各传感器组成的,是监控系统的数据获取部分,ZigBee模块支持USB供电和电池供电方式,可通过传感器IO接口外扩多种传感器模块,采用高性能和低功耗的增强型8051微控制器内核,并提供多种外设接口. ZigBee模块实物图如图6所示. 图6 ZigBee模块实物图Fig6 The physical map of ZigBee4.2 网关实现传输数据的网关是用Samsung S5PV210 嵌入式微处理器为主控,在Linux内核系统平台下开发软件. 首先通过对ARM开发板烧写内核系统,然后在交叉编译的环境下编译程序,在通过NFS服务器将程序烧写入ARM开发板中. 开发板左侧的串口通过串口线连接计算机,在计算机上打开超级终端运行开发板中的程序,并显示程序的运行情况. 右侧扩展版中的串口与ZigBee协调器通过串口线进行串口传输,网关将数据通过路由器传输到主服务器中. 实现数据的实时传输. 图7是数据传输部分的接口连接. 图7 网关的硬件接口连接Fig7 The interface connection of gateway4.3 数据库设计 数据库作为信息存储的载体,使得数据得到了有序、高效的管理和维护. 为方便进行后期的数据分析和处理,数据库的设计就显得尤为重要. 本 系统采用SQL Server数据库来存储数据,建立多个页表,来分类存储从各个传感器获取的数据信息. 4.4 数据服务的实现基于Web方式的远程监控. 主服务器负责将接收到的数据分类汇总并写进数据库,为Web服务器的调用数据做准备. Web服务器则将数据进行处理、分析、统计、显示和预警等. 系统通过路由设备接入Internet,这样,监控人员可在任何地点通过网络连接根据不同的权限登录监控平台,获取实时的现场数据. 图8是某测量点在一定时间范围内的温度数据曲线,当温度超过了预警值的上限时会有语音报警,预警部分呈红色区域. 温度低于下限值时,预警部分呈现蓝色区域.图8 温度数据曲线Fig8 The data curve of temperature 5 结 语 本文主要搭建了一个以无线传感器网络为数据采集,网关传输,主服务器接收数据,Web服务器分析、处理、统计、显示数据的完整监控系统. 本设计以Samsung S5PV210 嵌入式微处理器为主控单元,完成数据网络传输. 以CC2530芯片设计的ZigBee模块和各传感器组成的无线传感器网为数据采集系统. 以Web服务器为前端监控平台,对数据进行处理分析、界面显示、预警等功能. 共同协调完成工业生产环境的监控功能. 致 谢:本文受到湖北省自然科学基金项目(2012FFA099,2012FFA134,2013CF125,2014CFA130);湖北省教育厅重点项目(D20141505)、武汉市科技攻关项目(编号:201301062010217);武汉工程大学科学研究基金;武汉工程大学校长基金项目(2014063);武汉工程大学研究生创新基金(CX2013103,CX2014082)资助,在此表示衷心感谢.