基于物联网的分布式水质在线监控系统设计*

2022-07-09 07:53
传感技术学报 2022年4期
关键词:关节点功耗水质

唐 菲

(扬州工业职业技术学院,江苏 扬州 225127)

水是人类赖以生存和发展的珍贵资源,然而随着人口剧增和社会经济的快速发展,水资源遭受的污染也越来越严重,特别是一些突发的污染事件(如常见于报端的化工厂爆炸事件、屡禁不止的无良企业非法排污等)对人民群众的用水安全构成巨大的威胁。 因此有必要建立一套水质监控系统,能在线监控水质状况,当出现水质异常时能迅速发出预警,供有关管理部门及时作出决策。

传统的水质监测系统普遍采取二级网络拓扑的方式,即水质终端节点通过GPRS、3G、4G 等网络DTU 直接传输至监控中心,实现水质参数的在线监控。 石野、梁斯勇等人将GPRS DTU 用于水质监控[1-2],路荣坤、钱平等人利用4G DTU 设计水质监测系统[3-4],实现了远程水质监控的目标。 然而DTU 的工作功耗较大,采用电池供电时最多仅能维持数周时间就需更换电池,这极大地增加了系统的维护成本,如果配备太阳能供电装置,又会大幅增加系统安装成本。 这种不足在仅有少数几个水质监测点的应用场合表现得尚不明显,但是当需要设置较多监测点时,这种方式造成的人力物力成本压力极为可观。

近年来随着物联网的兴起,国内外越来越多的物联网技术被用于水质监控。 国内孙卓、高伟、乔欣、葛秋等人采用ZigBee 技术的水质监测系统[5-8],国外Karimunnisa、Teja Reddy 等人基于ZigBee 和GPRS 技术的水质监控系统[9-10],均取得了一定的成效。 然而ZigBee 技术主要用于短距离无线通信,其实际传输距离仅为百米左右,在水质监控的应用场合,这种通信方式受到了很大的限制。

基于上述研究工作,本文提出了一种基于物联网技术的分布式水质在线监控系统,可在线监控各种水质参数,并对超标的水质参数发出预警。 该系统将LoRa 扩频调制解调技术与基于蜂窝网络的NB-IoT 有机结合,解决了传统无线通信网络无法同时兼顾距离、抗干扰和功耗的问题,实现了超远距离、超低功耗无线通信。

1 系统方案分析与设计

1.1 物联网技术分析

随着物联网的不断发展,物联网无线接入技术种类也越来越多,包括ZigBee、WiFi、蓝牙、LoRa、SigFox、eMTC、NB-IoT 等。 在国内数据采集监控领域中,尤其以ZigBee、LoRa、NB-IoT 的使用最为广泛。 然而ZigBee 由于通信距离短,本文主要关注LoRa、NB-IoT。

NB-IoT 是一种专为物联网设计的窄带射频技术,具有传输距离长、支持海量连接、覆盖能力强、低功耗、低成本等优势。 NB-IoT 网络的覆盖由运营商提供,支持设备直接接入广域网中。 但是运营商的覆盖网络不可避免会存在覆盖盲点,特别是有些偏远的水域更容易形成覆盖死角,不利于设置监测点,而且NB-IoT 采用授权频段,需要向运营商支付较高资费。

LoRa 是由Semtech 公司开发的一种Sub-GHz线性调频扩频的调制技术,典型特点是距离远、功耗低,速率相对较低。 LoRa 工作在1 GHz 以下的非授权频段,在应用时不需要额外付费,而且可以自行组建网络,在蜂窝网络覆盖不到地方发挥着至关重要的作用。

综上所述,LoRa 模块在处理干扰、网络重迭、可伸缩性等方面具有独特的特性,但不能提供像蜂窝协议一样的服务质量。 NB-IoT 出于对服务质量的考虑,却无法提供类似LoRa 一样的电池寿命。

1.2 系统架构设计

在水质监测系统中,一般监测点都比较多,属于高密度网络,如果采用中央管理模式的二级网络拓扑方案,容易造成服务器拥堵,导致轮询周期加长,数据难以得到及时传输。 有鉴于此,本系统采用分布式组网方式,通过NB-IoT 技术和LoRa 技术的有机结合,将系统分成监控中心、网关节点和终端节点三个部分。 其中监控中心由一台联网PC 机和监控软件组成,负责汇总各终端节点的水质参数,并通过简洁明了的界面显示出来,同时对异常水质参数进行预警,以便工作人员及时进行相应处理。 网关节点作为监控中心与终端节点之间的桥梁,负责通过自行组建的LoRa 子网络汇总节点内的所有终端节点数据,并利用NB-IoT 技术将数据传输至监控中心,由市电或太阳能光伏电池供电。 终端节点主要负责采集水温、浊度、氨氮、碱度、电导率等水质指标,并通过LoRa 子网络将数据上传至网关节点,采用电池供电。 系统架构如图1 所示。

图1 系统架构

这种组网方式既可通过LoRa 子网将传感器延伸至各种水质监测点,无须受运营商蜂窝覆盖盲点的制约,又可利用运营商提供的NB-IoT 网络服务高效快捷地将数据接入广域网,并通过公共通信网络传输至网关中心或移动终端应用。

当水质监测点较多时,这种组网方式显现出巨大的优势。 国家环境生态部«地下水环境监测技术规范»规定,地下水饮用水源保护区和补给区面积小于50 km2时,水质监测点不少于7个;再生水农用区面积大于100 km2时,监测点不少于20个[11]。

以100 km2水域为例,若采用传统DTU 方案,需配备10~20个太阳能供电装置,成本较高;若采用ZigBee 组网方式,每隔100 m 就需配备中继器,组网过于庞大而复杂。 而本系统所采用的LoRa 技术支持达到10 km 的有效通信距离,在方圆10 km 的范围内仅配置一个需市电或太阳能供电的网关节点即可管理区域内所有的水质终端节点,这对降低整个系统的安装成本和维护成本具有十分重要的意义。

2 系统硬件设计

针对传统水质监控系统难以同时实现低功耗、远距离通信的问题,本系统采用全新一代LoRa 调制解调器作为通信单元,并设计了高功率收发前端,使通信链路增益提高了8 dB,同时采用具备业界更低静态电流(75 nA)的DC/DC 转换器设计供电系统,达到超低功耗、超远距离通信的设计目标。

2.1 通信链路传输模型

电磁波传输过程中会产生路径损耗,通过对传输路径损耗模型的研究可以预测无线信号的传输距离。 电磁波在自由空间的传播路径损耗模型可由Friis 公式给出:

式中:Pr为接收功率,Pt为发射功率,Gt为发射天线增益,Gr为接收天线增益,λ为波长,d为发射机和接收机之间的空间距离,L为系统损耗系数(L≥1)。 天线增益与其有效截面积Ae有关,可用如下公式表示:

λ与载波频率有关,即:

Friis 自由空间方程式说明了随着发射机至接收机之间距离平方值的增加,接收功率不断下降,其关系为20 dB/10 倍程。 假设路径损耗为PL,从上述路径损耗模型可以得到自由空间路径损耗为:

假设发射天线和接收天线具有相同增益,那么式(2)可简化为:

Friis 自由空间模型仅当d为发射天线远场值时适用,显然,式(5)不包括d=0 的情况。 所以在传输模型中通常采用一个较近距离d0作为接收功率的参考点,当d>d0时,接收机在距离为d处的接收功率Pr(d)与d0处接收功率的Pr(d0)相关,可以表示为:

在无线通信中,实际通信链路的路径损耗可能由很多原因引起,单独使用自由空间传输模型,在很多时候是不准确的。 引起路径损耗的原因主要有自由空间损耗、折射、衍射、散射、绕射等,实际传输损耗比自由空间中的损耗要快得多,实际路径损耗可以表示为:

式中:d0为参考距离,一般取1 m,n为路径损耗指数,Xσ为遮蔽因子,服从对数正太分布,均值为0。地势和环境不同损耗指数也不同[12],如表1 所示。

表1 不同环境下的损耗指数

2.2 终端节点硬件设计

终端节点由EFM8 微控单元、LoRa 通信单元、水质传感器单元和供电单元等组成,利用Silicon Labs公司EFM8 系列单片机强大的低功耗设计能力,通过配置不同的时钟信号来降低CPU 的工作频率、选择性地关闭暂时不使用的外设等方式达到降低整机功耗的目的。 终端节点原理框图如图2 所示。

图2 终端节点原理框图

2.2.1 LoRa 通信单元设计

根据通信链路传输模型,本系统采用LLCC68 作为射频收发芯片。 LLCC68 为Semtech 公司于2019年7 月底推出的全新一代Sub-GHz 无线电收发器,专为实现长电池寿命而设计,借助LoRa 扩频调制解调技术,提供了卓越的输出功率(+22 dBm)和出色的接收灵敏度(-148 dBm),成为远距离、低功耗、高可靠性应用的最佳选择。 在睡眠模式时其静态电流仅为0.2 μA,能够最大限度降低电流消耗[13]。

本系统LoRa 通信单元工作于470 MHz 免申请频段,采用具有6 dBi 增益的全向胶棒天线,由于LLCC68 具有+22 dBm 的输出功率,工作在125 kHz带宽时接收灵敏度为-133 dBm,根据式(7)可得到LLCC68 最大通信距离达到10 km。 在此基础上,本系统设计了高功率收发前端,将LoRa 最大发射功率提高至+30 dBm,使得最大传输距离增加一倍,且可根据实际通信距离调整发射功率以降低功耗。LoRa 通信单元原理图如图3 所示。

图3 LoRa 通信单元原理图

2.2.2 传感器单元设计

针对常规水质五参数应用场合,本系统采用一体化多参数水质传感器进行水质采样。 禹山公司第二代Y4000 系列多参数水质传感器采用多合一结构设计,最多可以同时接6 支数字传感器,如溶解氧、电导率、浊度、pH 值等,采用RS-485 总线接口,支持MODBUS 通信协议,供电电压为+5 V~12 V,供电电流为50 mA。

2.2.3 供电单元设计

在电池供电应用中,电源设计极为重要,如果设计不当,电源电路本身将成为消耗电池电量的主要来源。 终端节点由一节ER34615 锂/亚硫酰氯电池和一节SPC1550/W 电容并联供电,这种组合既有低于1%的年自放电率,又能提供高达2 A 的瞬时大电流。 在放电过程中电池电压一般在4.2 V~2.5 V之间变化,无法直接对微控单元、LoRa 通信单元和传感器单元供电。

传感器单元采用+12 V 供电,需要采用升压电路将电压升至传感器所需电压。 ADI 公司的LT8337 升压芯片,效率高达94%,静态电流低至9 μA[14],通过采用场效应管搭建电源开关电路,在不需要采集参数的期间关闭水质传感器电源以降低功耗。

微控单元和LoRa 收发单元采用+3.3 V 供电,需要采用降压/升压电路输出稳定的所需电压。 TI 公司的TPS63900 是一款具有超低静态电流(75 nA)的高效同步降压/升压转换器,即便在负载电流低至10 μA 时依旧保持超过90%的效率,非常适合与各种一次电池以及二次电池搭配使用。 高输出电流功能支持Sub-GHz、BLE、LoRa、wM-Bus 和NB-IoT 等常用射频标准[15]。 其电路原理图如图4 所示。

图4 电源电路原理图

2.3 网关节点硬件设计

网关节点作为系统的重要节点,起到承上启下的作用,主要由EFM8 微控单元、LoRa 无线通信单元和NB-IoT 无线通信单元三个部分组成,采用市电或太阳能供电方式,如图5 所示。

图5 网关节点原理框图

网关节点的LoRa 无线通信单元采用与终端节点一样的方案,二者的无线通信以同频方式进行。 水质监控的特点是数据吞吐量不大,对通信速率要求不高,但是有些监测处于偏远的江河湖海中,对网络覆盖及传输距离有更高的要求。 GSM、GPRS、4G 等网络DTU 虽然支持高速数据传输,但是功耗较大,NB-IoT 由于其功率谱密度、重传的技术特点,可实现较GSM 系统20 dB 的覆盖增强能力[16],所以本系统采用传输距离更远、运行功耗更低、硬件成本更优的NB-IoT 作为网关。 本系统采用移远BC28 作为NB-IoT 通信模块,其电路原理图如图6 所示。

图6 NB-IoT 网关电路原理图

3 系统软件设计

系统软件由终端节点、网关节点和监控中心三部分软件组成。 由于LoRa 为同频通信,理论上每次通信所有的节点都能收到,如果此时所有的终端节点都进行报文接收和处理,会极大地浪费它们的处理时间和电池电量。 有鉴于此,本系统设计了一种空中唤醒机制,网关节点每次发起通信时,先发起空中唤醒,唤醒地址码相匹配的终端节点然后进行通信,而其他终端节点由于地址码不匹配,不会被唤醒。 这种机制极大地节约了系统中终端节点的处理时间和功耗,增加终端节点的持续工作时间。 为提高系统的抗干扰能力,在编解码中采用前向纠错编码技术,通过在传输码列中加入冗余纠错码,自动纠正传输误码,降低接收信号的误码率,同时通过设计超时重发机制,在发生通信误码时,可以通过该机制确保数据正确传输。

3.1 终端节点软件设计

3.1.1 运行机制设计

本系统终端节点采用双唤醒机制,即定时唤醒机制和空中唤醒机制,只有被唤醒时终端节点才会消耗电源,其余绝大部分时间处于极低功耗的睡眠状态。 其中定时唤醒机制主要用作定时进行水质参数采集,以确保水质参数的连续性。 空中唤醒机制主要用作数据传输,当收到网关节点的唤醒指令,终端节点就会被唤醒并进行数据传输。 终端节点程序流程图如图7 所示。

图7 终端节点程序流程图

3.1.2 节点功耗评估模型

根据上述硬件电路及软件运行机制,可以对终端节点的功耗进行评估。 由于终端节点包含微控制器、水质传感器、通信单元等多个硬件组件,同一个硬件又具有多种运行状态,不同的状态有不同的电流消耗,所以终端节点具有复杂的功率消耗特性,因此有必要建立一个实用有效的模型,对终端节点的能耗进行评估。

假设每种工作状态都有一个稳定的功耗值,那么一种硬件模块就会有多个离散的功耗状态。 我们可以用集合D={d1,d2,…di…dm}表示终端节点所包含的m种硬件,用集合S={s1,s2,……sn}表示每种硬件模块包含的n种工作状态,用集合P={p1,p2,…pi…pn}表示n种工作状态下所对应的n种功率消耗值。如果已知每种硬件模块状态转换的时序,就可计算出某一时刻终端节点的功耗,可以表示为:

式中:Is为终端节点休眠状态下的电流,t为设备累计运行时间,ΔTj为硬件模块j持续工作时间。 由式(8)可知,终端节点在某一时刻的功耗值取决于各硬件模块的状态,为各硬件模块实时状态的功耗之和。

终端节点主要运行状态有:初始化状态、参数采集状态、空中监听状态、接收状态、发射状态、休眠状态。 根据硬件电路及相应的硬件手册可以估算,终端节点在这些状态中消耗的瞬时电流分别为2 mA、52 mA、4.6 mA、4.6 mA、107 mA(发射功率+22 dBm)和3 μA,如图8 所示。

图8 终端节点主要状态运行功耗示意图

由此得到终端节点总耗电量为:

式中:Ei为终端节点初始化所消耗的电量,仅发生在首次上电瞬间时,在总功耗中占比极低,一般可忽略不计;n为节点工作时间,单位为天;Eb为电池总容量,η为电池自身放电率;E1为终端节点每天耗电量,可得到以下公式:

式中:Ec为采集状态消耗电量,tc为该状态工作时间,n为每天进入定时唤醒次数;Ew为监听状态消耗电量,tw为该状态工作时间,k为每天进入监听模式次数;Er、Et分别为接收、发射状态消耗电量,tr、tt分别为该状态工作时间,m为每天进入该状态次数;Es为休眠状态消耗电量,ts为该状态工作时间;η1为电池每天自放电率,终端节点各状态运行时序如表2 所示。

表2 终端节点运行时序表

假设采用19AH 锂亚电池为终端节点供电,年自放电率为1%,DC/DC 电源转换电路的转换效率按90%计,可以计算出节点每天功耗为:

根据节点功耗评估模型,终端节点每天大概消耗电量为16.719 mAH,预计采用19 AH 的锂亚电池供电,可持续工作超过三年。 终端节点功耗分布图如图9 所示。

图9 终端节点功耗分布图

由图中可知,采集模式消耗了大部分功耗,如果降低传感器采集频率,可大幅降低节点的系统功耗,从而延长节点续航时间。

3.2 网关节点软件设计

3.2.1 网关节点LoRa 通信机制设计

本系统LoRa 通信采用主从半双工通信方式,每个终端节点分配一个唯一的地址码,每次通信由网关节点按顺序发起轮询,相应的终端节点进行应答,完成水质参数的传输。

针对可能存在的通信误码的问题,本文设计了一种超时重发机制,网关节点发出通信报文后开始计时,如果超出设定的时间没有收到应答报文,网关节点自动判断为通信超时,然后根据超时重发机制重新发送通信报文。 如果连续五次无应答报文,网关节点则将该终端节点判断为故障节点。 网关节点LoRa 通信机制流程图如图10 所示。

图10 网关节点LoRa 通信机制流程图

3.2.2 网关节点NB-IoT 通信机制设计

BC28 模块由AT 指令控制,本系统网关节点采用CoAP 协议接入到中国电信物联网开放平台(CTWing)或中国移动物联网平台(OneNet),图11为平台端和设备端接入OneNet 过程。

图11 NB-IoT 接入OneNet 流程图

3.3 监控中心软件设计

本系统的监控中心由一台联网PC 机和安装在PC 机上的水质在线监控软件组成。 监控中心与各个网关节点通信,将各个终端节点的水质参数汇总到监控中心,并通过简洁明了的界面显示出来,还可对相关参数设置门限值,当水质参数超过门限值时,监控中心通过声光等方式进行预警,以便工作人员进行相应处理。 水质在线监控软件的开发涉及C#开发语言、网络通信、数据库、人机界面等诸多技术,使用微软公司的Visual Studio 2015 进行开发。 其软件界面如图12 所示。

图12 水质在线监控系统软件界面

本系统数据传输协议完全遵守环保212 数据传输标准[17],能够完成与环保局以及各类终端系统平台的实时水质在线监测数据对接。

4 系统验证

为了验证系统的可行性及可靠性,项目组建立了一个小型水质监控系统,包含一个监控中心、两个网关节点和10个终端节点,终端节点与网关节点原型样机实物分别如图13、14 所示。

图13 终端节点原型样机实物图

图14 网关节点原型样机实物图

将它们按照图1 所示架构进行组网,其中监控中心位于扬州工业职业技术学院传感网应用开发实验室,网关节点及终端节点均安装于高邮湖南岸及东岸。 截取其中2021 年10 月25 日至2021 年11 月24日共一个月的统计数据进行分析,分析的指标为对系统至关重要的通信可靠性及终端节点续航能力。

4.1 NB-IoT 通信试验

NB-IoT 通信试验方法为:在监控中心的水质在线监控系统中嵌入统计程序对通信收发次数进行统计,每次通信均由监控中心发起,网关节点接收到指令后进行应答,监控中心对每一个网关节点的轮询间隔时间为1 min。 如果监控中心超过指定时间还未收到应答报文,则按照超时重发机制进行超时重发。 统计项中总发送次数为包含超时重发次数在内的所有发送次数;总收发成功率为包含一次收发即可完成传输和需要超时重发才能完成传输的成功率。

网关节点采用中国移动的NB-IoT 网络接入广域网,监控中心和两个网关节点之间通信统计如表3所示。

表3 NB-IoT 通信统计表

验证结果表明,NB-IoT 通信丢包率较低,数据传输稳定可靠。

4.2 LoRa 通信试验

LoRa 通信试验方法为:在网关节点中嵌入统计程序对通信收发次数进行统计,并将统计结果存储于网关节点的E2PROM 存储器中。 每次通信均由网关节点发起,终端节点收到指令后进行应答,网关节点对每一个终端节点的轮询间隔时间为1 min。如果网关节点超过指定时间还未收到应答报文,则按照超时重发机制进行超时重发。 统计项中总发送次数为包含超时重发次数在内的所有发送次数;总收发成功率为包含一次收发即可完成传输和需要超时重发才能完成传输的成功率。

电池消耗电量通过得康DT50W-16 型多功能锂电池检测分容设备进行评估,评估方法为:选取5个同型号同批次全新锂亚电池,当电池电压降低至2.5 V时视为电池耗尽,得到每个电池的电量电量,取其平均值作为该批次锂亚电池总容量。 采用该批次锂亚电池的10个终端节点在网运行一个月后,对每个电池剩余电量进行测试,得到终端节点运行一个月所消耗的电池电量。

两个网关节点分别与5个终端节点组成两个LoRa 无线通信子网。 其中网关节点1 天线高度为3 m,所辖终端节点地址码分别为1-1~1-5,依次分布在以网关节点1 为中心的2、4、6、8、10 km 处,均为可视距离;网关节点2 天线高度为3 m,所辖终端节点地址分别为2-1~2-5,依次分布在以网关节点2 为中心的2、4、6、8、10 km 处,均为可视距离。 所有终端节点发射功率均设为+22 dBm。 LoRa 通信统计表如表4 所示。

由表4 可以看到,LoRa 存在微小的通信误码率,而且随着通信距离增加通信误码率也跟着增加,通信距离达到10 km 时误码率最大,达到2.96%,所有节点平均通信误码率为1.79%。 但是通过设计了超时重发机制,完全消除了该问题对整个系统的影响,最终所有参数均能100%可靠地传输至监控中心。 与文献[6]、文献[7]的实验结果相比,本系统实现的传输距离提高了将近两个数量级。

由表4 可知,在采用一节容量为19 AH 的ER34615 锂/亚硫酰氯电池供电的情况下,所有的终端节点电池消耗量最大为 486. 4 mAH/月(16.04 mAH/天),平均月消耗量为478.48 mAH/月(15.95 mAH/天),接近节点功耗评估模型的计算值。据此推断,其在网连续工作时间可望超过3 年。 文献[8]的测试结果表明,其终端设备节点在使用170 mAH 充电电池供电时可连续工作12个小时。 相比之下,本系统终端节点具有更长的持续工作时间,更具有工程实用价值。

表4 LoRa 通信统计表

5 结语

针对当前水质监控系统存在的不足,本文基于物联网技术设计了一种分布式水质在线监控系统,解决了传统水质监控系统无法同时兼顾传输距离、抗干扰和低功耗的问题,实现了超长距离、超低功耗无线传输。 通过试验验证表明,该系统具有成本低廉、易于安装、组网灵活的特点,同时具有较强的网络鲁棒性,具备一定的市场推广潜力。 该系统所选取的方案和设计方法也同样适用于无线抄表、水产养殖、蔬菜大棚、路灯管理等应用场合。

猜你喜欢
关节点功耗水质
基于关节点数据关注RGB视频的双人交互行为识别
基于任务映射的暗硅芯片功耗预算方法
基于人体行为模型的跌倒行为检测方法①
结构化:向儿童思维更深处漫溯
揭开GPU功耗的面纱
水质的年轮——读《时光的年轮》
环保之功,从主板做起
嵌入式系统功耗的动态管理
观水色,辨水质
观水色,辨水质