史东华 李然
摘要:为解决水文遥测系统建设中监测要素多、选址难度大、传输距离远和成本高等难题,结合LoRa传输技术的特点和优势,提出了一种以LoRa模块为载体的连通感知节点到中继节点的无线通信传输方式,设计了以STM32-CortexM3微控制芯片为硬件核心和以μC/OS-II实时操作系统为软件核心的系统。该系统的应用可降低建站中布线、选址等难度,且能为水文遥测系统建设提供新的方法和思路。
关键词:水文遥测;数据传输;LoRa技术;SX1268;微控制器
1 研究背景
水文遥测是基于现代信息技术、通信技术形成的一种技术[1-2],主要完成水文要素的感知、存储和通信传输,从而实现水文信息监测的自动化。其中,数据通信传输的畅通和稳定,直接影响到水文遥测系统的实时性和稳定性。我国已建设大量水文遥测站并由此组成了水文自动测报系统,其通信方式多采用GPRS、4G、VHF及卫星等无线方式或者有线方式[3]。
近年来,随着无线通信技术的发展,以 WiFi、ZigBee、LoRa等技术为代表的无线通信技术逐步被各个行业采用。因受传输距离较近、参数配置不灵活等的限制,WiFi、ZigBee 等组网传输方式需要依靠有线串接的无线网关设备作为终端接入点,无法彻底摆脱对有线传输方式的依赖,难以实现现有水文遥测系统对数据传输的要求[3]。LoRa是一种基于线性扩频调制的低功耗广域网(Low-Power Wide-Area Network,LPWAN)通信技术,它延续了频移键控调制的低功耗特征,同时又增加了通信距离、抗多径、抗干扰能力[4]。
本文提出将LoRa技术应用于水文遥测系统,能同时满足低功耗与传输距离远方面需求,对水文信息进行自动监测,有助于提高系统的稳定性。
2 水文遥测系统建设
水文遥测站适用于对水位、流量、流速、降雨(雪)、蒸发、泥沙、冰凌、墒情、水质等水文要素进行实时监测,站点选址需考虑水文要素的代表性和可用的通信方式。水文遥测站点多建在野外,地处偏远山区、河流、地形复杂地区等恶劣的自然环境,站点建设需考虑建设难易程度。
水文遥测系统建设的目标在于及时提供精准的水文数据信息,为水情预报和监测提供数据保障。系统组网需要可靠稳定的公共通信技术或有线方式,目前多采用GPRS/4G/北斗卫星、公网/移动专线等。水文遥测系统的现状多受建站位置和通信信号等因素制约。
系统在建设过程中存在以下问题:①一个水文站有多个监测断面且相距较远时,受线路架设或通信方式制约,一套采集控制设备不能同时接入多个监测断面的传感器,往往需要建设多套独立的遥测站,增加了建站成本和单站多套数据整合的难度;②传输线路架设易受环境影响,多采用地埋方式,受干扰因素多,布设后不易检修,地埋成本高;③在一些偏远山区或地形复杂地区,水文监测断面没有4G、卫星等公共通信网络或者信号较弱时,需要把站点建在公共信号较好的地点,增加建站和布线难度,甚至要调整传感器布设位置;④对于小型水文自动测报系统,利用公共通信资源将增加使用成本;⑤虽然可以选用VHF通信方式,但由于雷击、维护难度大等因素影响,水情数据传输稳定性得不到保证,又存在通信速率低、误码率高、功耗大等不足,无法保证稳定性,也增加了系统运行维护难度。
综上,对于水文遥测数据的传输,希望有一种建设成本低、传输稳定性高、畅通率高、功耗低、稳定性高和易维护的数据传输方式。
3 LoRa技术
3.1 技術特点
LoRa作为低功耗广域网的典型技术,具有超长距离传输、功耗低、数据量小、网络容量大等特点,且设计灵活性强。LoRa采用线性扩频调制技术,通信距离可达15 km以上,空旷地方甚至更远;相比其他广域低功耗物联网技术,LoRa终端节点在相同的发射功率下可与网关或中继通信更长距离;LoRa网络工作在非授权的ISM频段,适用于野外通信环境较差的应用场景;较长的通信距离降低了建网复杂度,从而降低了网络的维护成本[5-6]。
3.2 应用优势
LoRa技术可有效解决水文遥测站建设中遇到的线路、信号等问题。①LoRa具有长距离传输、网络容量大和灵活的特点,在布设水文要素传感器时,遥测站只需控制设备接入多个传感器,重点考虑传感器布设的合理性和感知水情要素的代表性,布设更为灵活[7]。②LoRa在一定范围内可替代有线,不受传感器间距离的影响,减少信号传输线路架设受干扰的因素、降低地埋成本,可避免线路中断后不易检查的问题[8]。③将LoRa中继布设在4G公共移动通信或北斗卫星等信号较好的位置即可,遥测站数据通过LoRa中继转为移动信号,通过此方式,可以解决不同的监测断面因公共移动信号不好无法使用4G或北斗的问题。④直接通过LoRa网关,可以将多个水文要素直接转向传输距离内的接收服务器,以低廉的成本即可建立不依靠专网的小型水文遥测组网系统。使用LoRa传输到网关或中继,可以减少4G移动通信、北斗卫星等信道甚至是专网的使用,不仅节省了对公共通信资源的使用,也节约了成本。⑤LoRa传输可以替代传统的VHF通信方式,提升传送能力、降低误码率、减小功耗,减少维护难度和成本。
3.3 LoRa在水文遥测中的传输组网
结合LoRa技术的应用优势和水文遥测工作实际,建立LoRa传输系统。根据水情要素的代表性、传感器布设合理性,以传感器为中心布设若干个感知节点,组成感知节点层。选择4G公共移动通信或北斗卫星等信号较好的位置,布设中继节点,中继节点面向多个感知节点的数据交互。由此,水情数据完成向公共网络的转向。传输系统可分为感知节点、中继节点、公共/专用通信网络和中心站服务器等4个部分,系统结构如图1所示。
(1)感知节点由水情感知和LoRa模块组成。水情感知点用于感知不同的水情数据,常见的有水位、雨量、流速、流量、温度、盐度和浊度等数据。利用LoRa模块上传感知节点的数据到中继节点。
(2)中继节点位于星状网络的核心位置,负责接收来自多个感知节点的数据,对数据进行汇总组包后上传。同时接收中心站服务器通过公共/专用通信网络传来的下行指令,对相应的感知节点进行指令操作。
(3)公共通信网络为4G移动通信、北斗卫星,专用通信网络为有线专网、LoRa组网等网络。
(4)中心站服务器为数据接收、处理、查询和分析的终端。
这4部分相邻层级之间的信息交互均为双向,LoRa协议的多个感知节点和中继节点构成了星形的LoRaWAN,中继点由公共/专用通信网络进入到指定服务器[9-10]。星型拓扑的网络架构在大范围部署时具有更低的网络拓扑复杂度和能耗[11]。
4 系统设计
4.1 硬件设计
系统硬件的设计,主要是以感知节点和中继节点的设计为中心。对于节点传输来说,既要满足数据的接收和输出,也要满足节点的低功耗。节点间传输采用Semtech公司开发的SX1268射频模块。SX1268射频模块灵敏度可达-148 dBm,通信距离可达5 km,链路预算最大168 dB,内置UART通信接口,可直接与主控制器通过UART通信接口进行数据传递。通过改变M0和M1的不同组合可被设置为一般模式、唤醒模式、省电模式和休眠模式,AUX引脚可以指示状态切换与数据接收提醒。
(1)感知节点硬件。基于STM32-CortexM3系列低功耗微控制器主控芯片,芯片自带UART接口,集成LoRa 无线通信射频模块、RS232接口、RS485接口、SDI12接口、IO接口、调试接口、LCD显示、电源、感知传感器等部分。LoRa 模块的配置管理、收发控制等功能均在微控制器上编程实现。感知节点硬件架构见图2。
(2)中继节点硬件。基于STM32-CortexM3系列低功耗微控制器主控芯片,芯片自带UART接口,集成LoRa 无线通信射频模块、公共/专用通信网络接口、调试接口、LCD显示、电源等部分。中继节点硬件架构见图3。
4.2 软件设计
系统软件设计中,感知节点和中继节点各自实现功能不同,故需要设计不同的运行软件。节点间的通信系统规定一套收发通信协议,保证节点之间通信的可靠性。软件移植μC/OS-II实时操作系统实现多任务在系统上的并发执行。
(1)感知节点软件。微控制器启动后首先对SX1268模块、通信接口、LCD显示等部分进行初始化,系统自检以确保初始化正常。对水情数据进行感知,通过SX1268模块上传至中继节点。之后关断传感器的供电,将SX1268模块切换至休眠模式以节省耗电,最后微控制器进入待机模式。休眠模式下的SX1268等待下一次来自中继节点的唤醒,之后通过AUX引脚触发微控制器唤醒中断,微控制器唤醒初始化并感知数据后上传,反复以上过程。感知节点工作流程见图4。
创建Main_Task()建立任务;创建Hydro_Ele_ Task()等任务进行水情数据感知;创建Send_Recieve_Task()任务进行和中继节点的数据交互。同时使用事件标志组来驱动多任务使CPU资源得到充分利用。
(2)中继节点软件。微控制器启动分为定时自动启动和来自公共/专用通信网络的远程唤醒启动。
微控制器启动后,首先对SX1268模块、通信接口、LCD显示等部分进行初始化,系统自检以确保初始化正常。通过SX1268模块向感知节点发送感知指令,然后等待数据返回,存储数据,向公共/專用通信网络上传数据。之后关断传感器的供电,将SX1268模块切换至休眠模式以节省耗电,最后微控制器进入待机模式。休眠模式下的SX1268等待下一次微控制器唤醒,反复以上过程。中断节点工作流程见图5。
创建Main_Task()建立任务;创建Device_Get_ Task()任务进行感知节点感知任务;创建Save_Data_Task()任务进行数据存储;创建Send_Data_Task()任务进行和公共/专用通信网络的数据交互。同时使用事件标志组来驱动多任务使CPU资源得到充分利用。
(3)节点安全。感知节点和中继节点间的通信,采用握手方式和报文加密的方式保证数据安全。各个节点按照系统的网络地址配置,各自分配唯一的通信地址且地址不公开,通信开始阶段先进行握手,发送节点收到有效回执后再发送数据。收到数据的节点根据加密方式进行解包和校验,再进行后续处理。
4.3 系统实现
感知节点和中继节点需要稳定可靠的软硬件设计平台,选用YAC9900遥测终端作为载体实现实际应用。YAC9900遥测终端采用STM32-CortexM3的CPU架构,具有RS232接口、RS485接口、调试接口、LCD显示和各种常见的接口,硬件资源丰富。软件采用μC/OS-II实时操作系统,符合本设计中的软件实施条件。通过YAC9900遥测终端集成LoRa 无线通信射频模块,可以简化设计过程,提高集成效率。
5 系统测试
对节点系统进行野外站点的测试,对数据通信畅通情况和功耗情况进行测试和验证。
(1)通过设备联调,系统能够顺利完成感知节点水情数据的采集与发送,中继节点顺利完成了数据的存储以及与感知节点、公共/专用通信网络的交互。
测试LoRa模块相互通信的数据丢包情况、传输距离,以及丢包率的对应关系。对感知节点和中继节点间的数据传输丢包率进行了测试,测试结果见表1。
测试情况表明:在2 km范围内丢包畅通率在90%以上,在遥测站点建设时可以优先考虑水文要素传感器布设的最优选址;其次考虑在2 km以内,结合4G移动通信或北斗卫星信号强度、安装难度、成本等因素安装水文遥测终端设备,同时可以节约公共移动通信资源。
(2)测试LoRa模块相互通信时的功耗情况,对各个模块的平均功耗情况进行了统计,测试结果见表2~3。
将LoRa模块的功耗情况与传统的VHF电台以ND886A(10W发射)进行对比,明显得出LoRa模块的发射电流、接收电流和休眠电流都明显小于VHF电台,体现出了功耗减小的优势。
(3)测试系统实际运行中的总体功耗情况,感知节点和中继节点设备配置不同,各自部分的功耗情况不同,测试LoRa模块和相关硬件部分功耗。在工作状态时,整体功耗在200 mA以内;在休眠状态时,整体功耗在10 mA以内。将LoRa模块用于野外环境中的水文遥测系统,可以有效保持系统的低功耗,利于运行和维护。
6结 语
本文针对水文遥测站点传输方式中存在的线路、信号等问题进行了分析,结合LoRa技术的特点和优势,分析了将LoRa技术应用到水文遥测站点建设中的应用优势。将LoRa通信模块和水文遥测微控制器、多种水情感知要素的采集和传输进行结合,提出了软硬件设计结构,为不同环境下的建站方式、选址、传感器布设和优化资源配置等提供了一种思路。系统选用YAC9900遥测终端作为载体对LoRa模块进行集成,对系统的丢包率、功耗进行了测试。同时,系统设计还需要更多实际的验证,在实际运行中进一步提高畅通率、降低功耗。如果实际测试保证了功耗低、通信距离长、畅通率高等优点,在未来的运用中具有广泛的前景。
参考文献:
[1] 崔明,朱晓梅.水文遥测终端技术在水文情报预报中的应用分析[J].科研,2016(8):31.
[2] 闫梅.水文遥测终端技术在水文情报预报中的应用探究[J].科学技术创新,2017(8):123-123.
[3] 王慧斌,徐立中,谭国平,等.水文自动测报物联网系统及通信组网与服务[J].水利信息化,2018(3):1-6.
[4] 赵静,苏光添. LoRa无线网络技术分析[J].移动通信, 2016(21):50-57.
[5] 蔡青松,林佳.提升LoRa网络性能的终端参数动态选择方法研究[J].计算机工程与应用,2020,56(3):113-120.
[6] Casals Lluís,Mir Bernat,Vidal Rafael,et al. Modeling the Energy Performance of LoRaWAN[J]. Sensors,2017,17(10):2364.
[7] 杨一博,张峻箐, 张志俭. 基于LoRa的河流水质监测系统设计[J]. 物联网技术, 2020, 10(3):15-18.
[8] 梁正宁,黄晁.基于Lora的水质检测系统设计[J].无线通信技术,2018,27(4):50-54,59.
[9] 刘琛,邵震,夏莹莹.低功耗广域LoRa技术分析与应用建议[J].电信技术,2016(5):43-46.
[10] 郑浩. LoRa技术在低功耗广域网络中的实现和应用[J].信息通信技术,2017,11(1):19-26.
[11] 林虹秀,王飞,包樺楠.基于LoRa的环境监测系统[J].电子技术与软件工程,2017(13):192-192.
(编辑:唐湘茜)