基于Android 平台的水产养殖远程监控系统
2015-06-02王宏坡等
王宏坡等
摘 要:为了进一步推进水产养殖监控手段,以已有的水产养殖系统平台为基础,并充分利用养殖户已有的智能Android设备基础上,将移动互联网和物联网信息技术应用于水产养殖中,设计了能运行在Android平台上的水产参数远程监控系统,并介绍了水产养殖客户端在线监测和远程控制功能的实现方法和步骤,完成客户端软件的设计与开发。它不仅大大便利了水产养殖人员的工作强度,而且还可以对水产养殖异常情况进行预警,从而为养殖渔业的健康生产保驾护航。
关键词:Android 水产养殖 无线监测 控制
中图分类号:TP273 文献标识码:A 文章编号:1674-098X(2015)04(c)-0032-01
Android是一个开源的操作系统,目前广泛应用于各种移动设备,如智能手机和平板电脑等,它是一个基于Linux的由Google公司开发系统[1]。Android的系统架构主要分为应用程序层、应用程序框架层、系统运行库层和Linux 内核层[2]。
随着物联网的逐渐推进,在水产养殖方面得到不断推广[3],该文则在已有物联网水产养殖监控系统的基础上,增加Android移动监控平台。
1 系统设计
根据用户需求, 系统能够完成参数设置、在线监测、远程控制功能。系统功能结构如图1所示。
(1)参数设置:参数设置主要完成各个监测点设置及各个监控参数限制的设置。
(2)在线监测:在线监测主要完成系统中所有管理区监测设备(传感器)的管理操作,包括设备开启或关闭、查看设备运行状态、监测指标及监测值等。
(3)远程控制:远程控制主要完成系统中所有管理区控制设备(控制器)的管理操作,包括设备的开启或关闭、查看设备运行状态、设定控制设备的工作方式(控制模式)等。
2 系统实现
2.1 手机端与服务器端的交互
水产养殖的各个监控参数都由服务器存储到数据库中,Android客户端要获取相应参数或设置参数等,就需要与服务器进行交互。在该文中手机端与服务器端的交互是通过Web Service进行。由于在Android4.0之后不可以在主线程中进行网络操作,故要调用webservice需要新开线程。
public void onClick(View v){
new Thread(new Runnable(){
public void run(){
}
}).start();
}
2.2 获取监测设备
准确获取设备是进行设备远程控制的重要前提。本程序定义设备变量StateOfDev。赋值代码为:
StateOfDev=(ImageButton)findViewById(R.id.stateofdev)
int devId =getInt(dev[1],0);
StateOfDev.getDev(devId);
2.3 获取监测数据
传感设备监测到的环境数据会通过数传设备实时传输并储存在服务器端。在使用手机客户端进行在线监测时,需要使用monitorDataHandler( )方法对服务器端的数据进行实时获取。
2.4 远程控制
远程设备控制分为人工控制和自动控制。人工控制则由用户根据自己的经验去控制设备,而自动控制则由系统根据设定值自动调节。其主要代码如下所示:
switch(v.getId()){
case R.id.ManualControl:
startControl.
setManual(Constants);
break;
case R.id.AutoControl:
startControl.setAuto(Constants);
break;
}
2.5 相关界面
相关界面如图2所示。
3 声明
本论文由国家级大学生创新创业训练计划项目(201410061038)和(201410061037)及院精品课程“应用软件开发基础”资助。
参考文献
[1] 蒋树,刘霞.鱼塘溶解氧无线监测与控制系统研究[J].渔业现代化,2012,25(2):25-28.
[2] 王宏坡,马文芝,周红.基于Android的电子书阅读器的设计与实现[J].天津农学院学报,2014,21(2):39-41.
[3] 闫宗魁,姜印平,李艳文,等.基GSM短消息的无线智能溶解氧监控系统[J].天津理工大学学报,2006,22(1):69-71.endprint