盛 平,杜洪超
(江苏大学 江苏 镇江 212013)
基于Web Services的嵌入式农业物联网测控系统
盛 平,杜洪超
(江苏大学 江苏 镇江 212013)
目前农业物联网测控系统数据交换普遍采用基于socket的简单通信。为解决使用socket通信产生的数据交换复杂,系统耦合性大的问题,将Web Services技术应用到linux的嵌入式农业物联网测控中,并给出了测控系统体系结构及软、硬件实现方法。Web Service技术使得嵌入式测控系统有了标准的数据表示格式和数据交换协议,提高了开发效率,便于系统修改、定制。实验结果表明,该系统性能稳定,无线数据采集与设备控制能达到实际需求,具有较高的实用性。
Web Services;物联网;嵌入式;测控
物联网ZigBee技术以其低成本、低功耗、高可靠性的特点被广泛应用于农业测控系统中,实现了无线数据采集和控制。孙玉文等设计了基于嵌入式ZigBee技术的农田信息服务系统[1],韩华峰等设计了基于ZigBee网络的温室环境远程监控系统[2]等等。尽管我国农业物联网方面的应用有所突破,但依然存在许多问题。目前农业测控系统中ZigBee测控网络与服务器数据交换一般通过嵌入式设备使用socket通信,数据被透明的传送至服务器,其数据格式、发送方式、响应方式等都是自定义的私有协议,上层软件的开发者需要根据私有协议处理数据通信。基于socket的简单私有协议使得系统耦合性加大、系统灵活性降低。如果系统内测控的温室类型及数量较多时,数据处理将变得复杂,系统开发的复杂性和成本大大增加。为解决这个问题,将Web Services技术引入到嵌入式测控系统中[3]。Web Services服务不依赖于任何语言和平台,只要遵循相关协议用户就可以像调用本地服务一样调用该服务,而不必了解底层的通信细节。
基于Web Services的嵌入式农业物联网测控系统的总体结构如图1所示
现场设备中的ZigBee传感器网络、视频采集模块、执行机构控制模块,完成信息采集和设备控制。linux智能网关层是本系统的关键部分,网关通过ZigBee网络收集、存储环境数据,控制现场执行机构,并对外提供数据查询、设备控制等web Services接口,数据传输部分使用无线WIFI网桥连接现场设备与服务器。服务器主要提供数据库服务、业务逻辑管理、用户交互等服务。
2.1 ZigBee无线传感网络与无线控制节点
本系统的无线传感网络采用CC2530射频芯片及温湿度、光照、土壤湿度等传感器构成,在ZigBee Pro协议栈的基础上进行应用开发,CC2530结合一个完全集成的、高性能的RF收发器与一个增强型的8051微处理器,提供101 dB的链路质量,具有较高的灵敏度和良好的抗干扰性,使得整个无线传感网络具有低成本、低功耗、网络容量大、采样点布置灵活的优点。
图1 系统方案图Fig.1 Chart of the system
ZigBee网络由一个协调器、一个或多路由设备和多个终端设备组成。协调器是整个网络的核心,负责网络的组建,维护网络的运行,使得各个节点和路由器间相互通信,路由器负责数据的中转,终端设备负责采集传感器数据、控制继外部设备,协调器通过串口与智能网关相连,透明转发数据。
ZigBee终端节点有两部分组成:核心板和扩展版。核心板上主要由CC2530芯片、必需外部电路、天线等组成,主要完成数据传输以及控制扩展板功能,扩展板主要有三种:模拟量采集板、数字量采集板、设备控制板。模拟量采集版主要由电压、电流采集电路组成,数字量采集板主要由RS232、RS485、I2C等数字接口电路组成,设备控制板主要由继电器和PWM接口等组成。根据不同的传感器和控制设备选用不同的扩展版,既增加了ZigBee节点的灵活性又降低了成本和复杂性。
2.2 无线WIFI局域网
在实际生产中温室距离服务器的距离较远且分布离散,如果通过双绞线、光纤等有线方式连接温室中的智能网关和云服务器,不但成本高、布线不便、影响农业生产;3G网络带宽窄、受无线信号影响大,流量费非常昂贵,不适合传输高清视频。考虑视频服务需要较大带宽和智能网关与服务器的距离较远,而无线网桥具有安装灵活、通信带宽较宽、通信距离长(目前无线点对点通信距离可达几公里甚至几十公里)等特点,采用无线网桥连接是较好的组网选择。
2.3 智能网关
2.3.1 智能网关的硬件结构及操作系统
智能网关的硬件系统主要由ARM处理器构成。本系统的ARM处理器是三星公司的S3C6410微处理器,S3C6410是一款低功率、高性价比、高性能的用于移动电话和通用处理RSIC处理器。主要硬件资源及接口包括128M SRAM 芯片,256M Nand Flash 芯片,一个以太网口、两个USB 接口、4个RS232口等其他数字接口。
智能网关上运行经过剪裁的linux 3.0.1版本操作系统,以及YAFFS2可读写文件系统,同时载入串口驱动、USB Host驱动(用以支持U盘、USB WIFI、USB 3G等)、网卡驱动等外设驱动,以支持应用软件运行。
2.3.2 智能网关web Services服务
Web Services是本系统的重要组成部分,从表面上看,Web Services服务就是一个Web应用程序,它向外界暴露出一个API接口,用户可以通过编程方式在Internet 上调用这些Web Services 应用程序。从深层次上看,Web 服务是一种新的Web 应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络中被描述、发布、查找、调用。Web Services基于可扩展的标记语言(XML)消息交换,其所使用协议都是开放的标准协议,调用接口更加规范且与平台无关;调用方法采用简单对象访问协议(SOAP),其定义了其消息格式,实现实体间的信息交换;使用Web Services描述语言(WSDL)描述网络服务及其访问信息,WSDL描述了Web Services及其函数、参数和返回值等[4]。
图2 嵌入式智能网关软件架构Fig.2 Structure of embedded sotfware
本系统的软件架构如图2:主要有Web Service接口层、服务抽象层、信息采集与控制层。
1)Web Services接口层
由于嵌入式系统的计算及存储资源有限,本文使用gSOAP轻量级的开源工具实现Web Services网络接口[5]。gSOAP编译工具提供了一个SOAP/XML关于C/C++语言的实现,屏蔽了SOAP协议的具体实现细节,系统开发者只需关注具体的逻辑实现即可。gSOAP开发工具主要由gSoap编译器和运行时库组成,gSoap编译器包括WSDL解析器(wsdl2h)、存根和框架编译器(soapcpp2),WSDL解析器可以把WSDL文件解析成相应的C/C++的头文件(.h)主要用于Web Service客户端开发,存根和框架编译器根据头文件中函数定义生成存根和框架文件主要用于Web Service服务端开发,stdsoap2.c是运行时库文件,编译时必须包含该文件。本系统中嵌入式网关对外服务,所以只实现服务端程序。 开发服端的应用程序的过程如图3所示。
图3 Web Service 服务端开发流程Fig.3 Flow of Web Service server
开发服务端程序,用户定义一个C/C++头文件(.h),这个头文件包含服务函数的名称、输入/输出参数和相应的数据类型声明,声明的函数需要在相应的C/C++文件中实现。该头文件经gSoap编译器编译后,即可生成服务端端框架以及WSDL文件。获取传感器参数和控制设备的头文件如图4所示。
这个头文件定义了 Web Service的基本属性:通信方式、文字编码、命名空间、服务地址、接口参数声明以及两个服务接口函数ns__sensor、ns__device。
依据图定义的头文件,按照图服务端开发步骤系统Web服务的实现程序的主要代码如图5所示。
图4 接口头文件Fig.4 Head file of interface
图5 服务程序主代码Fig.5 Main code of server
2)服务抽象层
服务抽象层屏蔽不同传感器和可控设备的细节,为gSoap网络接口层提供支持,如图6两个接口函数的具体实现方法就属于这一层。传感器数据来源可能来自数据库、其他进程、或者ZigBee网络等等,而实现一个设备动作(如帘幕收展)因为耗时较长需要创建新进程控制多个继电器协同工作。这就需要将抽象的查询和控制命令解析为具体的实现过程,当新增、修改指令时只需修改本层即可。
3)信息采集与控制层
信息采集和控制层主要完成具体的数据采集和控制过程。信息采集主要指通过ZigBee网络将模拟传感器的电流或电压值转换为数字值或按照通信协议获取数字传感器的测量值。控制主要指根据抽象层的设备控制命令完成具体设备的控制,如控制ZigBee板某个载继电器的闭合或者通过某个PWM接口控制步进电机运转。当有新的物理设备加入时,只需要修改本层代码即可。
2.4 视频监控
由于通用ARM处理器核心不包含DSP视频处理模块,因此如果通过软件实现视频编码及流化,实践表明一般只能实现较低帧率且较低分辨率的输出,画质较差,容易造成CPU占用率高、系统不稳定。如果加入IPC(网络摄像机)专业处理器会造硬件成本和软件研发成本巨大提高。近年来监控产品价格逐渐降低,选择成熟稳定的网络摄像机作为视频监控是较好的方案。网络摄像机一般会提供SDK(软件开发包)这使得视频开发快捷方便。
2.5 应用层
根据软件工程松耦合分层设计思想和农业生产需求额多样性[6],本系统中的应用层设计划分为应用服务子层、业务逻辑子层以及用户交互子层。每一层都抽象地定义各自的功能以及对外接口。这样每层都可以使用任何开发语言(如C#,Java等)独立地开发,层与层之间通过统一的接口进行通信,目前层与层通信采用了共享数据库数据以及进程间通信技术,避免系统某一层的改变影响其他层。
本系统已成功应用于江苏某农业科技示范园内的两座玻璃温室。位于办公区的服务器距离温室距离大于500米,通过无线网桥可以流畅的查看高清视频,观察植物生长状况。每个温室内包括DHT21温湿度传感器(单总线)、JTBQ-6光照传感器(电流输出)、S-100H二氧化碳传感器(电压输出),温室具有侧窗、天窗、保温幕等多种设备需要控制,ZigBee控制节点连接了24路继电器模块,以完成复杂的控制过程。
服务器端开发使用.net平台(开个工具为VS2010和SQLServer2008)的C#语言开发,包括数据管理及控制模块和Web网站,数据管理及控制调用嵌入式网关的Web Service接口完成数据采集、存储和设备控制,开发时只需引用gSoap生成的WSDL文件VS2010会自动生成相应的类,开发者只需使用这些类而不必了解具体实现过程,在图5头文件中定义的接口在VS2010中生成的类如图6所示。
图6 与gSoap头文件对应的接口类Fig.6 Class corresponding with gSoap head file
Web网站完成与用户交互,用户可以登入网站查看数据,控制设备等,通过视频查看植物生长状况。
本文构建了基于嵌入式Web Services的农业物联网测控系统,实现了大规模的农业测控方案。嵌入式网关通过web Services技术将Zigbee无线测控网络与Internet链接起来,使得的底层设备数据获取与设备控制都有相同的表示方式和操作方法,实现了异构网络的互操作,测控网络获得极大的灵活性,程序设计者都将从复杂的底层数据处理中解脱出来,大大降低了开发和维护的难度。
[1] 孙玉文,沈明霞,张祥甫,等.基于嵌入式ZigBee技术的农田信息服务系统设计[J].农业机械学报,2010,41(5):148-151.
SUN Yu-wen.SHEN Ming-xia,ZHANG Xiang-pu,et al.Design of embedded agricultural intelligence services system based on ZigBee technology[J].Transaction of the Chinese society for gricultura IM achinery,2010,41(5):148~151.
[2] 韩华峰,杜克明,孙忠富,等.基于ZigBee网络的温室环境远程监控系统设计与应用[J].农业工程学报,2009,25(7):158-163.
HAN Hua-feng,DU Ke-ming,SUN Zhong-fu,et al.Design and application of ZigBee based telemonitoring System for greenhouse environment data acquisition[J].Transactions of the CSAE,2009,25(7):158-163.
[3] 颜友军,许蕾,陈林,等.面向智能移动平台的Web服务推送技术研究[J].计算机科学与探索,2012,6(7):602-611.
YAN Xiao-jun,XU Lei,CHEN Lin,et al.Application mode construction of internet of things(IOT)for facility agriculture in Beijing[J].Transactions of the CSAE,2012,28(4):149-154.
[4] 李永,黄晶,马建刚.基于Web Services的嵌入式智能家居系统的研制[J].微计算机应用,2011,32(2):36-45.LI Yong,HUANG Jing,MA Jian-gang.Research of embedded smart-home system based on web Services[J].Microcomputer Applications,2011,32(2):36-45.
[5] 何鹏举.基于Web服务的无线网络节点传感器研究[J].传感技术学报2009,22(11):1634-1638.HE Peng-Ju.Research on Wireless Networked Node Sensor Using Web Service[J].Chinese Journal of Sensors and Actuators,2009,22(11):1634-1638.
[6] 孙忠富,杜克明,尹首一.物联网发展趋势与农业应用展望[J].农业网络信息,2010,29(1):5-8.
SUN Zhong-Fu,DU Ke-Ming,YI Shou-Yi.Research and application of platform for intelligent agricultural greenhouse based on IOT and cloudy service[J].Agriculture Network Information,2010,29(1):5-8.
The embedded IOT measurement and control system of agriculture based on Web Services
SHENG Ping,DU Hong-Chao
(Jiangsu University,Zhenjiang 212013,China)
The common method of data exchange of the Internet of Things(IOT)measurement and control system is simple communication based on socket.To deal with problems that is caused by socket ,such as complicated exchange of data ,system module strong coupling,this paper apply Web Services technology to the system and descript the architecture of software and hardware ,Web Services make the communication have standard format of data representation and protocol of data exchange ,which improve the efficiency of development and easy to modify,customeize system.The experimental results showed that the performance of the system was quite stable and the system satisfies the design requirements in real-time data acquisition wirelessly,environmental control remotely ,which have a very high practical value.
Web Services;IOT;embedded system;measurement and control
TN915
A
1674-6236(2014)11-0107-04
2014-01-09 稿件编号:201401068
科技部基金资助项目(11C26213204549);江苏省科技支撑项目(BE2010347)
盛 平(1957—),男,江苏镇江人,硕士,高级工程师。研究方向:嵌入式测控系统、视频监控及跟踪。