基于物联网的智慧农场监测app的设计与实现
2022-05-24王彩萍李育荣蔡逸辰
王彩萍,吴 燕,李育荣,蔡逸辰
(江苏农林职业技术学院 江苏,镇江 212400)
1 引言
智慧农业是起源于20 世纪90 年代的精准农业,智慧农场融合了移动互联网、云计算、物联网和互联网等多种技术,在农业生产的各个环节部署传感节点(温度、湿度、土壤水分、二氧化碳、图像识别、光照等),通过网络通信技术实现远端监控生产,为农业生产提供精准化种植、可视化管理、智能化决策。基于物联网的智慧农场监测系统是集物联网、移动互联网等信息化技术为一体,利用各类传感器实时感知农场内部温度、湿度、光照度等环境信息,通过预设的阈值,实现通风系统、照明系统等的联动,农场内部温湿度、光照度的自动调节;同时系统可以实时感知各个关键区域有人闯入的情况,如果出现有人闯入,系统自动推送报警信息到移动端;可以通过视频监控系统远程实时查看农场的实时生产作业情况。
2 系统设计
物联网智慧农场监控系统移动端应用,首先是通过光照传感器、温湿度传感器等接入Zigbee节点模块,来采集光照度、温湿度的数据;然后通过接入人体红外传感器、排气扇继电器等连接ADAM-4150 数字量采集器,实现人体红外信息的采集和对排气扇的开关控制;照明灯通过接入带有继电器的Zigbee 模块,实现对照明灯的开关控制;然后ADAM-4150 通过485 总线接入到物联网数据采集网关,各Zigbee节点通过Zigbee网络接入到物联网数据采集网关,各Lora 节点通过Lora 网络接入到Lora 网关;然后物联网数据采集网关、Lora网关通过WIFI网络接入Internet 连接到部署在公网的物联网云平台。最后移动端(手机、平板)与物联网云平台实现接口数据交换,从而实现远程监控和管理。具体系统设计图如图1下所示。
图1 物联网智慧农场系统设计图
3 软件模块设计
本次软件系统开发基于Android studio 平台,移动终端通过HTTP 协议调用服务器端的WebService 来实现数据的交互,使用人员可以通过客户端随时获取农场内的各项环境信息,当农场内的监测数据超过设定值时,则web服务器会向手机发送报警信息推送,同时使用人员可以通过客户端控制远程设备,主要功能模块如图2所示。
图2 移动app功能结构图
3.1 登录注册
该模块提供用户登录和注册功能,用户在Android studio中创建的登录及注册页面中填写的信息通过Web-Service 存储到数据库服务器中或通过WebService 从数据库中获取数据传到app 后台程序以此验证用户填写的用户名或密码是否正确。
3.2 环境监控
该模块主要功能是将传感器采集到的数据,通过无线网传给物联网网关,然后在Android studio 项目中,在app的主页面监控区域内进行传感器实时数据采集与显示。
3.3 禁入监控
该模块的主要功能是当检测到农场有人活动时,会将警报信息存储到远程服务器中,并通过提示信息,跳转到警报数据界面,查看具体的警报信息。
3.4 设备控制
要实现系统的自动控制,需要实现在移动app的界面中事先设置好各类传感器的阈值,例如,温度阈值设置成25℃,当温度超过这个阈值时,空调系统将自动开启,另外,要实现农场内的实时监控,就要设置好摄像头的IP地址。
4 系统实现
4.1 登录注册
登录界面包含了本app 的图标、名称、账号密码输入框、登录以及注册按钮。用户如已注册账号,则可在输入框中输入帐号密码,然后点击登录按钮,程序会向服务端验证用户信息,通过则可进入主界面中。如用户未注册账号,可以通过注册账号按钮进入到注册账号界面(见图3、图4)。实现步骤如下:(1)创建并部署WebService;(2)在WebServiceHelper 类中添加登陆以及注册方法;(3)在Android studio中创建登录注册界面;(4)创建LoginActivity活动实现登录功能;(5)创建RegisterActivity 活动实现注册功能。
图3 用户登录页面
图4 用户注册页面
4.2 全局参数设置
在Android studio中创建全局参数设置界面,对物联网云平台的IP地址、项目标识,物联网云平台登录的账号和密码,摄像头IP地址,以及各类传感器、执行器ID等参数通过SharedPreference 保存到用户自定义Application 对象(见图5)。
图5 全局参数设置页面
4.3 环境监测
首先所要完成的任务是对农场中的数据采集、数据显示和数据传输。先使用各类传感器将农场中的温湿度、光照等环境信息进行采集,通过物联网网关将数据传到新大陆物联网云平台。实现步骤如下:(1)鉴于要与物联网云平台实现通信,所以在Android studio 项目中引入第三方平台jar包;(2)加入网络访问权限;(3)创建Cloud-Helper 帮助类,在CloudHelper 中定义了signIn()、getSensorDate()、getToken()三个方法,使用signIn()登录到云平台并通过getSensorDate()获取传感器数据值,在主界面上实时更新(见图6)。
图6 环境监测界面
4.4 禁入监控
禁入区有人闯入时,移动端app会将警报信息存储到服务器,这里的数据存储和访问是通过调用服务器端WebService 来实现。移动端定时将人体传感器检测到的信息发送至Service 服务端进行保存,当移动端需要查看警报信息时,先发送请求给服务端,服务端提供警报信息给移动端。要与服务器进行数据交互,则首先需要创建WebService 服务,然后创建WebServiceHelper 类,我们希望能够实时监测人体数据,因此需要更新活动MainActivity中定时器任务,保证数据随时更新,点击禁入区监控界面的文本组件,跳转到警报信息界面。警报信息界面如图7、图8所示。
图7 禁入警报界面
图8 监控界面
4.5 设备控制
当智慧农场中的温度、湿度、光照的值不断变化时,通过物联网云平台从移动终端接收控制指令并将指令发送给网关实现对各执行器的开关控制。前面提到的CloudHelper 类中已经包含了signIn()、getSensorData()实现了登录云平台、从云平台获取传感器数据的方法,我们还要在CloudHelper类中添加onOff()方法用于打开和关闭执行器。为了使实现效果更佳,我们还需在移动端的主页面中添加Android视图动画,从而实现各图标以动画的形式来显示,比如通风控制设备打开后,风扇图片能够转
动,空调控制设备打开后,可以模拟送风动画,这样可以给用户赋予更加直观的感觉(见图9)。
图9 设备控制界面
5 结束语
移动互联网技术应用在农业生产可以有效推进农业信息化水平的提升,基于移动互联网物联网的智慧农场,,物联网移动互联网监控系统可以实现对智慧农场的精细化、全程化管理,有效实现了温室大棚对光照、CO:、湿度、温度等植物生长环境的监测与控制,同时系统采用了Android 开发中主流的技术,力求做到用户界面友好、功能实用、数据传输及时等特点,切实为温室大棚种植精细化管控提供典型的解决方案。