徐尚瑜张 燕陈文君董如婵
(金陵科技学院软件工程学院,江苏 南京 211169)
智慧农业是解决未来农业发展的重要途径,农业环境感知是智慧农业分析决策的先决条件。 在国家“双碳”目标背景下,传感器网络正持续向低功耗、轻量化转型。 农业现场条件简陋,环境复杂多变,故要求智慧农业感知层设备在保证准确度和稳定性的同时,还需要具备:价格低、无施工、少维护、小巧可移动且不占土地等特点。
聂鹏程[1]总结了2G/3G/4G、GPRS、ZigBee、蓝牙以及射频、调频等无线通信技术特点,重点介绍了以5G 为代表,包括:LoRa、NB-IoT、UWB 在内的新兴技术在安全可靠、快速数据传输方面的优势。 满足农业生产要求的环境采集终端需要满足两个要求:无线传输和本地电池供电。 针对农业传感采集数据量小、频率低的特性,目前适用主流无线通信技术有: 无线传感器网络 WSN (Wireless Sensor Network)和低功耗广域网络LPWAN(Low Power Wide Area Network)。 ZigBee 是一种典型WSN 多跳Mesh 网络,张伟[2]在果园中裸地、平地、山地场景下部署ZigBee 网络,测量拟合信号强度RSSI、丢包率与收发通信距离、天线高度的关系,计算信道能耗衰减模型,为农业场景应用ZigBee 技术提供了依据。由于ZigBee 物理调制技术节点间的通信距离限制在百米范围,ZigBee 通过协调器、路由器和终端这三个角色组成“多跳”路由网络,扩展网络覆盖范围,应用QoS 机制保障网络消息的可达性。 通常消息传递需要经过多个物理节点转发,网络管理、路由寻址增加了系统维护工作量,同时也增加了网络的整体能耗。
LPWAN 是近年快速发展应用的新型通信技术,专注于物联网低功耗远距离传输领域,以Sigfox、LoRa 和NB-IoT 星形组网为典型代表,Kais Mekki[3]对这三种IoT 无线技术的距离、速率、功耗等做了横向比较,并给出了三种技术目前适合的应用场景。 Sigfox 和LoRa 运行在非授权频段(ISM),Sigfox 网络(基站和云服务)由Sigfox 公司管理。LoRa 允许用户可自建网络,单基站接入近万个终端,空旷区域通信距离超过5 km;开源LoRaWan 提供的MAC 层协议可用于LoRa 网络的组织管理,而LoRa 的核心物理层技术由美国升特公司专利所有,用户购买使用升特公司的射频芯片(127X、126X 系列和基站SX1301),LoRa 在成本和功耗都有很大优势;NB-IoT 运行在授权频段由通信运营商管理,是基于3GPP 协议的蜂窝网络在低功耗大规模物联网领域的应用,用户可使用运营商网络可快速集成应用,但目前网络无法全覆盖农村区域。
在农业低功耗传感器网络终端方面,邱曙光[4]针对河道水质传感器功耗高、供电难等问题设计出应用太阳能锂电池供电的LoRa 水质监测节点,节点搭载pH、氧化还原电位和浊度485 型水质传感器,设计节点电源和通信模块的硬件电路,配合变频采集策略,系统性地降低节点功耗,延长电池续航能力。 肖汉光[5]应用主控STM32 与NB-IoT 模块M5310 设计了一款低功耗土壤环境监测终端,通过切换工作、睡眠模式节约功耗,使用CoAP 协议上报数据给华为云平台。
LoRa[6]具有低功耗、远距离、大连接等特点,其在规模化、低成本数据采集领域有优势,尤其适合供电受限的大农业场景。 Liando,J.C[7]进行了大规模LoRa 网络性能研究,提出非视距场景下建筑物对通信距离有较大影响;单基站可接入6 000 个节点,到达消息解包成功率70%以上;研究了SF、TP、BW 等无线参数对功耗的影响,提供了一种计算电池供电时长和估计整体网络容量的研究方法;最终实现了一种在高密部署场景下解决发包冲突的CSMA-CAD数据发送机制。
LoRa 物理层调制技术源于雷达通信使用的线性调制扩频技术(Chirp Spread Spectrum),其将待发送的数据Bit 调制成射频符号Symbol,在LoRa 技术中Chirp 与Symbol 概念等同,在一个符号Symbol 周期内,符号Symbol(或Chirp)载频的频率在带宽Bandwidth 范围内的呈线性变化,当频率增大达到BW 上边界时,将反转到BW 的下边界继续线性增大,直到频率回到起始频率点。 LoRa 将一个Symbol调制成2SF个码片Chip 进行发送,此时一个Symbol编码的数据Bit 的个数称为扩频因子SF;Symbol 载频的起始点的频率偏移代表该Symbol 编码的Bit 组合,即一个Symbol 可表示2SF个取值。 例如,当SF =8 时,一个Symbol 可以编码8 个Bit,即一个Symbol有256 个起始频点可代表28个不同的取值。
LoRa 设计手册[8]给出其物理层重要参数的说明,这些参数的组合决定传输性能,主要参数有:BW带宽、CF 中心载频、SF 扩频因子、TP 发送功率、冗余编码率CR,其中SF 和TP 两个参数对功耗有显著影响[9],需根据传输距离进行优化配置。 SF 扩频因子,根据手册[8]对码片速率(Rc)的定义,Rc 与带宽BW 相同,故Rc 一定;因此SF 每增加1 发送一个Symbol 的时间加倍。 LoRa 扩频因子SF 范围6~12,增大SF 意味着发送单位有效Bit 的时间更长,这样可提高信噪比SNR,扩大信号的传输距离,但同时会增加发送时间TOA(Time on The Air),增大发送功耗。 由此根据通信距离和功耗的关系设计合理的SF 对低功耗有至关重要的作用。 TP(Transmission Power)是数据发送时无线电发射的功率,单位dbm,理论上在4 dbm~20 dbm 之间,但由于不同模组厂家封装的硬件限制,TP 会有所差异。
LoRaWan[10]是LoRa 联盟定义的用于终端、基站和网络服务器互联的协议和消息格式,协议定义Class A,B,C 三种模式。 LoRaWan 协议将用户应用层数据封装在MAC 层之上的APP 层中,MAC 层完成网络管理功能,MAC 层下的物理层应用Aloha 协议完成数据发送,见图6 LoRa 帧格式。 其中Class A 模式的上行消息发送完后,有两个下行窗口Rx1,Rx2 等待下行消息,相比其他两种模式,该模式功耗最低。
用户数据包经过MAC 层、物理层封装后最终调制成Symbol 发送。 一个Symbol 调制成2SF个码片来发送,根据LoRa 用户手册[8],LoRa 发送一个Symbol耗时Tsym 按式(1),一个用户数据包经过封装后的Symbol 个数Npl 按式(3)。
用户数据的总发送时间Ttx按照式(2)计算,其中参数CR 前向纠错编码率(可取值1,2,3,4),PL为用户数据包字节数,SF 扩频因子,CRC 校验码(上行为1,下行是0),IH 隐式头部标识(当使能Header 时为0),DE 低速优化(关闭时为0)。
LoRa 通用农业采集终端AG21 的系统框图如图1 所示,终端由电路转换模块、主控芯片MCU、485 通信模块和LoRa 通信模块组成。 终端外围设备包括:各类环境参数RS485 传感器、LoRa 天线以及为整个系统供电的锂电池。 锂电池通过电源降压模块为MCU、LoRa 射频、485 通信模块和RS485 传感器供电;为节约功耗,RS485 传感器和485 模块按需开启,由于485 传感器本身不具备开关管理功能,通过触发继电器线圈吸合断开来控制传感器与485模块的电源通断。 考虑到电池供电,故低功耗是终端首要解决的问题。
图1 终端AG21 系统框图
①在主控和通信芯片方面,使用易通汇联低功耗XC30 物联网芯片, 该芯片封装了主控STM32L431CBT6 和LoRa SX1268 无线传输模块,两者使用片内SPI 总线直接通信,有效降低线路上功耗损耗。 其MCU 支持低功耗运行、睡眠、停止模式,其中停止模式下电流低至6uA;LoRa 部分支持无线发射功率2dBm~19dBm 范围可调,高接收灵敏度,成功解调的RSSI 可低至-140 dBm。 主控MCU 可集成LoRaWan 协议栈和用户应用程序,应用Open-MCU 方案,用户使用共享MCU 实现业务编程,可节约一个用户业务MCU,从而节约成本降低功耗。
XC30 引脚图如图2 所示,其中B10和B11为UART3 引脚与485 传感器通信;ANT 引脚连接天线,A9、A10引脚为打印和配置串口,VDD 和GND 供电,A13、A14供程序烧录使用;A3引脚为锂电池电压测量数模转换AD 的输入口,使用分压电路测量R14电阻对应的电压值V,并有欧姆定律推出当前锂电池的电压为测量值V 的11 倍。
图2 XC30 引脚功能说明
②在传感器选型方面,低电压有助于降低系统整体功耗,485 传感器选择5 V 供电电压;传感器按需供电,选用磁保持型双稳态继电器HFD2/005-M-L2 控制传感器的电源通断,磁保持继电器无需持续电流来保持继电器的状态,仅用脉冲就可触发开关操作,可避免为保持传感器通电或断电状态,GPIO 持续拉高导致的放电功耗。 其外围电路如图3 所示,1-16 和2-15 是其两个线圈,4-6-8 是5 V传感器开关电路,9-11-13 是485 模块开关电路,这两个线圈(2-15、1-16)分别控制传感器与485 模块的开和关(状态同步,同开,同关)。 以关闭电路的场景(对应图3 左侧电路)举例:MCU 的B14引脚接CTRL_OFF,通过触发一次高电平脉冲,三极管Q1连通,线圈1-16 接通5 V 电源,引起继电器触点4(供电)和触点6(悬空)吸合,导致传感器5 V 供电断开;引起触点13(供电)和触点11(悬空)吸合,导致485 模块3.3 V 供电断开。 同理,MCU 的B13引脚接CTRL_ON,其高电平脉冲触发Q2 导通,将引起触点4 和触点8、触点13 和触点9 吸合,传感器和RS485 电路供电。
图3 磁保持继电器关闭传感器电源电路
③供电方面,为延长终端的持续工作时间,在电源选择上使用12 V 2 000 mAh 锂电池降压后为传感器(降至5V)和XC30、485 模块(降至3.3 V)供电。 DC-DC 降压与LDO 均可实现直流降压功能,根据两者适合的场景,将锂电池12 V 降压到5 V,压差大, 用转换效率高的DC-DC 降压模块MP2315GJ,减少转换损耗;5 V 降至3.3 V 使用LDO稳压器,压差小,输出电压纯净噪声干扰少,利于SX1268 稳定工作。
一次典型的数据采集发送周期:MCU 从停止模式启动,MCU 电平触发继电器线圈吸合为传感器供电,终端按照传感器RS485 查询指令获取到传感器的采集数据,传感器返回485 响应后通过UART 接口发送给MCU,MCU 解析后成功后即可关闭继电器线圈(传感器断电),然后将数据封包发送给LoRa射频,数据包发送完毕后,LoRa 进入休眠模式,MCU进入停止模式,等待下一次采集周期的到来。 图4是终端从上电阶段开始的工作流程图。
图4 AG21 工作流程图
低功耗农业通用采集终端的通用性体现在:统一终端版本(程序一致),且不同终端可接入的485传感器的种类和数量可各不相同。 由于不同485 传感器的指令各不相同,而通用终端程序是无差别的,故将485 传感器指令通过云端下发,由此实现终端版本的统一。 RS485 主从通信方式(终端主,传感器从),其“查询—响应”问询方式如表1、表2。
表1 485 查询指令格式(终端->传感器)
表2 485 响应指令格式(传感器->终端)
终端消息时序图5 所示,入网Join 成功后,发送注册请求Register Request,云端根据终端串号DEVEUI 查找配置库确定终端下接入传感器的485 指令集,并将查询指令(表1)的前六个字节(地址、操作码、寄存器起始和长度) 作为注册成功响应Register Response,返回给终端(后两个字节,CRC 校验码由终端生成),终端保存485 查询指令到存储器中,以便进行周期查询。 周期查询获得485 成功响应后,截取响应指令中(表2)的地址、寄存器长度和对应的数值,按照图6 中应用层的编码格式通过Report Message 消息上报给云端。 上行消息发送完毕后,终端启动两个等待窗口RX1 和RX2 用来接收云端下行的配置信息,下行配置信息包括:应用层的数据上报周期配置,MAC 层的SF、TP 等无线参数配置及无线链路状态测量等。
图5 AG21 LoRa 消息时序图
图6 上报消息LoRa 帧格式含物理层、MAC 层、应用层
终端一次数据上报周期分为:休眠、传感器预热、数据发送和接收四个阶段,其中传感器预热时间由电化学传感器的特性决定,即通电工作至稳定的等待时长。 四阶段时间累加,即终端一次工作时长式(4);终端可持续工作时间按电池总电量与单次耗电量的比值计算[11],式(5)。
休眠和预热时间根据实际情况进行设定,针对土壤墒情终端(土温、含水量、电导率)来说,休眠时间Tsleep设定15 min,传感器预热时间Tpre取45 s;接收时长Trx是RX1 和RX2 两个窗口的时间和,由[10]知两个窗口时长分别是1 s、2 s。 计算数据发送Ttx时长,取LoRa 配置参数PL =14,CR =1,SF =7,BW=125K,IH =0,DE =0,CRC =1;按照式(1)~式(3)计算得:Tsym =1.024 ms,Npl =24 Symbol,Ttx=35.072ms,由式(4),Tcycle=900 +45 +0.035 +3 =948.035 s。
分别计算终端在上述四个阶段的耗电量,根据电能电功公式(忽略电阻作用),E=UIT,电压恒定,电流取平均值。 根据STM32 手册[12],STM32 的停止和低功耗运行状态的电流分别是1.0 μA 和6.72 mA;根据LoRa 射频手册[13],SX1268 休眠、发送(22 dBm)、接收等待状态的电流分别1.2 μA、107 mA、5.3 mA;传感器工作电流使用四位半万用表测得30 mA,由此计算一个周期内各阶段的耗电量,如表3,故终端一次数据上报的耗电量根据式(6),得7.8866 J。
由表3 单次工作耗电量,传感器占85.6%,MCU主控13.5%,LoRa 射频0.9%,根据公式4 计算AG21(由12 V,2 000 mAh 电池供电)的工作时长,考虑到降电源降压模块的微小耗电以及继电器开关瞬间的功耗,总工作时长应略小于120 d。
表3 MCU、射频、传感器功耗计算
2021 年3 月中旬在南京江宁某蓝莓种植果园部署土壤墒情终端AG21 计14 套,果园地势起伏呈小丘陵状,占地110 亩。 基站部署到果园中央位置,天线高度3 m,终端分布在距基站1 km 半径内,基站和终端有遮挡非视距,图7 为实施图。 终端电量在6 月中下旬陆续耗尽,持续工作约100 d,图8 显示其中五个终端的电量(电压)数据。 初始工作时各终端电池电压有0.5 V 差异,电压在10 V 左右急剧下降至不可用。 为了进一步验证传感器功耗对终端工作时长有重要影响,将2 号终端的预热时长缩减为5 s,在整个实验周期其电压仅从12 V 降为11 V,说明提升传感器的响应时间、降低其功耗,可显著提升终端工作时长。
图7 果园15 套AG21 部署图
图8 终端电压随时间变化图
按照文献[6,14-15]的结论,发送功率TP 的选择较SF 对功耗的影响小,故选择合适的SF,减少数据发送Ttx时间,在此基础上增大TP,提高基站接收的RSSI 值。 由于果园基站和各终端的直线距离均在1 km 内,为满足低功耗的要求,设置XC30 支持的最高数据速率(抗干扰能力最弱)SF =7,最大发送功率TP =19 dBm。 整个实验周期内丢包率不超过5%,信号强度RSSI 大于-100 dBm(高于LoRa 的信号接收灵敏度),图9 为基站侧接收终端数据的信号强度(按天平均),其中2 号、4 号、B 终端距离基站由近及远;4 号终端地处洼地,其信号质量逐渐下降。 图10 是4 号终端的原始信号强度分布箱线图,后期RSSI 信号强度有所下降并在较大范围内波动,分析原因有两方面:(1)蓝莓植株长高后,枝叶覆盖了终端,影响信号的收发;(2)随着电池电量减少,终端电压降低于标准值(10 V 以下),导致射频部分不稳。
图9 基站侧接收信号强度趋势图
图10 单个终端信号强度箱线图
终端AG21 应用于丘陵果园的土壤墒情监测,设置扩频因子SF=7,减少数据传输时长,设置LoRa射频发送功率TP =19 dBm,保证基站接收的信号强度;基站侧信号强度RSSI>-100 dBm、信号接收成功率>95%,应用12 V 2 000 mAh 锂电池可持续工作100 d。 由此,AG21 可满足实际农业的要求,实现数据稳定采集。 为延长终端的持续工作时长可通过选择预热时间短、功耗更低的传感器,可安装太阳能光伏板适时为终端充电。
由于目前LoRa 服务器默认的速率自适应算法ADR 只能降低SF 和TP,无法在链路质量变差的情况下提高SF,计划下一步根据前期试验积累的数据,提出基于信号感知的改进速率自适应算法,利用终端信号强度RSSI 和信噪比SNR,来优化SF 和TP的分配策略,并在较大空间范围、多种应用场景下进行验证。