基于Android平台和SyncML协议的数据同步技术在智能农业中的实现

2014-07-31 04:50路顺涛马奉先郭骅
中国新通信 2014年3期
关键词:Android平台

路顺涛 马奉先 郭骅

【摘要】 随着农业信息化技术的发展,农业移动终端因其便携性受到广泛重视和应用。但目前还没有专门适用于农业信息化领域的数据同步技术和协议,这大大限制了农业移动终端的功能。基于此,本文结合农业信息化工程应用实践,基于SyncML协议研究了适用于农业领域的数据同步协议,提出了一种农业数据同步数据标准,并在Android平台下实现了移动终端数据同步软件的开发。

【关键词】 Android平台 SyncML协议 同步技术

一、研究背景

近年来,国家从政策和资金层面对现代农业的支持,有力推动了相关企业和科研院所的技术研究,极大的促进了农业信息化的发展。现在,农业生产人员可以使用电脑等设备管理农业生产。但是电脑体积较大,不便于携带,部分农民缺乏基本电脑操作技能,这限制了电脑在农业中的应用范围。而手机具有体积小、便于携带和操作简便的优点,在有条件的地区,手机等电子设备已经被应用于农業生产实践,生产人员可用手机实现对环境信息的采集,并控制温室机构,从而调节温室环境,促进作物生长。

比如:在内蒙古通辽市奈曼旗,339个温室大棚安装了多功能农业环境信息数据采集仪,可将大棚空气温度、湿度及土壤温度、湿度等数据通过短信方式发送到菜农的手机上,并可实现远程监控[1];南京农业大学为江苏常熟市董浜镇农技推广服务中心开发了手机终端,可通过3G网络实时监测温室环境参数与控制温室设备。这些农业移动终端可实现实时监测和控制,但不具备大量数据的在线同步功能。

随着精准农业向专业化、精细化发展,海量数据同步与数据在线分析对于农业生产、流通各个环节变得不可或缺。因此,研究农业数据同步技术非常重要。基于此,本文通过在对农业移动管理终端中的数据同步方法进行研究,基于SyncML国际标准数据同步协议,提出一种具备通用性的农业移动终端数据同步协议和标准数据格式,并在农业信息化工程实践中应用。

二、SyncML标准协议

SyncML协议由IBM、Lotus和Motorola等商家组织发起成立的数据同步论坛SyncML发起组制定的,从2000年12月SyncML1.0发布以来,已经有近700家的公司宣布支持该协议。

SyncML是synchronization markup language(同步标记语言)的简写,该协议基于XML语言。它是一套协议集,主要包括4个部分:SyncML数据同步协议的框架结构,SyncML同步协议、SyncML表示协议、SyncML的传输方式。SyncML同步协议主要定义了数据同步操作的会话过程中的数据流程,同步双方的握手过程,数据同步操作的类型等;SyncML表示协议主要涉及同步所支持的数据类型、命令格式,能在各种网络中传输的SyncML消息格式;SyncML消息可以在任何一种有线和无线的网络连接上传输,在SyncML协议的传输绑定中定义了可以在基于HTTP、WSP、OBEX三种协议的网络连接上传输SyncML包和消息[2][3],如下图所示。

三、农业数据同步协议设计

基于SyncML标准体系架构,结合农业信息化工程应用实际,采用服务器/客户端架构。协议的传输层采用HTTP协议,物理层由因特网承载。在该系统实现中,同步引擎模块由Funambol开发包提供,该开发包提供了系统为同步策略和解决冲突所需要的设置。为保持SyncML协议对不同传输协议的兼容,本同步系统中采用HTTP1.1协议同步传输数据。传输层模块的另一功能是将要发送的数据和命令封装成XML格式,将接收到的XML格式的数据包解析成SyncML格式,便于读取其相应的数据和命令。

农业数据同步模块主要负责从移动终端的本地数据库读取数据与传输数据结构,对于本系统而言,即本地数据库的数据存储格式与vACD格式的转换,包括增加、删除、修改等。如图1所示:

服务器端所有变量采用GUID(全局ID),客户端采用LUID(本地ID),GUID集可以大于LUID,所有同类型的数据以一对一映像关系存储在服务器和客户端。同步锚有Last和Next两种,在同步会话的初始化时发送同步锚,Last同步锚发送设备点的最后同步事件,Next同步锚发送设备点的当前时间。在客户端和服务器互相发送同步锚。在接收到Next同步锚后,接收设备必须保存该同步锚,直至下次同步。

四、数据标准格式设计

农业工程应用中,部署在现场的传感器和执行器分别完成采集数据和控制环境调控装备(如风机、灌溉、通风和遮阳)等功能,可采用有线或者无线方式。网关管理传感器和执行器,具备数据采集、汇聚、控制和反馈等功能。服务器与网关间采用局域网方式部署,本系统中的SyncML服务器端程序也运行在此服务器上。SyncML客户端可以是手机等终端设备,实现对农业信息的远程同步等功能。

目前,SyncML能够同步通讯录、日历、任务安排和备忘录等信息,相应的支持vCard、vCalendar、vNote等格式[4],这些数据格式与农业数据有较大区别,因此本文提出一种农业数据同步格式:vACD(Agriculture Command Data),译为农业命令和数据格式。

农业数据格式中须有以下字段,传感器和执行器ID识别号、数据(指令)分类号、数据长度、数据内容、时间标识和校验码等。在农业规模化种植系统中,需要对分布在广泛区域内的多个基地实现统一管理,依据系统扩展性的需要,在数据格式中增加基地识别号字段。

五、系统实现

谷歌公司于2013年6月推出了Android开发环境Android Studio。本文采用Android Studio集成开发环境,Android SDK 2.2版本,运行于Windows 8平台。

本系统基于开源项目Funambol。该平台的同步服务器基于J2EE平台,采用Java语言开发,由于Java语言具有跨平台的特点,因此可以部署在多种操作系统平台之上。该开源项目还给开发者提供了SyncML协议开发所需的同步服务器和同步客户端公共开发包[3]。

用户界面负责跟用户之间的交互,它的好坏决定了用户的使用效率和体验。本系统按android的组件关系进行设计,用到的活动(Activity)有网络协议连接活动,数据同步活动,最新数据和历史数据显示活动,闭环控制活动等。主要界面如图2所示:

六、结语

本研究课题针对智能农业的应用,提出了一种在农业生产中基于分布式协作模式的数据同步方法,在SyncML协议架构基础上,通过研究新型数据同步锚、农业数据同步模块、数据格式标准和实现方法,开发了基于Android平台的数据同步客户端应用程序。结果表明,本文提出的平台及实现方法能够满足农业云数据同步的需求,对智能农业信息化领域的数据同步具有较好的实践意义。

参 考 文 献

[1] 艾伟. 基于Android智能手机的温室环境监控技术的研究[D]. 宜昌:三峡大学,2012

[2] Funambol.Funambol Developers Guide version 8.7[EB/OL]. http://www.funambol.com/

[3] 党海涛. SyncML协议研究及其在Android上的实现. 哈尔滨:哈尔滨工业大学,2011.26页

[4] 刘会. SE-SyncML数据同步模型设计及其在PIM中的应用[D]. 北京:北京邮电大学,2008

[5] 蔡菁. 基于Android平台的数据同步技术的研究与实现[D]. 重庆:重庆邮电大学,2011

猜你喜欢
Android平台
基于Android平台的儿童跟踪系统
基于Android平台的老人跌倒检测算法及APP设计
基于Android平台软件开发技术研究
基于Android平台的人脸识别系统设计与实现
基于Android平台的健康医疗APP设计与开发
Android手机主题设计 
基于Android的Python语言英汉维电子词典设计与实现
Android平台下的空气质量和天气情况查询应用设计与实现
基于Android的移动GIS系统的应用与实现
基于移动互联网的糖尿病医疗辅助系统设计与实现