□赵九洲 李玉玲 周小波 曾文明 李光辉 阮红丽 卢珍 梁君
/四川省农业机械研究设计院
随着物联网技术的发展成熟,远程管理使分布广泛的农村小型提灌站的管理变得简单起来,同时也节省了大量的人力成本。本文基于中国移动提供的物联网云平台OneNET和开源Arduino硬件等技术进行了农村小型提灌站远程监控系统的设计研究。
OneNET是中国移动推出的物联网开放云平台,作为物联网系统中的传输层,它向开发者提供智能硬件开发工具和云服务,各类终端设备可以方便地接入到网络,实现数据的传输、存储和管理等交互。平台能够帮助开发者轻松实现设备的接入与连接,快速方便地进行产品开发部署,为智能硬件等产品提供完整的物联网解决方案。支持多种物联网行业及主流标准协议的设备接入;同时还提供了Java、C语言等多种语言的开发SDK,能够帮助终端快速接入云平台和快速开发应用。OneNET作为平台服务层,为软件服务层和设施设备层搭建了连接桥梁,分别向上下游提供了中间层核心能力。
OneNET的接入协议包括EDP、MQTT、TCP透传等。终端主要通过TCP与OneNET直连,OneNET将接收到的数据按照协议解包然后存储,并以API的方式提供给应用层使用,OneNET应用如图1所示。
根据上述资源模型以及对接方式,笔者基于OneNET平台按照以下流程进行了产品开发,如图2所示。
图 1OneNET应用示意图
图 2 产品开发流程图
接入OneNET云平台的硬件可以是各种可联网的设备,比如各种单片机、手机等。这里选择Arduino单片机作为硬件单元。Arduino是一款便捷灵活、方便上手的开源电子原型平台,可以用来开发交互式智能产品,包含两个主要部分:硬件部分Arduino电路板和ArduinoIDE程序开发环境。Arduino电路板可以连接各种传感器,板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。
Arduino编程环境可以完美兼容MacintoshOSX,Windows和Linux等操作系统,同时Arduino控制板价格低廉,既可亲自组装,也可以购买完整成品。它的软件是开源的,程序员可以根据需要对其进行扩展。Arduino编程环境也很简易,可以很容易学会并熟练使用。
图 3 系统结构
SIM868通信模块是SIMCOM公司推出的通信模块,其性能优越,体积小巧。该模块实现了完整的四频段GSM/GPRS,同时集成了GPS和蓝牙技术。可以低功耗实现语音、短信、GPRS数据、蓝牙数据传输和高性能全球定位,支持GPS、北斗和GLONASS三大定位系统。目前免费提供基站定位。
农村小型提灌站逐年增多,大量的小型提灌站需要进行管理,传统的各村社安排人员看护费时费力。随着物联网技术的发展成熟,通过物联网远程管理分布广泛的农村小型提灌站成为可能。本系统基于中国移动提供的物联网云平台OneNET和Arduino环境进行相关应用的探索与设计。
本系统监控终端选用Arduinomega2560作为主控板,该主板处理器核心是ATmega2560,具有54路数字输入输出口和16路模拟输入,非常适合需要大量I/O接口应用的设计。该系统中主板需要接入电流、电压、管道流量、压力、进水池液位和门禁开关传感器以及两路继电器;电流电压传感器用于监测电机的运行状态,流量压力传感器用于监测出水管道的状态,进水池液位传感器用于监测进水池水位水量情况,门禁开关检测用于检测泵站的门是否被打开,两路继电器分别用于水泵管道阀门和水泵机组的开关控制。
主控板读取分析传感器数据来控制继电器的开关,继而控制水泵机组和电磁阀门的开关,同时通过SIM868通信模块将数据传输至OneNET云平台。OneNET云平台作为服务器,通过GPRS与SIM868通信模块交换信息;同时,基于OneNET平台提供的API开发出跨平台的应用系统,手机等客户端设备可通过应用系统实现与Arduino通信,从而达到监控的目的。系统结构如图3所示。
1)OneNET云服务器设计如图4所示。首先在OneNET云端通过用户注册,使用其提供的数据模板添加电流、电压、流量、压力、继电器开关、位置的数据参数,用以存储终端设备Arduino物理层发送的数据。
图 4 OneNET云服务器设计
图 5 客户端应用系统
然后利用OneNET平台提供的API开发简单的客户端应用系统并发布到平台上,客户可以通过手机、PC等访问平台,通过平台可以实现远程控制Arduino单片机和查看相关的数据,客户端应用系统如图5所示。
2)Arduino设备端主要程序设计。Arduino通过I/O口与管道流量、压力传感器、进水池液位传感器、水泵机组的电流电压传感器、继电器连接,读取传感器的数据并发送至OneNET云平台供客户端应用查看使用,同时接收OneNET转发的客户端应用发出的控制命令,从而控制继电器工作。主程序使用C语言在ArduinoIDE开发环境中完成编写,然后将程序编译烧录到Arduinomega2560主板上。
程序的主要功能函数如图6所示。
本文通过对Arduino单片机和OneNET云平台的学习研究,搭建了小型泵站的远程监控系统,实现了对小型泵站的远程监控与管理。与传统的自建服务器、开发上位机接收数据相比,云平台的应用能节省大量的人力物力等资源,同时,其运行更加稳定、功能更加丰富,跨平台开发更加方便。将物联网技术运用到传统农业中去,运用传感器和软件通过移动平台或者电脑平台对农业生产进行控制,能使传统农业生产更加高效便捷。
图 6 程序的主要功能函数