1 前言
民以食为天,国家的发展与建设无法脱离农业的基础建设与发展而独立运行,农业的发展是关系国家命运的大问题。对于农作物的生长环境数据需要长期大量存储与分析,计算机网络与云计算的发展使得分布式处理得以实现,在不同的空间中布置分布式的数据库,可以有效的进行比较大的容量数据计算和处理,建立在嵌入式实时运行环境、多节点传感采集单元、Linux远端云、分布式数据库、移动设备终端的一体化智能农业环境检测系统将逐步取代传统的农业生产,从多个方面提升农业生长作物的产量
近些年移动终端设备的崛起,当下基于谷歌开源Android系统定制的手机和基于苹果公司独立开发的IOS系统手机都己普及,嵌入式设备通过互联网将终端采集节点数据上传至智能云平台,远端云将数据存储到分布式数据库中,对于运行Linux系统的云服务器可以对环境数据进行实时分析处理,用户可以独立设置初始预警条件,一旦发生异常情况,智能云将会以短信或信息推送的方式将异常数据及处理下发到订阅的终端设备,实现的数据信息的实时性.
2 整体系统设计
基于云平台的智能农业环境检测系统主要由三大部分构成,分别是智能云平台、嵌入式传感采集终端、移动设备终端,三部分之间通过网络进行数据交互,对传输数据进行相应的帧处理,将侮一帧数据格式化成自定义的传输格式,采用用键值去获取环境信息值的Json格式传送数据系统整体硬件电路设计
嵌入式外设传感采集端采用STM32F411作为核心,外接空气的温湿度采集器DHT 11.土壤的温度采集器DS18B20、土壤的湿度采集器FC-28、光照的强度采集器BH1570FVI.二氧化的碳浓度采集器MG811,片内移植Wi-Fi射频驱动程序,可以实时的连接路由网络,与远端云服务器进行通信。处理器运行Mico实时操作系统,负责各种采集任务间的切换与数据读取
移动设备端使用IOS手机以及PC的浏览器网页,移动设备通过HTTP请求与智能农业云服务器通信获取农作物历史生长环境数据,采用长连接技术的MQTT协议进行设备节点实时的数据透传,PC端由独立的行情显示界面,实时的获取环境数据信息,移动端集成了百度云推送客户端SDK,可以非常方便的进行云端到客户端的信息推送软件系统设计
云平台和移动端设计:
智能农业云平台运行在阿里云之上,配置了Linux的运行环境,选择的操作系统为Ubuntu 14.04,系统配置了SSH远程连接,可以通过网络远程登陆系统,进行文件的部署与开发云平台后端采用Node.js语言开发,首先配置Node.js运行时环境,在Linux上安装Node.js只需在Linux终端上执行命令apt-get install nodejs即可自动安装最新的版本工具数据存储运用mongodb,缓存数据库采用Redis数据库,Redis数据库是基于内存的key-value方式存储,可以大大的提升系统数据的存取速率
实时环境数据信息的发送系统中使用了MQTT协议进行传输,MQTT协议使用Socket长连接技术与云平台进行数据传输,系统中使用30秒的心跳机制,侮隔30秒定期的向云服务器发送一帧ping信号,云服务器接得到设备端的心跳,向设备端发送出一个pong信号,心跳机制可以保持网连接的持续性和实现设备端到云端的上行数据传输和云端到设备端的下行数据传输MQTT协议基于发布订阅模型,数据的发送需要指定一个主题,数据的接收也需要订阅一个话题为了实现MQTT协议传输
MQTT服务器主要用于和嵌入式端STM32F411CE和移动客户端IOS进行实时的双向通信,通信的过程中采用了Socket的长连接技术,嵌入式设备端在MQTT服务器上发布一个话题,即可实现数据与云服务器的传输,云端接收到嵌入式端传来的实时环境信息并将数据存放到环境信息表中,移动客户端在MQTT服务器上订阅一个数据话题,一H话题的数据发生改变,服务器能够实时的把设备端数据推送到移动客户端IOS上
系统的主界面左上方有一个设备刷新按钮,我们点击时将自动的刷新获取最新得到的设备信息数据,程序中通过读取离线设备数组,将更新显示列表的数据源重新渲染视图显示页面。点击右上方的设备添加按钮,系统将通过自定义的用户控制器,控制页面自动跳转到设备添加页.
3 结束语
本系统设计了将云平台与嵌入式处理传感采集单元和移动客户端及PC网页端相结合,实现了农业生产中的环境信息的实时采集与云端的上传存储功能,设计中考虑了如何减少系统资源的使用,使用了低功耗的ARM嵌入式处理器,传感采集单元采用了数字型芯片,客户端采用当下智能的IOS系统作为移动端的展现,PC端可以让用户通过浏览器获取设备的信息