基于LoRa的温室远程灌溉系统研究
来源:用户上传
作者:
摘要 针对西北地区农业条件差、水资源匮乏等问题,研究和开发了一种温室远程灌溉系统。该系统结合传感器技术、LoRa通讯技术、云平台应用技术、数据库应用技术以及ASP.NET应用程序开发技术,从上到下搭建一整套远程灌溉系统。该系统通过数据采集节点对温室内环境参数进行及时监测,并将数据上传,电磁阀控制节点接收远程用户指令执行灌溉任务,现场控制器节点则连接子节点和云服务平台,对数据和指令进行解析、中转任务,结合数据库技术和ASP.NET应用程序开发技术,开发B/S结构WEB应用程序,为用户进行远程监控提供平台。
关键词 远程灌溉,LoRa,云平臺,数据库,ASP.NET
中图分类号 S126文献标识码 A文章编号 0517-6611(2020)06-0194-04
Abstract Aiming at the problems of poor agricultural conditions and lack of water resources in Northwest China, the greenhouse remote irrigation system was studied and developed. The system combined with sensor technology, LoRa communication technology, cloud platform application technology, database application technology and ASP.NET application development technology to build a set of remote irrigation system from top to bottom. The system monitored and uploaded the environmental parameters of greenhouse in time through data acquisition nodes,the solenoid valve control node received instructions from remote users to perform irrigation tasks,the field controller node connected subnodes and cloud service platform to parse and transfer data and instructions,combined with database technology and ASP.NET application development technology, the author developed WEB applications based on B/S structure , which provided for a platform for remote monitoring of users .
Key words Longdistance irrigation,LoRa,Cloud platform,Database,ASP.NET
近年来,随着我国农业的发展,温室大棚种植面积不断扩大,尤其是在我国西部和北部地区。温室大棚是根据农作物的生长发育需求,通过人工调节改变局部气象环境,为农作物的生长发育提供适宜的环境条件,在一定程度上摆脱了对自然因素依赖的新型农业[1]。温室大棚的农作方式打破了传统农业对“天气”的巨大依赖,并且随着近年来科技的不断发展,物联网技术和云平台技术在各行各业的广泛运用,也刺激了农业向远程化、信息化和智能化的方向发展。由于温室大棚相对封闭的环境,无法从自然环境中直接吸收降雨,所以只能通过人工的方式主动提供作物所需水分[2]。然而,农户通常采用“观察+经验”的方式进行灌溉,这种费时、费力的灌溉方式无法及时、准确地为作物提供水分,因此无法为农作物的生长提供最佳湿度环境,同时也会对水资源造成浪费。因此,
针对西北地区农业条件差、水资源匮乏等问题,笔者研发了一种温室远程灌溉系统。该系统结合传感器技术、LoRa通讯技术及时获取土壤温湿度参数以及温室其他环境参数,实现远程实时监测,根据预先设定作物对湿度的需求阈值来进行自动灌溉任务,同时依托云服务平台进行数据的集中管理和分析,并开发操作简单、使用便捷的远程监控应用程序,使得农业灌溉更加及时精准,并可使农户远程操作更加省时、省力,且能减少水资源的浪费。
1 LoRa技术简介
该系统主要依赖LoRa无线通讯技术进行温室内的数据采集通讯和灌溉指令通信。LoRa是LPWAN(low power wide area network)技术的一种,是美国Semtech公司采用和推广的一种基于扩频技术的超远距离无线传输方案[3],其最大特点是传输距离远、工作功耗低、组网节点多。
相较于ZigBee、WiFi等无线通讯技术,LoRa兼备超远距离传输和低功耗的显著特性,其融合了扩频调制和前向纠错编码技术(forward error correction,FEC),扩大了数据传输距离,提高了数据传输的抗干扰性[4]。LoRa技术在无遮挡情况下最远距离可达十几公里,在市区范围内也可达2~3 km,超低功耗待机可灵活调整功率等级,适配传输中对距离和速率的要求,支持多种休眠和待机模式,电池续航可达10年。同时,与NB-IoT技术相比,LoRa技术无需依赖现有的数据网络基站,可以自由组网,节点容量可达数万且支持点到点通讯、串口数据双向通讯,更加适用于蜂窝数据网络覆盖不及的大面积户外场景。 2 系统结构设计
该系统主要结构分为数据采集节点、阀门控制节点、现场控制器、云平台服务器4个部分(图1)。采集节点通过安装在温室内部的温湿度传感器(空气、土壤)等设备监测温室的环境参数,再通过MCU和LoRa模块将数据通过无线的方式传输到现场控制器。阀门控制节点通过MCU和LoRa模块接收和处理网关控制器下发的控制指令,控制电磁阀动作,从而对温室内的作物进行灌溉,同时控制节点还可以监测各个电磁阀的状态。现场控制器起到网关的作用,即负责数据的集中处理与转发,一方面通过LoRa模块与采集节点和控制节点进行数据交互,另一方面则通过GPRS模块以TCP/IP的方式與云平台服务器进行通讯。云平台服务器通过数据库技术对温室信息进行集中管控,同时在云服务平台开发用户应用软件,为用户提供温室远程监控服务。用户主要通过电脑和手机的方式查询温室内的环境参数及设备运行情况,根据温室内的作物需求来制定灌溉条件,同时支持手自动2种灌溉模式进行温室灌溉。
3 灌溉系统的硬件和软件设计
3.1 系统硬件设计
3.1.1 数据采集节点。数据采集节点即负责采集温室的环境参数并将其通过无线的方式上行传输至网关,其硬件结构图如图2所示。
数据采集节点选用ST公司生产的STM32L151x系列微处理器为控制核心,该芯片基于ARM的超低功耗32位MCU cortex-M3架构,集成128 kB闪存(Flash)以及16 kB 静态随机存取存储器(SRAM)[5],多种工作模式,待机模式下功耗低至0.3 μA,且具有UART、SPI、I2C、USB以及AD模拟数字转换器等丰富的外设接口能够很好地满足节点设计需求。LoRa通信模块选用sx1278芯片的无线模块,sx1278芯片是由Semtech公司生产的低功耗半双工远距离发射器,集成LoRa远程调制解调器,工作频段410~441 MHz,最大发射功率20 dBm,接收灵敏度-148 dBm,带宽7.8~500.0 kHz,扩频因子7~12,有效传输速率0.018~37.500 kbps,能够有效实现远距离数据传输。
数据采集节点主要通过采集土壤温湿度数据来进行及时的自动灌溉,同时也检测温室内的其他环境参数(空气温湿度、光照强度、CO2浓度)供用户查看。土壤温湿度传感器选用sys-TDR-5,其水分测量范围0~100%(m3/m3),测量精度±2%,温度测量范围-30~70 ℃,测量精度±0.2 ℃,测量区域为以中央探针为中心的直径7 cm、高7 cm的圆柱体,工作电流40~80 mA,工作电压5 V/12 V DC,输出信号4~20 mA标准电流环,具有密封性好,不易腐蚀,稳定性强,响应速度快,传输距离远测量精度高等显著优点[6]。空气传感器选用Sensirion公司推出的SHT11,其温度测量范围为-40~123 ℃,测量精度±0.4 ℃,相对湿度测量范围为0~100%,测量精度±3%,采用CMOsensTM技术,内部集成信号放大器、数模转换器、校准数据存储器、标准I2C总线等电路,能够长期稳定运行且反应速度快、功耗低、精准度高[7]。CO2浓度传感器采用BMG-CO2-NDIR传感器,检测量程可在0~2 000、0~5 000、0~10 000 ppm间选择,检测分辨率可达±10 ppm,4~20 mA模拟信号输出,功耗低,使用寿命可达10年以上。光照强度传感器采用TAOS公司推出的TSL2561,它是一款宽量程、高速率、低功耗且能自主编写的数字转换芯片[8]。
3.1.2 阀门控制节点。阀门控制节点接收现场控制器下发的指令,驱动电磁阀动作实施灌溉,其硬件结构图如图3所示。阀门控制节点仍选择STM32L151x系列微处理器为控制核心,搭配sx1278的无线LoRa模块,实现电磁阀的无线控制通信。信号输出模块通过DIO口控制继电器的通断,从而控制电磁阀的通断,进行灌溉任务。
3.1.3 现场控制器。现场控制器主要由MCU、LoRa模块、GPRS模块及其触摸屏组成,其结构图如图4所示。现场控制器仍选择STM32L151x系列微处理器为控制核心。LoRa模块则选择sx1301芯片,作为现场控制器要求能够成百甚至上千个节点进行通讯,相较于sx1278芯片,sx1301拥有8通道,每个通道可以接收6个正交LoRa信号,且采用速率自适应(adaptive data rate,ADR)技术能够实现更大的数据吞吐量。GPRS模块采用的是SIMCOM公司的SIM808,它是一款高性能工业级的GPS/GSM/GPRS三合—模块,内嵌TCP/IP协议,工作频率有850、900、1 800、1 900 MHz 4种,工作电压为4 V[9]。LCD触摸显示屏则能为用户提供良好的人机交互界面来进行温室现场操作。
3.2 系统软件设计
3.2.1 数据采集节点软件设计。数据采集节点通过温室内传感器设备对环境参数进行数据监测、采集,采用主动上报和执行查询指令上报2种模式相结合的方式进行数据采集。其工作流程图如图5所示,节点第一次运行时对节点进行初始化,初始化完成后LoRa模块进行网络搜索,并加入网络,若LoRa模块组网失败则进行报警提示。此后进入正常系统循环,传感器设备定时对数据进行采集并定时将数据通过LoRa无线通讯模块上报给现场控制器,上报完成后设备进行低功耗运行模式,等待下一次数据采集或接收现场控制器下发的查询指令进行数据采集。
3.2.2 阀门控制节点软件设计。电磁阀控制节点即接收现场控制器下发的控制指令,进行灌溉任务。其工作流程图如图6所示,节点在初次上电运行时,进行系统初始化,初始化化完成后LoRa模块进行网络搜索,并加入网络,若LoRa模块组网失败则进行报警提示。此后电磁阀控制节点进入循环工作状态,当接受到现场控制器下发的控制指令时,根据通信协议解析指令执行相应操作,进行对电磁阀进行通断,同时将电磁阀更新的状态上传给现场控制器。 3.2.3 现场控制器软件设计。现场控制器是下位系统的控制中枢,既通过LoRa模块和子节点进行数据交互,也通过GPRS模块与服务器进行数据交互,并在其中设定灌溉阈值(可远程修改)进行自动灌溉任务。其工作流程如图7所示,设备上电后进行系统初始化,创建LoRa网络,完成之后进入循环工作模式,系统监听服务器下发的指令和子节点上传的数据。服务器下发指令时,系统GPRS模块首先进行指令接收,指令解析后下发相应的节点执行数据采集任务或电磁阀控制,子节点主动上传采集数据时,LoRa模块接收数据并解析,再上传至服务器,对数据进行集中存储与管理。
4 云平台与远程监控软件
依托于云服务平台,开发TCP/IP协议端口与现场控制器进行数据传输,并将数据存入云平台数据库进行合理化管理和使用,同时在云平台上进行B/S结构的用户应用程序开发并发布,供用户进行温室的远程灌溉和监控。
4.1 云平台
云平台是对用于提供云服务的平台的统称,其发展与云计算密切相关。云平台主要提供3种服务模式,分别为基础设施即服务(IaaS)、平台即服务(PaaS)、应用即服务(SaaS)[10],该系统在“阿里云”提供的PaaS的基础上进行数据管理和应用软件的开发,相较于自己搭建的服务平台不仅需要考虑硬件设备,而且要考虑系统维护和人员管理的问题,租用“阿里云”可以根据自己需要进行搭配选择,更加方便、快捷。该系统云平台结构如图8所示。
4.2 数据库设计
数据库管理是整个系统实现应用的重要核心。数据库的合理设计不仅能保障信息系统的稳定性,而且可以大大提高信息系统的工作效率[11]。
根据温室远程监控系统的需求分析,数据库表单主要有温室环境信息表、设备控制记录表、故障信息表、人员信息管理表、控制指令表等。数据库表随着系统的运行和用户的操作,会及时更新和记录,是整个系统的信息化管理和远程监控的重要核心与基础。
4.3 远程监控软件的开发
B/S结构的应用程序开发基于ASP.NET三层架构技术,分为UI层(UIL)、业务逻辑层(BLL)和数据访问层(DAL)。其结构如图9所示,UI层(UIL)主要采用“HTML+CSS+JavaScript”方式构建前端交互界面,业务逻辑层(BLL)则连接UI层和数据访问层,利用ADO.NET、AJAX、JQuery等技术实现业务逻辑,数据访问层(DAL)则负责对数据进行增、删、改、查,为业务逻辑层提供数据服务。
5 系统测试
系统的测试主要是对通信进行测试,即LoRa通讯和GPRS通信,最后再对B/S结构的应用程序进行简单的数据操作性测试。
5.1 LoRa通信测试
LoRa通信的良好是温室信息采集和灌溉的重要保障,同时也为考虑节点分布距离,对LoRa模块进行通讯距离测试和丢包率测试。将2个节点由近到远每间隔500 m进行定向传输测试,设置射频中心频率433 MHz,带宽为125 kHz,串口波特率9 600 b/s、发射功率20 dBm,测试结果如表1所示。
5.2 GPRS通讯测试
为保障温室硬件设备和云服务器的数据交互,测试GPRS与云服务器的连接稳定性。在云平台服务器上开放端口号和IP白名单,GPRS模块使用AT指令进行连接,并定时发送数据,持续测试6 h,测试结果稳定未掉线。
5.3 云平台应用程序测试
应用程序测试主要对应用逻辑层进行测试,测试数据的交互是否良好。数据库采用SQL Server数据库,应用ADO.NET技术对数据库进行操作,测试结果良好。
6 结语
该系统结合LoRa无线通讯技术、传感器技术、云应用技术以及Web开发技术,实现温室的远程监测与灌溉,从下位节点到服务器应用对系统进行详细介绍。
对系统进行综合测试,系统运行情况良好,造价低廉、经济实用,硬件搭建容易、快捷,可在现有温室大棚基础上安装,也可运用于大田灌溉,远程监控软件使用方便,有网即可使用,适用范围广,有利于我国传统农业走向现代化的发展。
参考文献
[1] 王瑗,盛连喜,李科,等.中国水资源现状分析与可持续发展对策研究[J].水资源与水工程学报,2008,19(3):10-14.
[2] 杨祥龙,李琦,王华,等.一种基于无线嵌入式技术的溫室滴灌现场监控系统:CN201020194888.4[P].2010-12-22.
[3] 王灿,王中华,王冬雪,等.基于LoRa的智能灌溉系统设计[J].计算机测量与控制,2018,26(8):217-221.
[4] 张雪花,张武,杨旭,等.农业温室环境控制方法研究综述[J].控制工程,2017,24(1):8-15.
[5] 王筝,胡静,宋铁成,等.基于LoRa的农田信息采集系统设计与实现[J].信息化研究,2018,44(3):53-57.
[6] 张瀚中,曹江涛,邵鹏飞,等.基于WSNs的温室大棚智能灌溉控制系统设计[J].控制工程,2019,26(1):108-113.
[7] 魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2002.
[8] 周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2008.
[9] 刘军.例说STM32[M].北京:北京航空航天大学出版社,2011.
[10] 冯培存,魏正英,张育斌,等.基于云平台的智能精量水肥灌溉控制系统设计[J].中国农村水利水电,2018(2):20-22,27.
[11] 王海燕.C#.NET下三层架构数据库应用系统开发[J].计算机技术与发展,2012,22(6):78-81.
转载注明来源:https://www.xzbu.com/1/view-15161078.htm