李湘球,王小凤,朱德彬,何媛媛,彭 君,麻红昭
(1.萍乡市蔬菜科学研究所,江西 萍乡 337001;2.浙江大学,浙江 杭州 310058)
随着社会的发展,传统农业已经不适应当前的需求,为了将物联网技术引入农业生产,更好地推广农业物联网的应用,开发了一套农业物联网仿真系统,以期能够提高广大农民对农业物联网的认知。
农业物联网仿真系统是由感知层仿真设备、智能网关、物联网平台3 部分构成。智能网关作为该部分的中枢,起到上传下达的作用。向下接收仿真设备的传感器数据和发送控制设备状态命令,向上传输设备数据和接收及传输控制设备命令。感知层仿真系统的构成,如图1所示。
图1 农业物联网仿真系统结构图Fig.1 The structure diagram of the agricultural internet of things simulation system
智能网关由触摸屏和以stm32 为核心的单片机所构成。其中,触摸屏通过对现场数据的采集处理,以动画显示、流程管制、图表输出等形式输出向使用者提供处理实际工程问题的方案[1],是负责人机交互的部分;单片机负责软件部分,具有高性能、低成本、低功耗的特点[2]。实现对现场设备的集中显示和远程控制功能。智能网关的结构,如图2所示。
图2 智能网关结构Fig.2 The smart gateway structure diagram
系统中仿真传感设备的主要功能是集中显示和改变需要向网关和平台上传的数据。本系统中仿真传感设备的总体结构,如图3所示。
图3 仿真传感设备结构图Fig.3 The structure diagram of simulated sensing equipment
其中,仿真传感设备共有32 个,每个采集设备下面有6个参数可进行上传,以设备2 为例,分别是光照强度、土壤水分、空气湿度、土壤温度、空气温度和二氧化碳量,这些参数可以根据用户的不同需要进行修改。触摸屏在采集页对这些数据进行集中显示,分别显示在2个页面上,每个页面上面有16个采集设备的数据,以采集1也为例,如图4所示。
图4 采集页面Fig.4 The collection page
触摸屏与网关连接通电后,网关上即会显示正确事先设定的数据,采集器的参数值、类型、单位(光照度等)可以根据客户自己的需求进行修改。图中的有线、无线为网关与设备的连接方式选择,有线为RS485 连接,无线则为433MHz 连接。显示灯为绿色表示在使用,为红色则为未使用。
感知层仿真控制设备的主要功能是模拟现场设备,由网关对其进行远程控制。本系统中的仿真控制设备的总体结构,如图5所示。
图5 中,仿真控制设备也有32 个,每个仿真控制设备有两态控制(开、关)、三态控制(正传、停、反转)2 种形式,以控制设备2 和控制设备32 为例进行展示。触摸屏的控制设备显示页共有2 页,每页有16 个控制器,以控制1 页为例,如图6所示。
其中,页面上“有”“无”是有线连接和无线连接的简写。页面右下方的表格则是对仿真控制设备的仿真电流显示,并且可以人为修改。点击右下方的按钮即可跳转至相应的页面。仿真控制设备显示为两态或三态取决于网关下发的控制指令。不同的控制状态网关下发的命令指示不同:两态控制时,开的状态是0001;关的状态是0000;三态控制时,正转状态是0009,反转状态是0008,停止状态是000B(十六进制);仿真控制设备根据接收到的指令,对控制设备做出响应并且显示不同命令状态的颜色。
图5 仿真控制设备结构图Fig.5 The structure diagram of simulation control equipment
图6 控制设备页面Fig.6 The control device page
网关与感知层仿真设备的通信是基于Modbus 通信协议实现的。Modbus 协议不仅是第1 个真正应用于工业现场的总线协议,也是一种开放的国际性现场总线标准[3]。标准的Modbus 协议是应用层报文传输协议,有ASCII、RTU 2 种方式。本系统中采用RTU 通信方式,直接传送十六进制的数值,同时采用CRC校验。
网关作为主设备,感知层仿真设备作为从设备,二者之间采用Modbus 协议进行数据通信。包括32 个传感器和32个控制器,每个传感器有光照度、土壤水分、空气温度、空气湿度、土壤温度、二氧化碳6 个参数;每个控制器可根据网关控制器的不同设置显示两路的正反转控制和四路的开关控制[4]。
Modbus协议的消息报文结构,如表1所示。
表1 Modbus协议报文结构Tab.1 The Modbus protocol message structure
图7 网关与感知层仿真设备通信流程图Fig.7 The communication flow chart between the gateway and the perceptual layer simulation device
地址码:通信传送过程中的第1 个字节。从站的地址码由用户设定且是唯一对应的,主站数据信息根据该地址码发送至对应的从站,进而响应的回送也都是以各自的地址码开始[5]。本系统中地址分配:仿真传感设备仿真32 个采集器,地址从1~32;仿真控制设备仿真32个控制器,地址为33~64。
功能码:通信传送过程中的第2个字节。根据Modbus通讯协议的规则,1~127是所有的功能码。在主站发送请求时,从站根据功能码执行相对应的动作。当从站响应时,从站的功能码和主站的功能码一致,说明从站响应了主站,并且执行操作[6]。比如03 功能码代表主站向子站查询信息,06 功能码则代表主站“写”单寄存器信息发送至子站。
数据区:其具体内容随功能码的变化而改变。
CRC 字节:2 个字节的错误校验码,通常高字节在后,低字节在前。就是将整个字符串(不包括最后的2个字节)按规定的方式进行位移操作,先执行异或运算,再将计算的结果存放在字符串最后的2 个字节内,最后由接收方按照相同的计算方法进行校验,检查两者是否一致[7]。若一致,则可以进行下一步的通信;反之,则重新传递信息。
网关的集中显示数据是由仿真传感设备或仿真控制设备将模拟的各采集器数据或控制器的状态传送至网关单片机,网关单片机与网关MCGS 组态软件通信将模拟的采集数据或控制器状态显示在触摸屏上,同时上传到平台。远程控制的数据流动方向则与显示数据流的方向相反:用户在网关触摸屏或平台上下发控制指令,网关单片机接收到指令,发送至仿真控制设备,仿真控制设备对应的控制器做出相应的指令动作。实现该过程的流程图,如图7所示。
智慧农业是未来农业的发展趋势。农业物联网仿真系统可以比较真实地描述农业物联网系统的运行,对普及农业物联网的知识和推广农业物联网的应用起到推动的作用。