基于Android平台开发的无人插秧机监控系统
2018-11-19赵德安
张 勇,赵德安
(江苏大学 电气信息工程学院,江苏 镇江 212013)
0 引言
国外较早开始对插秧机的研究[1],如日本农业总研究中心利用RTK-GPS技术研制了无人驾驶插秧机[2],定位精度可达到2cm,定位信息和倾角信息通过串口发送至计算机,由计算机对插秧机倾角信息进行修正后产生控制参数下发给插秧机,实现对插秧机的操作控制。国内研究起步较晚,但也取得了一定成就。张方明等[3]研发了无人驾驶插秧机,利用GPS导航定位实现了自动直线跟踪与转弯功能,且插秧机不受光线干扰,白天晚上均可高效工作。
针对目前对插秧机的研究方式大多在固定场所使用计算机进行监控,且工作站成本高、不易便携以及监控功能简单等问题,本文提出使用Android移动开发技术实现无人插秧机监控。安卓手机因具有灵活的人机交互、多个网络连接模式和强大的数据处理功能而使用普遍[4]。在无人插秧机监控系统中充分利用手机资源可降低系统成本(如不再需要LCD显示模块系统),为用户提供方便的触屏操作和实用多样的数据显示模式,还可自由设定系统状态,收集当前和历史数据视图,因此降低了产品成本和功耗,提高了系统可操作性、可扩展性,完善了系统性能。
1 系统整体设计
为了满足功能需求、降低开发成本,设计基于Android平台的无人插秧机监控系统,主要由车载信息采集系统、Android智能手机和中央控制服务器等组成,如图1所示。
图1 系统总体组成
当插秧机工作时,可以对相关信息进行采集、处理和分析,并显示出来,达到远程监控和与用户交互的功能,大大提高便利性。最终,用户通过该系统的Android客户端就能在可视化界面上观察无人插秧机工况信息,并且可对某一工况参数数据进行历史查询,凭此实时判断插秧机运行状况是否一直处于正常状态。
2 Android客户端功能需求
Android客户端能够实时显示插秧机工作数据,当其连接到服务器后,服务器再将插秧机上传的作业数据转发给Android客户端,当客户端获得服务器转发的数据时,能够不断刷新、缓存且在监控客户端更新数据,还能将数据以曲线图形式实时、直观地展示,使用户可以更加方便地对插秧机工作状况进行观察。同时可以对插秧机在地图上进行实时跟踪监控,搜索插秧机位置以及显示插秧机位置坐标,并进行地图放大、漫游等操作,还可将秧苗栽植质量的标注信息在地图上以不同颜色和数字直接显示出来,对插秧机已上传的数据进行保存,以便查询。用户可通过对历史数据的分析,观察插秧机工作状态变化,以便分析插秧机可能出现的故障并给出相应解决方案,也可根据时间间隔在地图上显示历史数据,以便观察插秧机工作轨迹。系统在插秧机出现故障或作业发生越界时,会触动报警装置,Android客户端同时出现系统故障报警提示,使用户及时发现故障并停止插秧机工作。当插秧机进行简单的人工干预作业时,用户也可通过Android客户端对插秧机进行远程操控。
3 功能结构设计
综合以上对监控系统的Android客户端功能需求分析,将Android监控客户端分为数据管理模块、GIS功能实现模块和数据通信模块3部分。 Android监控客户端功能结构如图2所示。
图2 Android监控客户端功能结构
3.1 数据管理模块
将Android客户端监控的信息中心部分划分为数据管理模块,该模块实现用户注册、登录、信息管理以及实时工况信息显示和历史数据查询等功能。为防止非法人员登陆软件对远程作业的无人插秧机进行监控操作,设计APP登录注册。无人插秧机监控系统需要分别进行工况信息实时显示、各项数据与预先设定的各个参数理想区间值对比,以便发现被监控的参数数据是否出现异常,判断当前插秧机是否处于正常工作状态。历史作业数据查询功能指对用户下发的命令和插秧机各类工况数据以及警报记录等进行查询。用户信息管理功能指为了时刻保持用户信息管理的安全可靠,需要对用户信息进行安全设置,以防非法人员访问监控系统。系统各项基本信息设置需要经系统设置模块完成,比如被监控的插秧机编号、数量、各项功能执行数据和用户帮助信息等,为插秧机的稳定运行提供可靠保障。
3.2 GIS功能实现模块
为实现对作业无人插秧机的远程监控和作业区域周边环境的监控,利用GPS定位信息[5]与GIS地图数据[6-7]相互匹配,在Android移动客户端不仅可以实时显示插秧机的坐标位置信息,还可提供众多应用程序函数接口,以便用户端开发地图浏览设置,如缩放、漫游操作和支持多点触控以及地图属性的设置,如固定比例尺、地图叠加。地图显示控制指在插秧机监控系统客户端可视化地图的操作中,Android客户端能对卫星地图实现图层控制、自由缩放、漫游和加载显示等基本功能,以便用户掌握插秧机位置的详细信息。
3.3 数据通信模块
监控客户端通过Socket套接字[8]和服务器建立数据通信,实现数据接收、数据库访问和命令下发,通过和管理员建立通信,可在机载终端出现秧库缺秧、机械故障等情况时以短信的方式向管理员发送报警信息,提醒管理员进行及时处理。插秧机通过获取监控服务器中储存的插秧机当前坐标实现实时定位。监控客户端对数据库访问,指Android客户端的用户访问数据库时,客户端向服务器发送访问请求命令,只有在服务器授予权限后客户端才能进行相应操作,为监控客户端获取数据提供了安全保障。机载PC机远程控制指对机载PC机的远距离控制可提高用户对插秧机远程工作的干预能力,其操作需要借助4G通信网络[9]及机载PC机监控软件的协助。插秧机监控系统具有报警功能,能在插秧机出现问题时进行报警提示。当监控客户端实时显示的工况数据出现了与设定阈值有较大偏差或其它异常,如通过地图检测到插秧机在作业区域中出现了较多漂秧和漏秧时,监控端报警并发送信息提醒用户进行处理。
4 系统工作原理
监控系统通过4G网络完成机载PC机和远程服务器之间的数据传输。系统数据采集即对无人插秧机工作数据实时检测和对秧苗图像及定位信息及时获取,需要借助机载PC机和GPS定位接收器模块、工业摄像机和4G通信模块及传感器检测模块完成。处理器对采集到的数据进行处理,然后依照自定义的通信协议形式封装处理过的信息,再将封装好的数据信息借助4G通信网络发送到远程服务器上。从Android监控客户端发送的点火、熄火、转向等操控指令由机载终端PC机接收,然后终端依据已设定的程序模块执行相应操作。
系统功能的实现需要依靠远程监控中心服务器,因为服务器能够接收并解析机载PC机终端各类数据,并对经过解析后得出的有效数据进行分类,将其存储到与之相应的数据库表中,同时传送至Android监控客户端[10-11]。客户端采用数据和曲线的方式,实时动态地显示由中心服务器传来的实时工况信息,将插秧机位置信息和秧苗栽植状况标注信息显示到地图相应位置,完成对无人插秧机的远程监控[12-13]。当用户向机载PC机终端下发控制命令时,中心服务器首先接收Android客户端发送的操作请求,此时服务器授予权限,然后客户端下发的指令被写入服务器数据库中,同时命令标志位在系统中发生更改。同样地,命令标志位在客户端中被实时检测查询,当其发生更改时,服务器依照通信协议封装即将下达的指令,最终传送至机载PC机终端。
5 Android客户端监控软件调试
人机界面使用户可以便捷地查看插秧机现场工作情况并对其进行控制,用户进入监控系统需身份验证,只有合法的用户才能进入监控系统,并进行相关人机界面操作[14-15]。在实验室模拟环境下,可展示监控软件实验功能效果图,图3为监控系统运行的主界面,图4为插秧机历史轨迹回放查询。
图3 监控系统主界面
图4 插秧机轨迹回放
6 结语
本文以插秧机为对象,研究了无人插秧机远程监控系统[16],Android客户端监控软件实现了良好的人机交互[17-18],选用4G网络模块进行数据通信,极大提高了传输效率,基本满足了系统实时性要求。该监控系统对插秧机工况参数实时监测,可以对插秧机可能发生的状况作出预测和处理,保障插秧机高效、长时间地工作,减轻了管理者工作负担。手持式设备[19-20]监控终端可适用多种场合,具有很好的发展前景,是未来发展方向和下一步研究重点。