论文部分内容阅读
0 引言
近年来,农药残留量检测技术发展至今已取得很大进展,但在传统农残检测设备的开发和维护中,往往是通过串口、以太网等有线的方式对仪器进行参数设置,获取仪器的检测数据。这就需要有线传输所依靠的各种线材,又需要安装有专用软件的个人电脑,否则终端用户就只能手动录入仪器的检测数据,不但效率低,而且很容易出错。
本文针对中广测NC系列农药残留快速检测仪,采用市场占有率最高的Android终端替代PC作为上位机来构建数据的采集与维护系统,可以很好地解决传统的“有线+个人电脑”数据采集的弊端,使仪器更适应外场工作,提高信息化水平。
1 系统架构设计
本系统总体架构的设计上采用面向移动终端的C/S模式,Android客户端的设计上采用MVC模式,并应用Web Service技术实现了客户端与服务器端的数据交互。系统框架如图1所示:
整个系统是由具有蓝牙通信功能的农药残留快速检测仪、运行在Android上的移动客户端和通过移动互联网进行连接的中心服务器组成。Android起到了数据中转的作用,是整个系统的核心。
检测人员在现场按照农残检测流程对农产品样品进行检测,检测数据通过仪器蓝牙模块发送到Android手机,手机将接收到的数据暂时存储在系统自带的SQLite数据库里,可以对这些数据的附加信息进行编辑修改,并将这些暂存的数据通过4G或WLAN网络上传到中心服务器,最后将数据存储在系统运营商的数据库里,主管部门可以通过查看后台数据库对大量检测点进行实时动态监控。
2 移动客户端设计
移动客户端采用支持蓝牙功能的Android平板电脑或手机,程序开发基于Android5.0系统,开发平台为PC,所用开发工具为Android Studio集成开发环境,移动客户端整体功能设计如图2所示:
(1)蓝牙操作
蓝牙操作模块通过使用Android提供的蓝牙API,实现查找并连接检测仪器,读取检测数据,设置仪器参数等功能。
(2)本地数据管理
本地数据管理模块具有查询、分类、汇总、统计和报表生成功能,包括将检测数据存储到手机,导出为Excel文件以及生成QR二维码等。具有多种方式数据统计汇总功能,例如可以对某一时间段的檢测信息进行统计汇总,也可以对某一类农产品的检测信息进行统计汇总,还可以对某一检测点的检测信息进行统计汇总。
(3)用户登录
用户登录模块主要用于用户登录服务器,只有用户名和密码验证通过的用户才可以更新或者下载数据。
(4)上传下载
上传模块和下载模块通过调用服务器端提供的Web Service接口API,进行检测数据的网络共享。
2.1基于蓝牙的数据传输
Android应用框架层提供了实现蓝牙功能的API,通过它们可以实现与其他蓝牙设备的无线通信,建立点到点的连接。农药残留检测仪的蓝牙模块选用的是HC-06,它与Android的通信方式使用SPP协议。
在Android应用程序开发中,蓝牙设备之间要建立连接,必须实现客户端和服务器端代码,分别用来开启连接监听服务和发送连接请求。服务器端采用accept()方法接受连接,客户端则采用connect()方法请求连接,由于这两个方法都是阻塞调用,所以需要单独的线程来管理连接。SPP协议的UUID为00001101-0000-1000-8000-00805F9B34FB,使用此UUID创建套接字并连接,直到当它们都拥有一个蓝牙套接字在同一RFCOMM信道上时,说明它们之间连接成功,然后就可以实现设备之间数据的共享,同样,数据的读取和写入操作也是阻塞调用,需要建立一个独立的线程来进行操作。
2.2数据库存储
数据库管理模块提供数据库创建、更新、查询和删除功能,用来暂存从检测仪器接收来的数据,以便后续通过网络共享。在Android智能手机上,使用开源的、与操作系统无关的嵌入式SQL数据库SQLite3来存储检测数据。
根据需求,客户端数据库的设计包含6张表:t_checkresult,t_checktype,t_goods, t_overflows,t_source,t_vendor,分别用来存储检测数据、检测类型、样品名称、超标限值、被检测单位信息、检测单位信息。t_checkresult表的结构说明如表1所示。
3 服务器端设计
移动客户端不直接访问中心数据库,而是引入了Web Service接口作为业务逻辑层,客户端将本地暂存的检测数据先通过报文的形式发送给Web Service,Web Service接收处理后更新数据库,从而实现了数据的分布式处理。
Web Service即Web服务,是用标准的规范的基于XML的WDSL语言描述的,它向外界暴露出一个能够通过Web进行调用的API,使得程序员能够通过标准化的消息传递机制来访问这个的API。通过Web Service系统可以非常灵活的部署和升级维护。
本文在.NET框架的支持下,采用ASP.NET和C#语言,开发了数据交换接口,通过IIS部署Web Service,中心数据库系统选用SQL Server 2008。
提供管理员和普通用户两种账户类型,管理员账户具有最高权限,不仅具有普通用户基本的数据上传下载功能,也可以对其他用户账户进行操作,如对其辖区内用户的检测信息进行统计汇总,添加用户、修改用户、删除用户和更改用户权限等。
系统对外接口访问地址:http://ip:port/services/ptcck.asmx。其中ip表示Web服务器的网络地址,port表示提供Web服务的端口号。系统对外接口包括查询接口和写入接口,例如:
获取某用户一段时间内的检测信息
public string[] selectUserDayCheckResult(string vendorid, string startday, string endday)
4 结语
本文结合智能手机广泛应用的优势,设计开发了基于Android终端的采集和报送系统,实现了智能的农产品安全监控网络。使用蓝牙技术采集农药残留检测数据,然后通过移动通信技术传输,解决了传统有线采集传输模式的弊端,使仪器在现场的使用更加方便快捷,提高了工作效率。本系统有较强的实用性,对今后设计集成化更高的智能仪器也有一定的参考意义。
近年来,农药残留量检测技术发展至今已取得很大进展,但在传统农残检测设备的开发和维护中,往往是通过串口、以太网等有线的方式对仪器进行参数设置,获取仪器的检测数据。这就需要有线传输所依靠的各种线材,又需要安装有专用软件的个人电脑,否则终端用户就只能手动录入仪器的检测数据,不但效率低,而且很容易出错。
本文针对中广测NC系列农药残留快速检测仪,采用市场占有率最高的Android终端替代PC作为上位机来构建数据的采集与维护系统,可以很好地解决传统的“有线+个人电脑”数据采集的弊端,使仪器更适应外场工作,提高信息化水平。
1 系统架构设计
本系统总体架构的设计上采用面向移动终端的C/S模式,Android客户端的设计上采用MVC模式,并应用Web Service技术实现了客户端与服务器端的数据交互。系统框架如图1所示:
整个系统是由具有蓝牙通信功能的农药残留快速检测仪、运行在Android上的移动客户端和通过移动互联网进行连接的中心服务器组成。Android起到了数据中转的作用,是整个系统的核心。
检测人员在现场按照农残检测流程对农产品样品进行检测,检测数据通过仪器蓝牙模块发送到Android手机,手机将接收到的数据暂时存储在系统自带的SQLite数据库里,可以对这些数据的附加信息进行编辑修改,并将这些暂存的数据通过4G或WLAN网络上传到中心服务器,最后将数据存储在系统运营商的数据库里,主管部门可以通过查看后台数据库对大量检测点进行实时动态监控。
2 移动客户端设计
移动客户端采用支持蓝牙功能的Android平板电脑或手机,程序开发基于Android5.0系统,开发平台为PC,所用开发工具为Android Studio集成开发环境,移动客户端整体功能设计如图2所示:
(1)蓝牙操作
蓝牙操作模块通过使用Android提供的蓝牙API,实现查找并连接检测仪器,读取检测数据,设置仪器参数等功能。
(2)本地数据管理
本地数据管理模块具有查询、分类、汇总、统计和报表生成功能,包括将检测数据存储到手机,导出为Excel文件以及生成QR二维码等。具有多种方式数据统计汇总功能,例如可以对某一时间段的檢测信息进行统计汇总,也可以对某一类农产品的检测信息进行统计汇总,还可以对某一检测点的检测信息进行统计汇总。
(3)用户登录
用户登录模块主要用于用户登录服务器,只有用户名和密码验证通过的用户才可以更新或者下载数据。
(4)上传下载
上传模块和下载模块通过调用服务器端提供的Web Service接口API,进行检测数据的网络共享。
2.1基于蓝牙的数据传输
Android应用框架层提供了实现蓝牙功能的API,通过它们可以实现与其他蓝牙设备的无线通信,建立点到点的连接。农药残留检测仪的蓝牙模块选用的是HC-06,它与Android的通信方式使用SPP协议。
在Android应用程序开发中,蓝牙设备之间要建立连接,必须实现客户端和服务器端代码,分别用来开启连接监听服务和发送连接请求。服务器端采用accept()方法接受连接,客户端则采用connect()方法请求连接,由于这两个方法都是阻塞调用,所以需要单独的线程来管理连接。SPP协议的UUID为00001101-0000-1000-8000-00805F9B34FB,使用此UUID创建套接字并连接,直到当它们都拥有一个蓝牙套接字在同一RFCOMM信道上时,说明它们之间连接成功,然后就可以实现设备之间数据的共享,同样,数据的读取和写入操作也是阻塞调用,需要建立一个独立的线程来进行操作。
2.2数据库存储
数据库管理模块提供数据库创建、更新、查询和删除功能,用来暂存从检测仪器接收来的数据,以便后续通过网络共享。在Android智能手机上,使用开源的、与操作系统无关的嵌入式SQL数据库SQLite3来存储检测数据。
根据需求,客户端数据库的设计包含6张表:t_checkresult,t_checktype,t_goods, t_overflows,t_source,t_vendor,分别用来存储检测数据、检测类型、样品名称、超标限值、被检测单位信息、检测单位信息。t_checkresult表的结构说明如表1所示。
3 服务器端设计
移动客户端不直接访问中心数据库,而是引入了Web Service接口作为业务逻辑层,客户端将本地暂存的检测数据先通过报文的形式发送给Web Service,Web Service接收处理后更新数据库,从而实现了数据的分布式处理。
Web Service即Web服务,是用标准的规范的基于XML的WDSL语言描述的,它向外界暴露出一个能够通过Web进行调用的API,使得程序员能够通过标准化的消息传递机制来访问这个的API。通过Web Service系统可以非常灵活的部署和升级维护。
本文在.NET框架的支持下,采用ASP.NET和C#语言,开发了数据交换接口,通过IIS部署Web Service,中心数据库系统选用SQL Server 2008。
提供管理员和普通用户两种账户类型,管理员账户具有最高权限,不仅具有普通用户基本的数据上传下载功能,也可以对其他用户账户进行操作,如对其辖区内用户的检测信息进行统计汇总,添加用户、修改用户、删除用户和更改用户权限等。
系统对外接口访问地址:http://ip:port/services/ptcck.asmx。其中ip表示Web服务器的网络地址,port表示提供Web服务的端口号。系统对外接口包括查询接口和写入接口,例如:
获取某用户一段时间内的检测信息
public string[] selectUserDayCheckResult(string vendorid, string startday, string endday)
4 结语
本文结合智能手机广泛应用的优势,设计开发了基于Android终端的采集和报送系统,实现了智能的农产品安全监控网络。使用蓝牙技术采集农药残留检测数据,然后通过移动通信技术传输,解决了传统有线采集传输模式的弊端,使仪器在现场的使用更加方便快捷,提高了工作效率。本系统有较强的实用性,对今后设计集成化更高的智能仪器也有一定的参考意义。