大规模用水节点的灌溉物联网监控系统设计_王志强

大规模用水节点的灌溉物联网监控系统设计
王志强1 ,钮丹丹1 ,王佳兴1 ,高鑫1 ,吴昊2 , 夏倩1 ,蒋永年3 ,郭亚1*
王志强
( 1. 江南大学物联网工程学院,轻工过程先进控制教育部重点实验室,江苏 无锡 214122; 2. 江苏省互联网农业发展中心,江苏南京 210017; 3. 江苏中农物联网科技有限公司,江苏 宜兴 214200)

王志强,钮丹丹,王佳兴,等. 大规模用水节点的灌溉物联网监控系统设计[J].排灌机械工程学报,2021,39( 10) : 1062-1067.
WANG Zhiqiang,NIU Dandan,WANG Jiaxing,et al. Design of IOT irrigation management system with large-scale nodes[J]. Jour- nal of drainage and irrigation machinery engineering( JDIME) ,2021,39( 10) : 1062-1067. ( in Chinese)
Design of IOT irrigation management system with large-scale nodes
WANG Zhiqiang1 ,NIU Dandan1 ,WANG Jiaxing1 ,GAO Xin1 ,WU Hao2 ,
XIA Qian1 ,JIANG Yongnian3 ,GUO Ya1*
( 1. Key Laboratory of Advanced Process Control for Light Industry ( Ministry of Education) ,School of Internet of Things Engineering, Jiangnan University,Wuxi,Jiangsu 214122,China; 2. Jiangsu Internet Agricultural Development Center,Nanjing,Jiangsu 210017, China; 3. Jiangsu Zhongnong Internet of Things Technology Co.,Ltd.,Yixing,Jiangsu 214200,China)
![]()
Abstract: Currently,most of existing agricultural Internet-of-Things ( IOT) systems for intelligent irri- gation are difficult to meet the needs of practical irrigation monitoring and management with a large range of multiple distribution points. Aiming at the demand of monitoring and management of mass wa- ter node for large-scale agricultural irrigation at the present stage,a system was designed to query the data of measurement points and manage the detection sites based on the commonly used MODBUUS- RTU protocol and TCP protocol in industry. The sensor of measurement points can use any flow sensor
收稿日期: 2020-02-22; 修回日期: 2020-05-13; 网络出版时间: 2021-10-08
网络出版地址: https: / / kns.cnki.net / kcms / detail / 32.1814.TH.20211008.0944.016.html
基金项目: 国家自然科学基金资助项目( 31771680,51961125102) ; 中央高校基本科研业务费专项资金资助项目( JUSRP51730A)
第一作者简介: 王志强( 1998—) ,男,山东青岛人,硕士研究生( 1034170228@ stu.jiangnan.edu.cn) ,主要从事物联网技术研究.
通信作者简介: 郭亚( 1977—) ,男,安徽泗县人,教授,博士生导师( guoya68@ 163. com) ,主要从事生物系统建模与控制、生物传感器与仪器研究.
![]()
![]()
![]()
![]()
that meets the requirements of the protocol. Two service processes were designed: IOT server and WEB server. The IOT server is responsible for querying and obtaining data from the electromagnetic flowmeter and uploading it to the database,solving the problems of protocol identification and analysis and high concurrency,and improving the system' s ability to handle a large number of monitoring nodes. The WEB server queries the corresponding data information from the database and carries on the permission management to facilitate the expansion of the system scale. In order to facilitate the system management,the WeChat small program with the functions of data query and equipment management was designed and developed. The irrigation IOT system based on basic irrigation monitoring,takes into account practical problems such as large-scale node deployment,massive data concurrency and system authority control,and provides a feasible solution for water-saving irrigation.
Key words: agricultural irrigation; protocol identification and resolution; authority management; flow monitoring; remote management
水资源缺乏一直是制约农业发展的重要问题. 在中国农业用水量占总用水量的 80%左右,但由于农业灌溉效率普遍低下,农业水的利用率仅为45%,而水资源利用率高的国家已达 70% ~ 80%. 中国农业用水被大量浪费,其原因除农业灌溉控制技术本身不完善外,很大程度上是因为不能及时地监控各灌溉点的灌溉水流量信息. 因此解决农业灌溉用水信息获取困难的问题,对于缓解水资源的紧缺非常重要.
目前国内外基于物联网技术的智能化灌溉系 统可以实现简单的组网、数据采集、显示存储等基 本监控功能,以及将传感器数据上传至管理系统实现智慧决策灌溉.例如: 美国利用“3S”技术获取、传送、处理各类农业信息,通过此技术指导农业灌溉. 但该技术实现复杂且难以建立网络互联关系,而且还存在信号误差等问题[1-2]. BATCHES 等[3]开发了 一套用于评价地下滴灌合理性的专家系统,用于滴 灌器的排布选择. PLANT 等[4]针对棉花的生产灌溉问题,利用 CLARE 专家系统外壳进行系统开发,考虑了作物蒸腾量、灌溉等各种问题,知识库非常丰 富.夏继红等[5]利用人工智能的相关技术设计开发节水灌溉智能系统,可以针对某种特定的作物形成 有效的灌溉策略,但该系统只考虑单一作物,未考 虑农田间的其他相互制约关系. 屈晓渊等[6]基于无线传感网络技术,将各种传感器构成智能化传感器 网络,实现农田的在线检测和灌溉自动化控制.李聪聪等[7]针对中国土壤水分流失和水资源浪费问题, 基于物联网技术和无线传感器技术设计智能灌溉 系统,可以用于检测区域内各个网络传感器节点的 土壤水分信息,根据不同作物的生长规律进行控制决策,并使用 Simulink 仿真验证了系统的可行性. 赵焱[8]基于 ZigBee 技术实现了分布式节水灌溉采集
监控系统设计. 但此类节水灌溉物联网系统大多处于初步阶段,并未考虑工业协议的实现、节点反向控制、服务器结点宕机、系统权限管理、海量数据的并发等实际问题,这些问题会随监控节点的增多而一一显现.因此现有的系统大多不能满足多节点、大规模这一基本需求.
为了有效解决上述问题,针对此类实际性需求,文中对系统进行设计. 此外,为实现实用性大规模用水节点的监控,本系统设计采用工业标准的MODBUS-RTU 协议作为传感器接入平台的通用协议,任何传感器只要满足该协议即可接入该监控系统成为系统监控节点之一. 同时设计实现权限分级管理功能,方便大规模应用的管理.
1 节水灌溉监控模型
农业用水具有点多、面广、分散和量小等特点[8-9],因此,对农业用水量的检测比较困难. 可在每个用水点部署 1 个或多个流量传感器节点,每个用水区域部署 1 个网关节点. 传感器节点用于采集节点将数据传输到 NB-IOT 网关节点,网关节点数据进行协议打包后上传至核心网络,进行协议数据转换操作后进入 IOT 服务器,IOT 服务器部署在云服务器上,核心网络可以直接连接该服务器 IP 地址.IOT 服务器同时连接 WEB 服务器,WEB 服务器同网络访问控制、网关服务器、数据库以及用户信息目录等协同工作,能够提供验证授权、账户服务以及数据库管理功能. 流量监控端可以使用任意一台连接外网的主机浏览器,通过 http 请求访问 WEB 服务器以获取相应的数据,从而进行显示存储等数据操作,并为监控员提供决策支持[10-11]. 节水灌溉 系统监控模型如图 1 所示.

图 1 节水灌溉监控模型图
Fig.1 Model of irrigation monitoring
2 系统实现
2.1 系统总体设计
物联网系统主要由 3 个部分组成: Device 设备群、服务器以及客户端[12]. 其中 Device 设备群即物联网系统中感知层的传感器设备,在本灌溉流量监
控系统中采用电磁流量计作为传感器件,传感器通过RS-485 串口连接方式发送数据至 NB-IOT 结点,并通过此节点向服务器发送传感器数据. 服务器端设计负载均衡集群系统,采用 Nginx 技术,通过轮训算法分配线程池 IOT 服务器,同时使 WEB 服务器中网页端静态资源与动态资源分离,实现动静结合的效果.MySQL 服务器采用集群策略,利用 MyCAT分片将 IOT 中数据写入主数据库中,网页端的数据请求通过访问从数据库获得. 具体服务器可分为 3 个服务器程序: IOT 服务器、MySQL 服务器以及 WEB 服务器. IOT 服务器主要用于接收底层 Device群上传的数据,并在数据解析后通过数据库接口存储进行数据持久化,MySQL 服务器主要运行 MySQL守护进程,定期对数据进行备份以及对过量历史数据进行整合删除等操作,WEB 服务主要用于处理客户端请求,提供验证授权、账户服务以及查询数据库 内容并将数据可视化的功能. 客户端部分包括 WEB 网页客户端和微信小程序客户端,管理员可根据需要自行选择需要使用的客户端类型,2 种类型的客户端数据和状态共享[13],系统总体架构如图 2 所示.

图 2 系统总体架构图
Fig.2 System architecture diagram
系统通过电磁流量计传感器设备进行监测点流量监控,由 IOT 服务器端获取设备数据并以 MODBUS 协议进行解析[14],基于 TCP 协议将各测量点测量所得数据存入数据库实现数据持久化. 在WEB 服务器中进行实时查询数据库信息等操作,保证 WEB 网页客户端和微信小程序客户端获取信息的有效性和实时性. 为降低系统的复杂度,IOT 服务
器和 WEB 服务器之间通过 MySQL 进行连通,少部分需要两者连通的采用 HTTP 协议进行数据信息交换.
2.2 IOT 服务器总体设计
本系统中 IOT 服务器设计基于 TCP 的 C / S 模式( 客户端/ 服务器模式) 开发,为保证服务器的高扩展性和高兼容性,将服务器的功能分为 4 个大块,
![]()
![]()
![]()
以实现系统设计的低耦合高内聚性. 四大模块分别为连接器模块、服务模块、系统配置及本地资源模块、数据库资源模块.各模块详细功能描述及实现如下所示.
2.2.1 IOT 服务器连接器模块实现
采用 socket 编程技术,在本地建立 TCP 服务器,创建连接时将进行核心配置的初始化,该 TCP 进程绑定本机指定端口即传感器硬件网关的连接端口.IOT 服务器维护一个连接守护进程( connection daemon) ,连接守护进程将继承**接口,创建连接守护进程后就可以调用监听方法进行监听,具体功能实现如下:
1) 监听连接功能: 服务器的开始,创建 1 个继承**接口的连接器,专门负责管理待连接的客户端,当创建连接的时候会进行系统的初始化,服务器端口此时绑定,当创建后就可以开启监听,每当监听到连接就调用系统的线程资源进行分配处理.
2) 连接过滤功能: 此功能为系统可扩展功能, 开发人员可根据需求设计加入不同的连接过滤器, 加入的连接过滤器可根据需求过滤掉不想要接入 的连接,但不会影响系统整体运行,此连接过滤功 能类似系统防火墙.
2.2.2 IOT 服务器服务模块实现
该模块主要实现对获取的传感器数据进行解析处理以及持久化操作,具体功能如下:
1) 检测设备的正确应答: 在经过动态分类处理后,进入对应服务内部,首先将会检测该连接的登录信息的正确性,不正确则丢弃.
2) 与设备进行信息传输,将获得的有效信息加入数据库: 对获取的数据信息,根据传感器接入时选择的协议进行数据解析,解析完成后将有用的数据装入数据库,进行数据持久化处理.
3) 解析 WEB 的消息请求,完成请求的内容: IOT 服务器与 WEB 服务器进行信息直接交换时采用 HHTP 协议,在一定程度上简化了系统的复杂度. 对于 WEB 的请求,IOT 服务器按照 HTTP 协议的格式解析 WEB 请求,根据内容将请求消息发送给终端设备或对 WEB 的请求给予回复.
2.2.3 系统配置资源及本地资源模块实现
该模块主要对系统配置资源文件等进行标准化设定,方便二次开发和系统调试,具体功能实现如下所示:
1) 配置资源保存,且易于修改: 该服务器的所有配置信息都放置在指定的配置文件资源中进行管理,开发和维护人员可以根据自身需求灵活更改和扩展系统配置以实现各种扩展功能.
2) 系统日志: 服务器中操作流程及一些报错信息由 log4j2 系统日志一并管理,可随时查看,方便运维人员后期系统维护.
3) 用户自定义协议: 定义协议解析的抽象模板类,用户可根据实际的业务需求,继承该模板实现自定义协议类后交由系统自动维护,系统进行协议解析时会通过反射执行自定义解析方法.
4) 设备映射表管理: IOT 服务器将维护 1 个设备与 IP 的映射表,将在线设备的设备号和 IP 对应关系加入该映射表,方便取用和查看.
2.3 WEB 服务器总体设计
WEB 是系统的交互枢纽,主要功能实现包括 3 部分: 与 IOT 服务器进行数据交互、与 MySQL 数据库进行数据交互以及与客户端进行数据交互. 前两者采用 nginx 服务器分配动态服务器处理资源信息,客户端访问静态资源需访问静态资源服务器.在与 IOT 服务进行数据交互的过程中均采用 HTTP 协议进行数据交换,规范了系统的数据交换格式.在与客户端进行数据交换的过程中,引入了身份- 权限管理系统,不同身份的管理员拥有的权限不同,可进行不同的操作,提高了系统的稳定性.服务器功能实现流程如图 3 所示.
2.4 MySQL 服务器总体设计
MySQL 服务器主要维护一个数据库守护进程( DB daemon) ,该守护进程输入后台服务进程,主要用于定时对数据库进行删除、汇总等操作,为数据库进行瘦身,防止数据库过饱和导致系统性能
下降. DB daemon 的功能是对历史数据进行处理, 通过历史数据获取周数据、月数据、年数据,并分 别进行存储,随后删除处理后剩余的无用历史数 据,保证了以最小的存储代价实现历史数据的可 达性.
同时采用 MySQL 集群技术,设置主从数据库, 设定主库写、从库读的模式. 利用 MyCAT 中间件实现自动读写分离,多节点负载均衡,解决当数据库 服务器宕机时,节点无法工作的情况.写入主数据中的信息利用二进制文件会自动更新至从数据库中, 保证了主从数据库中数据的一致性,使后期维护更 加方便.
![]()

3 系统测试
图 3 WEB 服务器功能实现流程图
Fig.3 Flow chart of WEB server function
在测试实例中主要测试 WEB 网页设备管理功能和数据查询功能的实现. 测试项目和观察结果如表 2 所示,测试过程中人为使其中某一服务器节点
系统整体由微信小程序和 WEB 管理网页两部分组成.微信小程序主要设计为可进行简单的数据查询以及简单的设备管理等操作,主要包含设备查
宕机.
表 2 测站管理项目测试表
Tab.2 Station management item test sheet
询、数据查询、设备控制、客服服务 4 个功能模块,用
![]()
测试模块 测试用例 预期效果 实际结果 是否通过
户可直接通过微信账号验证登录. WEB 网页前端设
计主要采用 HTML+CSS+JS 编程技术,在前端界面的实现上采用 Layui 前端开发框架,更加轻量和简
单位管理模块
地区: 江苏省/ 无锡市/ 滨湖区 ( 主服务器宕机)
政区名称: 江苏省/
添加成功
添加成功从服务器
变为主服务器,未 通过见数据丢失
无锡市/ 滨湖区 删除成功 删除成功 通过
单.文中所述系统主要功能模块及描述如表 1 所示.
表 1 系统主要功能模块及描述
Tab.1 System main function modules and descriptions
![]()
功能模块 功能描述
![]()
用户可以通过网页修改部分系统配置信息包括网页标题、
4 结 论
结合计算机网络技术、数据库存储技术、前后
系统配置修改
底部固定栏、文件存放位置等
端开发技术等设计了一套农业灌溉多节点监控系
权限管理配置 系统有超级管理员用户,该账户可以配置其他账户的权限; 不同权限的用户可执行的操作不同.
远程控制 包括远程指令和数据透传; 用户可以指定设备向其发送固定格式的远程指令或进行数据透传.
数据查询 包括实时数据查询、历史数据查询( 年数据、月数据、日数据) .
报警监控 汇总设备上传报警信息,及时对用户进行提醒.
报表查询 用户可以针对指定的数据进行报表导出操作,支持导出
xls、csv 等格式的数据报表.
地图显示监控点实际位置,同时可以直接在地图上查看各
统,基于 MODBUS 协议以及TCP 协议实现节点数据查询和远程管理等功能,可以有效缓解因各用水点信息不足导致农业用水浪费等热点问题.具体如下:
1) 相比于其他的监控系统,在实现基本的灌溉
数据监控、设备控制等功能性需求的基础上,本系统融入了权限管理模式,结合 RBAC 思想,设计权限
地图监控
监控点的监控数据.
管理系统,不同身份的用户登录具有不同的可执行
用户管理 增加、修改、删除用户,可以设置账户基本信息,可以设置账户的类别权限.
用户日志 显示存储各用户的详细登录信息.
的操作权限.
![]()
2) 为实现对大规模用水节点的监控管理需求,
![]()
![]()
![]()
着重设计实现了 IOT 服务器和 WEB 服务器 2 个服务器进程,其中 IOT 服务器面向底层传感器设备数据设计,解决大量数据并发以及协议统一问题.
3) 实现了工业通用协议的解析,用户也可以根据业务需求自定义协议解析方法添加至系统,为多设备、多协议的统一接入管理提供了有效的解决方案.对原先部署的节点只需要进行相应的协议包装即可接入监控系统,使该监控系统相较于其他类似灌溉系统可以更好地应用于大规模用水节点的灌溉监控情景.
参考文献( References)
[1 ] 李楠,刘成良,李彦明,等.基于 3S 技术联合的农田墒情远程监测系统开发[J]. 农业工程学报,2010,26 ( 4) : 169-174.
LI Nan,LIU Chengliang,LI Yanming,et al. Develop- ment of remote monitoring system for farmland moisture content based on 3S technology [J]. Transactions of the CSAE,2010,26 ( 4) : 169-174.( in Chinese)
[2 ] GU Hongjun,LI Ji,LI Shijun,et al . Design of intelli- gent irrigation system for greenhouses based on Internet of Things[C]/ / Proceedings of the 2016 7th Interna- tional Conference on Mechatronics, Control and Materials ( ICMCM 2016) ,2016.
[3 ] BELCHES H W, MERVA C E. Expert system to evaluate subirrigation[J]. Computer and electronics in agricultural,1988,4: 272-289.
[4 ] PLANT R E. An artificial intelligence based method for scheduling crop management action [J]. Agricultural system,1989 ( 31) : 127-155.
[5 ] 夏继红,严忠民,周明耀,等. 农田灌溉决策支持系统的设计与实现[J]. 中国农村水利水电,2001 ( 8) : 10-13.
XIA Jihong,YAN Zhongmin,ZHOU Mingyao,et al. Design and implementation of decision support system for farmland irrigation [J]. China rural water and hydro- power,2001( 8) : 10-13. ( in Chinese)
[6 ] 屈晓渊,张峰. 基于物联网的节水灌溉自控系统研究
[J].电子设计工程,2011,19( 16) : 13-15.
QU Xiaoyuan,ZHANG Feng. Research on automatic control system of water-saving irrigation based on Internet of Things [J]. Electronic design engineering, 2011,19( 16) : 13-15. ( in Chinese)
[7 ] 李聪聪,高立艾,李云亮,等. 基于物联网技术和模糊控制的智能节水灌溉系统[J].节水灌溉,2013( 12) : 88-91.
LI Congcong,GAO Liai,LI Yunliang,et al. Intelligent water-saving irrigation system based on Internet of Things technology and fuzzy control [J]. Water saving irrigation,2013( 12) : 88-91. ( in Chinese)
[8 ] 赵焱.农业节水灌溉远程监控系统的设计与实现[J].计算机测量与控制,2017,25( 4) : 80-83.
ZHAO Yan . Design and implementation of remote moni- toring system for agricultural water-saving irrigation [J]. Computer measurement and control,2017,25 ( 4) : 80 -
83. ( in Chinese)
[9 ] 赵正军,王福平,李瑞,等.基于 STM32 和 ZigBee 的农业大田精准滴灌系统设计[J]. 江苏农业科学,2019, 47( 9) : 243-247.
ZHAO Zhengjun,WANG Fuping,LI Rui,et al.Design of precision trickle irrigation system in agricultural field based on STM32 and ZigBee[J]. Jiangsu agricultural sciences,2019,47( 9) : 243-247. ( in Chinese)
[10] 冯晓琳. 基于物联网技术的注浆监控系统设计[D].石家庄: 石家庄铁道大学,2017.
[11] KIM Y,EVANS R G,IVERSEN W M . Remote sensing and control of an irrigation system using a distributed wireless sensor network[J]. IEEE Transactions on in- strumentation and measurement,2008,57 ( 7) : 1379 - 1387.
[12] DENG R,LU R,LAI C,et al. Optimal workload allo- cation in fog - cloud computing toward balanced delay and power consumption[J]. Internet of things journal IEEE,2016,3( 6) : 1171-1181.
[13] XUE Hui,DENG Jun,YE Bailong,et al. Design and implementation of data exchange platform in E- government based on the distributed network[J]. Journal of natural science of Hunan Normal University,2012,35 ( 6) : 44-47.
[14] 李煦侃. Modbus / TCP 协议的研究与应用[J]. 科技资讯,2019,17( 2) : 121-123,125.
LI Xukan. Research and application of Modbus / TCP protocol [J]. Science and technology information, 2019,17 ( 2) : 121-123,125. ( in Chinese)
( 责任编辑 徐云峰)
![]()