基于B/S架构的LoRa远程温室监测系统*

2021-12-30 05:36姚引娣花静云贺军瑾
传感器与微系统 2021年1期
关键词:重传时隙网关

姚引娣, 王 磊, 花静云, 贺军瑾

(1.西安邮电大学 通信与信息工程学院,陕西 西安 710121;2. 西安工业大学 电子信息工程学院,陕西 西安 710021)

0 引 言

目前,国内农业温室监测领域大多采用WiFi[1],ZigBee[2]技术来实现温室环境参数的监测,由于受到通信距离的限制,这类监测方法主要是通过增加采集节点和中继节点的数量来完成大范围的数据采集,而且系统生命周期短, 成本大,在软件方面,大多采用传统的C/S(client/server)架构[3]进行环境监测数据的显示,这种架构的系统往往安装复杂,灵活性差,已经不能满足现代化农业领域发展的需要。

针对传统温室监测方法中网络覆盖范围小、复杂度高,并且基于C/S架构的温室监测系统安装复杂、维护成本高等问题,提出了一种基于B/S(browses/server)架构[4]的LoRa远程温室监测系统[5,6]。

1 系统总体设计

系统由数据采集模块、网关、云服务器及Web监控终端构成。节点数据采集模块是温室环境数据获取的终端,主要负责温湿度、光照强度、CO2浓度等环境参数的采集,节点与网关之间采用LoRa模块组网进行无线传输,网关负责将采集节点的数据进行汇聚,并通过WiFi模块接入互联网将汇总的节点数据上报至Boa[7]服务器, Boa服务器将网关所上传的消息进行处理,通过CGI[8]+HTML与Web前端进行数据通信将数据实时显示到Web界面上。用户只需要通过浏览器就可以对温室环境参数进行远程监控。

2 系统硬件设计

2.1 采集节点模块设计

数据采集模块的硬件主要由主控电路、无线传输模块、传感器三部分组成,主控芯片采用ST公司的低功耗芯片STM8L151[9],其接口丰富、操作简单、且具有低功耗模式适合于独立供电的采集节点开发;无线部分的射频芯片使用的是SX1278 LoRa芯片,与传统ZigBee技术相比,无论是在通信距离方面还是低功耗方面LoRa都占有很大的优势;温湿度传感器选择DHT11数字信号温湿度传感器,其湿度精度为±5 %RH、测量范围20 %~90 %RH, 温度精度为±2 ℃、测量范围0~50 ℃;光照传感选择ISL29003,通过I2C与主机进行通信输出采集信息,光照强度可从1 lux 调节到100 lux。采用锂电池供电的方式为整个节点进行供电。节点具体硬件框图如图1所示。各个节点和网关组成星型网,通过LoRa模块周期性地将传感器采集的数据和本地时钟上报到网关。

图1 节点硬件框图

2.2 网关模块设计

在数据处理方面网关将各个节点的上报数据进行打包,通过ESP32WiFi模块发送到服务器在网络维护方面,网关会记录每个节点的网络状态,如果节点发生异常,网关会将异常数据进行上报。网关的硬件模块主要由主控芯片、SX1278 LoRa芯片和WiFi模块组成,具体硬件框图如图2所示。

图2 网关硬件框图

主控采用STM32F103C8T6 芯片,STM32系列微控制器是具有高性能、易开发、以及实时数字信号处理的32位闪存微控制器产品,内置ARM Cortex-M3内核,拥有多条 I/O口以及丰富的外设接口,适合于高性能要求的网关开发。WiFi模块选用ESP32-WROVER[10],它集成了传统蓝牙、低功耗蓝牙和WiFi,支持较大范围内的通信连接,也支持通过路由器直连互联网,可以用于低功耗传感器网络。网关和节点之间采用LoRa模块进行无线通信,与ESP32采用串口方式进行通信,ESP32将接收到的信息通过MQTT[11]即时通信协议发送到服务器完成整个网络数据的上报。

2.3 Web服务器设计

采用基于Linux系统[12]的腾讯云服务器,服务器参数为1核2 GB内存1 Mbps带宽,通过编译Boa服务器的源码,在该服务器上部署基于Web的小型Boa服务器,实现Web客户端对节点上报数据的并发访问。

系统的远程监测方式是基于Web浏览器/Web服务器的模型,即B/S 架构。具体方案为Web浏览器采用进程间共享内存的方式通过CGI与Boa服务器进行通信,将网关通过WiFi上传的信息实时显示到Web界面上,实现温室环境的可视化监控。

3 软件设计

系统的软件设计可分为4个部分:组网协议设计、节点软件设计、网关软件设计和Web监控端软件设计。

3.1 组网协议设计

目前在LoRa无线组网中[13,14],时分多址(time division multiple access,TDMA)是最常用的一种接入方法,传统的组网协议大多采用经典的MAC层 TDMA轮询协议,但是随着物联网技术的快速发展,节点数目的快速增加,经典轮询协议的传输时延会越来越大,并且由于缺乏重传机制、数据通信的可靠性也没有办法保证。因此,本设计对文献[15]提出的动态重传和差异服务机制的TDMA 时隙分配协议(TDMA slot assignment protocol with dynamic re-transmission and differential service mechanism,DRDS-TDMA)进行修改,重新设计了时帧结构,利用TDMA技术和重传时隙在保证数据传输稳定性的前提下,针对农业温室监控系统的应用减少了冗余时隙,提高了时隙的利用率。

本设计将一个完整的时帧划分为两个部分:固定时隙和三次重传时隙,固定时隙长度为一次重传时隙长度的5倍,为二次重传时隙长度的25倍,为三次重传时隙长度的125倍,固定时隙用于节点的数据传输,重传时隙用于节点数据通信失败后重新进行数据上报。

各个节点按照入网时网关分配的固定时隙与网关进行通信,节点可以在分配好的时隙内进行无冲突的数据传输,传输完成后进入睡眠状态以降低功耗,如果传输失败则进入重传时隙进行重新上报。使用此协议能够解决传统网络中数据传输冲突和能耗大的问题,适合于远程农业温室监控的应用。

那年,我当班主任,她教物理课。一次,我去听她上“力”这一节课。首先,她让学生预习。孩子们觉得这个内容太熟悉,而且,他们更习惯听老师讲,不好好预习。娟儿偏不讲,孩子就做思考的假象。

3.2 节点软件设计

在整个监控系统中,节点主要负责温室内传感器数据的采集和上报,首先节点初始化各个外设进行开机入网,入网成功后接收网关下发的信息并进行解析,如果是下发的信息为控制信息,节点执行网关所下发的指令;如果为上报信息,节点读取当前所有传感器的信息按照网关分配的时隙进行数据上报,在每次上报完成后按照网关发送的时钟信息同步本地时钟[16],当数据传输失败时,进入重传时隙重新进行数据上报,确保数据的可靠传输。

3.3 网关软件设计

网关主要负责各个节点上报数据的汇总和上报指令信息的下发,首先LoRa网关上电初始化,初始化完成后,开始接收节点发来的无线数据并进行数据解析,当接收的消息为节点的入网信息时,网关根据当前的网络状况为节点分配上报时隙,并记录节点信息,以广播的形式将该节点的入网信息下发给各节点,入网完成后节点根据网关分配的时隙周期性的进行数据上报。当网关接收到节点上报的环境信息后,会进行数据分析如果环境参数有变化,网关会立刻通过WiFi模块将数据上传到Web服务器,Web服务器接收到数据后,实时地推送给用户访问平台,当用户从Web端触发控制指令后,网关会根据下发指令将控制信息发送给对应的节点,完成节点各个外接设备的控制。

3.4 Web监控端设计

监控端采用适合于嵌入式开发的轻量级服务器Boa来进行Web端的设计,Boa服务器是一个非常小巧的服务器,执行代码大约60 KB左右,是一个运行于Unix或Linux下的适合于嵌入式系统的单任务HTTP服务器,源代码开关放、性能高,且支持CGI。

在监测系统中Web客户端和服务器之间采用HTTP协议进行通信,Web 服务器通过CGI 接口获取Web客户端提交的信息,转交给服务端的CGI 程序进行处理,将处理后的结果返回给Web客户端实现可视化的远程监控。当服务器端收到采集节点通过WiFi上传的环境信息后,先对上传的信息进行处理,再通过进程间通信共享内存的方式将处理的数据发送给Boa服务器,Boa服务器将接收到的信息通过CGI接口显示到Web界面上。

4 系统测试

为验证远程温室监测系统的实际效果,基于整个系统对本校智慧农业温室实验室进行了实际测试,测试环境为:LoRa数据采集节点均匀部署在温室大棚内,采集大棚内的环境数据信息,LoRa网关架设温室大棚外,分别测试了系统的传输性能和远程监测功能。

4.1 传输性能测试

在传输性能方面,通过移动温室外部署的LoRa网关来改变测试距离,在不同传输距离条件下测试LoR采集节点与LoRa网关间无线传输的丢包率。其中每包数据的大小为9个字节,采用CRC16方式进行校验, 测试距离选为0~1.5 km,射频模块的发射功率为13 dBm,天线增益为3 db,传输速率为1.3 kBPS,每个测试点连续收发1 000个数据包,对每个点的数包据进行对比分析后,得系统传输距离和丢包率的关系如图3所示。

图3 传输距离和丢包率

从图3可以看出,在1 km范围以内,整个网络的丢包率在10 %以下,400 m以内的丢包率为0 %,相比于传统的ZigBee和WiFi组网方式,本系统能够实现高可靠远距离的组网通信。

4.2 远程监测平台功能测试

基于B/S架构的远程监测平台,主要负责对各个节点采集的环境信息进行监控和控制,实时监控温湿度、光照强度、节点电量等参数,并对节点附近的照明灯、风扇、报警器等设备进行控制。

4.2.1 监测功能测试

在监测功能方面,用户可以通过电脑Web端或者手机Web实时查看温室内的环境数据信息,并在系统设置中设置各个传感器的阈值,如果当采集到的指定数据超过了设定的阈值,就会触发报警机制提醒用户。功能如图4所示。

图4 Web监控终端

经测试,从图4中可以看出通过Web访问本文购买的域名,能够实现对云端服务器的实时访问,从而实时监控温室内的环境温度、环境湿度、环境光照、节点电量以及其它控制信息,并按照设置的阈值信息,判断当前温室环境的状态。

4.2.2 控制功能测试

在控制方面,用户可以通过Web访问服务器域名,通过点击页面中的风扇开关、报警器报警开关、灯光开关等按钮,把数据发送至云平台服务器,服务器通过网络将数据转发至控制节点,实现对控制设备的实时控制。经测试,用户通过鼠标点击选择灯管开关、报警器开关、风扇等开关,选择完成进行提交后,可以实现对节点控制设备进行实时操控,从而远程调整温室内的环境参数。

5 结束语

测试结果表明,与传统的ZigBee+C/S架构方案相比,引入B/S 架构的LoRa自组网温室监测方式,抗干扰性更好、灵活性更强、网络复杂度更低、更适合于大范围农业监测的场景,在农业物联网领域有着良好的应用前景。

猜你喜欢
重传时隙网关
基于时分多址的网络时隙资源分配研究
复用段单节点失效造成业务时隙错连处理
面向异构网络的多路径数据重传研究∗
一种高速通信系统动态时隙分配设计
时隙宽度约束下网络零售配送时隙定价研究
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
数据链路层的选择重传协议的优化改进
一种实时高效的伺服控制网关设计
基于Zigbee与TCP的物联网网关设计