APP下载

基于LoraWan的农田气象监测系统设计

2022-02-23熊永昌,李树平,徐龙跃,冯骏

熊永昌,李树平,徐龙跃,冯骏

摘要:设计一种基于LoraWan的农田气象监测系统.系統可以大范围实现农田气象监测,其设备端由嵌入式微处理器与SX1278实现LoraWan网络搭建,网关端采用HT-M00双通道,云端使用LoraWan腾讯云解决方案,进一步降低了功耗和低成本,具有一定的理论与实践意义.

关键词:LoraWan技术;嵌入式微处理器;腾讯云;RT-Thread

[中图分类号]TP23[文献标志码]A

Research on Farmland Meteorological Monitoring

System Based on LoraWan

XIONG  Yongchang,LI Shuping,XU Longyue,FENG Jun

(School of Physics and Electronic Engineering,Mudanjiang Normal University,Mudanjiang 157000,China)

Abstract:A farmland weather monitoring system based on LoraWan is proposed.The system can implement a large-scale farmland weather monitoring system.The device end is built by an embedded microprocessor and SX1278 to achieve a LoraWan network.The gateway end uses HT-M00 dual-channel,and the cloud uses LoraWan Tencent cloud solutions to further reduce power consumption and low cost.Has certain theoretical and practical significance.

Key words:LoraWan technology;embedded microprocessor;Tencent Cloud;RT-Thread

物联网系统被应用于各种领域.LoraWan方案作为一种简单、可实现远距离、低功耗的无线电通信手段应用于工业、科学、医学等行业.[1]LoraWan无线通信协议是相当简单的星型或星型对星型拓扑结构,基于星形拓扑的LoraWan网络避免了多跳带来的数据冗余和能耗损失,星型拓扑结构的网关将数据上报给服务器,子节点将数据上报给多个网关,在网络服务器上执行冗余监测和安全检查及信息调度.[2]LoraWan系统的一般网络拓扑结构分为四个部分,第一部分是终端设备节点部分,一般在物联网系统中终端设备节点安装有各类传感器等数据收集装置,设备端运行RTC及LoraWan协议栈进行LoraWan通信.第二部分为LoraWan网关设备,工业领域使用八通道接收一通道下发的网关设备,最大可接纳终端设备可达万以上.网关设备不仅需要运行LoraWan协议栈,还要运行TCP/IP协议栈、MQTT和HTTP协议.第三部分为云端部分或服务器部分,主要负责接收来自LoraWan网关的数据,同时下发数据.开发者可以在云平台上注册网关设备与终端设备进行数据接收与转发.第四部分为用户端,用户端不依赖具体平台,只要访问服务器即可获取来自各个终端的数据.本文提出一种基于LoraWan技术的大范围农田气象监测系统.系统设备端由嵌入式微处理器与SX1278实现LoraWan网络搭建,系统搭载可裁剪风向风速传感器、雨量计、温湿度计、土壤湿度计等气象传感器,网关端采用HT-M00双通道低成本网关解决方案,云端使用LoraWan腾讯云解决方案.[3]

1系统的硬件结构

农田气象监测系统的系统结构可划分为四个部分:第一部分为Lora的终端设备,负责采集环境的监测数据,进行数据的简单处理与存储,上报给LoraWan网关.第二部分为LoraWan网关,负责接收来自终端数据的上行信息,经过处理后上报给服务器.第三部分为云端部分或服务器部分,主要负责接收来自LoraWan网关的数据,同时下发数据.第四个部分为用户端,通过访问服务器获得终端的数据并进行下一步处理.

1.1终端设备

终端设备包含控制器、传感器和射频设备.设备采用STM32L4微处理器,使用MAX485芯片,集成MODBUS等工业传感器通信协议总线接口、信息采集传感器接口,通过SX1278扩频通信芯片实现Lora数据传输.传感器有风速计、风向计、雨量计、温度计、湿度计、光强计等多种可裁剪传感器.SMT32L4微控制器拥有出色的低功耗解决方案,提供动态电压调节平衡功耗和处理需求,拥有低功耗的LP UART,LP TIMER等众多外设和一些高级低功耗模拟外设.SX1278是一个半双工的低中频无线数据收发器,当SX1278接收射频信号时,信号经过低噪声放大器LNA将信号转变为差分信号,中频输出正相交信号,模拟转数字进行下一步处理.SX1278包含两个时钟基准,一个为RC振荡器,另一个为32 mHz晶振时钟,通过标准的SPI接口与微处理器进行数据通信.MX485是一种标准RS-485总线协议芯片,是一种半双工、低功耗的数据收发器,通常采用+5 V单电源工作,额定电流约300微安,使用RO和IO端进行数据发送和接收,RE和DE端分别控制接收使能和发送使能.当RE为逻辑电平低时,RS-485设备工作在数据接收状态;当DE为逻辑电平高时,RS-485设备工作在数据发送状态,匹配100欧姆的阻抗.

光码盘通过光电转化把位移量转换为数字量,用以测定设备的转速.风向计八方位的干簧管测定八种风向,当风向计转向不同的方向时,导通不同的干簧管测定风向.采用翻斗式雨量计,通过双触点通断信号输出,分辨率为2 mm.温度计与湿度计采用AHT10芯片.AHT10是一个高精度的温湿度传感器,其温度精度为0.3摄氏度,湿度精度为2%RH,AHT10通过标准的IIC接口与微处理器进行通信.光强计采用AP3216C芯片,通过标准的IIC接口与微处理器进行数据通信.

1.2接收网关

接收网关由ESP32驅动两片SX1278组成,双通道接收,利用WiFi上报数据.网关部分是一个非标准的LoraWan网关,本系统采用双通道进行数据传输.网关最大可支持30个Lora终端设备同时进行数据传输.ESP32是一款低成本Tensilica LX6双核32位微处理器,主频为80~240 mHz,可调节,集成传统的蓝牙功能、低功耗蓝牙和WiFi,拥有520KB SRAM,最大支持8 MB片外SPI SRAM,支持最大16 MB的片外SPI FLASH,拥有丰富外设接口,广泛应用于各种物联网领域.

2通信协议及软件结构

2.1通信协议

Lora终端设备主要采用IIC和SPI协议.IIC协议是一种异步、低速率、串行、半双工通信协议.有数据线SDA、时钟线SCL及电源、地线组成.IIC总线在传输数据的过程中共有三种类型信号:开始信号、结束信号和应答信号.在实际使用过程中,起始信号是必需的.当IIC总线的数据线SDA和时钟线SCL两条信号线同时处于高电平时,规定为总线空闲状态,此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高.当时钟线SCL为高期间,数据线SDA由高到低跳变规定为IIC起始信号,起始信号是一种电平跳变时序信号.当时钟线SCL为高期间,数据线SDA由低到高的跳变规定为停止信号,是一种电平跳变时序信号.IIC的主机发送器每发送一个字节,就在第九个时钟脉冲期间释放掉数据线,由接收器反馈一个应答信号.当应答信号为逻辑电平低时,则判定有应答,当应答信号为逻辑电平高时,则判定没有应答.当数据在IIC总线上进行传输时,必须保证时钟信号的稳定,时钟信号为高电平时,数据线上的数据必须稳定,只有时钟信号为低电平时,才允许数据线上存在数据的变更.[4]

SPI协议是一个同步、全双工、串行口通信协议.SPI协议拥有SCK,NSS,MOSI,MISO四根线,NSS为片选线,SCK为时钟线,MOSI为主机发送从机接收数据线,MISO为主机接收从机发送数据线.在SPI总线上的主机必须在通信开始的时候配置并规定好生成相应的时钟信号,在每个SPI周期内发生全双工的数据传输.SPI配置时钟极性,时钟极性和相位共同决定读取数据的方式.时钟极性反转是描述当时钟空闲时IDLE为高电平还是低电平,参考数据手册配置.时钟相位决定了在时钟跳变的第几个边沿进行数据的读取,参数为第一个跳变边沿和第二个跳变边沿.根据时钟极性的不同,共有四种不同的搭配方式.SPI具有高速的数据传输速率,灵活的数据传输位,不限于8位,可以是任意字节的传输和简单的硬件结构.SPI的局限在于仅支持一个主设备,无应答信号,引脚多,传输距离短,没有硬件纠错.[5]

2.2系统软件结构

软件可分为两个部分:LoraWan部分和NETWORK部分.设备端使用RT-Thread实时操作系统,LoraWan-EN-STACK协议栈.RT-Thread是一个嵌入式实时多线程操作系统,支持多任务、允许多个任务调度运行.RT-Thread是国产、纯C语言编写、浅显易懂、方便移植的嵌入式实时操作系统.LoraWan-EN-STACK是应用于LoraWan设备终端的LoraWan协议栈,可实现Lora终端设备的Class A与Class C工作模式.

LoraWan网关部分需要运行NETWORK部分,主要有LoraWan协议栈,HTTP,MQTT,NTP等协议.设备端软件见图2.系统通过SPI总线初始化SX1278 Lora芯片,与SX1278建立通信连接,RTC实时时钟为LoraWan协议通信提供毫秒级延时,设备获取传感器数据,RT-Thread通过实时定时调度将获取的传感器数据存入LoraWan协议栈的缓存区,定时启动发送.

微处理器通过编码器获取风速计的数据,采用M法测速,通过测量单位时间内A相输出的脉冲数量来得到速度信息.STM32自带编码盘接口,使用硬件技术即可读取编码盘的转速.在STM32中,编码器接口模式相当于使用了一个带有方向选择的外部时钟,两个输入TI1和TI2为编码器的接口,TI1FP1与TI2FP2是TI1,TI2经过滤波和极性控制的信号,计数器通过读取TI1FP1与TI2FP2的有效变动,根据跳变的顺序,产生计数脉冲和方向脉冲.通过修改TIMx_CR1寄存器的DIR位来修改计数器的计数方向.微处理器通过读取经过三八译码器的干簧管信号来计算风向.八个干簧管分别对应东、西、南、北、东北、西北、东南、西南八个方位.微处理器通过一个干簧管的通断来计算雨量计翻斗的翻动次数计算雨量.微处理器通过IIC协议读取温湿度、光照传感器的数据.图3为网关端软件结构,网关端通过ESP-IDF搭建,上层调用WiFi协议栈、MQTT协议与LoraWan云平台通信.ESP32移植了LoraWan协议栈,通过使用SPI总线与两路SX1278进行通信,实现470~510 mHz两个频点的LoraWan通信.

本文提出了基于LoraWan的农田气象监测系统方案,节点设备端使用国产的实时操作系统,网关端以减少通道的方式降低了整体系统的搭建难度,降低了整体系统功耗和开发成本,具有一定的理论与实践意义.

参考文献

[1]林甄,谢金冶,田硕,等.基于农业物联网的无线通信技术实验研究[J].农机化研究.2022,44(6):188-193.

[2]陈志宏,王兴安.LoRa在电力行业典型应用与问题探讨[J].长江信息通.2021,34(5):87-91.

[3]王鹏,刘志杰,郑欣.LoRa无线网络技术与应用现状研究[J].信息通信技术.2017,11(5):65-70.

[4]周飞,李铮,高万明.嵌入式防疫识别系统设计[J].牡丹江师范学院学报:自然科学版.2021(2):30-33.

[5]陈木生,卢文杰,曾永西,等.防堵塞雨量实时监测系统设计[J].牡丹江师范学院学报:自然科学版,2021,(2):34-36.

编辑:琳莉