传统的水质监测方式有人工采样监测和有线监测,其中人工采样监测效率低、周期长,且无法实时掌控水域水质的变化情况;有线监测布线复杂、移动性差,不适合开展大量的水质监测工作。随着物联网技术的应用发展,基于无线技术的水质监测方式体现出功耗低、成本低及自动化控制等优势。传统的WiFi、ZigBee和Bluetooth等短距离传输方式无法满足远程水质监测,4G/5G等技术功耗高、流量大,也不适合水质监测的应用场景。NB-IoT是物联网领域的新技术,具有覆盖广、容量大、低功耗、低成本等特点,基于该技术的无线水质监测系统能够解决传统监测方式的弊端[1]。1NB-IoT技术NB-IoT又称窄带物联网技术,主要面向蜂窝数据连接,仅消耗大约180 kHz的带宽,可在现有的2G/3G/4G等不同频带中复用,部署成本低。作为物联网的新兴技术,NB-IoT主要应用于覆盖面积大、无须移动、数据量小、时延性低的物联网通信场景,如智能抄表、智能停车、智能穿戴、环境监测、水质监测等场景。2系统总体方案设计基于NB-IoT的水质监测系统分为感知识别、平台管理和综合应用共3个层次[2]。在感知识别层采集待测水域温度、浊度、pH值和溶氧量的数据信息,经过主控芯片传输到NB-IoT通信模块,通过NB-IoT基站传输到物联网云平台,监测和管理各传感设备的状态,水质监测系统部署在综合应用层,该层基于物联网平台,可以通过HTTP协议和API接口实现具体的应用开发。基于NB-IoT的水质监测系统结构如图1所示。10.19301/j.cnki.zncs.2023.07.027.F001图1基于NB-IoT的水质监测系统结构3硬件设计3.1传感器选择(1)温度测量。选用DS18B20数字温度传感器,体积小、功耗低、精度高,且接线方便,封装形式多样,抗干扰能力强。为满足水下放置的需求,温度传感器采用不锈钢封装形式的DS18B20,不锈钢与传感器之间有高热传导率的导热胶,能够保证测温的灵敏度。(2)浊度测量。选用TSW-30浊度传感器,搭配TS-300B模块检测水中的固体物含量。通过对水中悬浮固体物的透光率和散射率的检测来检测水质的浊度,水质的浊度与透光率、散射率、传感器光接收端转换的电流大小呈反比。(3)pH值测量。pH值测量采用电位电极测量法,其中测量电极材料为玻璃,参比电极材料为甘汞。待测水质中的pH值变化时,测量电极与参比电极之间会产生电位差,经过计算将电位差转化成电压或电流输出,可以得到酸碱度与电流或电压的线性关系。选用PHB-300B型pH值传感器,具有抗干扰性强、延时低和精度高等特点。(4)溶氧量测量。选用RDO PRO光学溶解氧传感器监测水中的氧气含量,通过动态发光熄灭原理测量溶氧量,传感器周围的氧气越多,荧光物质发射红光的时间就越短。该传感器具有功耗低、精度高、反应灵敏、配置容易等优势,且惰性结构使其不受高盐或工业环境腐蚀,适合水质环境监测[3]。3.2主控模块设计选用意法半导体公司的STM32L431RCT6微控制器作为主控模块的核心芯片,该微控制器具有低功耗、高性能等优势,与NB-IoT结合非常适合低功耗的应用场景。工作频率高达80 MHz,供电电压为1.71~3.60 V,拥有256 kB的Flash、64 kB的SRAM,足够满足本系统软件驱动内存需求,具有52个GPIO端口、21个电容感应通道,并且自带AD转换器等扩展功能,能够满足系统的设计需求。3.3NB-IoT模块水质监测节点使用的NB-IoT模块为移远通信生产的BC35-G,具有高性能、低功耗和支持多频段、多网络协议等优势。模块与STM32L431RCT6微控制器通过串口进行数据交互,STM32L431RCT6微控制器通过串口向BC35-G模块发送AT指令集,实现与物联网云平台服务器的数据交互传输。4软件设计4.1数据采集终端的软件设计数据采集终端的工作流程是设备先进行系统的初始化,各传感器开始采集水质参数,按照相关的协议进行数据打包处理,数据一方面通过NB-IoT设备发送到云平台,另一方面通过显示屏进行本地显示[4]。NB-IoT模块入网成功后,会接收主控模块发送的打包好的数据报文,通过CoAP协议将数据包发送给物联网云平台,若发送成功,则完成一次数据传输,若发送失败,则继续发送,发送失败超过3次,则将该数据包保存在铁电存储器模块中,等待主控模块下次发送数据时一起打包发送。终端软件的工作流程如图2所示。10.19301/j.cnki.zncs.2023.07.027.F002图2终端软件的工作流程4.2平台接入软件设计开放IoT平台的软件设计主要包括profile文件的编写及编解码插件的编写等[5]。平台的接入流程为先获取平台账号和密码,登录成功后创建应用,保存获取的密码和应用ID,方便后续的人机交互系统的使用。在线编写用于定义设备属性的profile文件,文件包含了设备采集的数据、可识别的指令或设备上报的事件等信息。在线编写编解码插件并安装,NB-IoT设备对省电要求较高,一般不采用json格式数据,而采用二进制或tlv格式,编解码能够实现二进制数据和json格式数据的相互转换,方便后续人机交互系统的开发。平台设备接入流程如图3所示。10.19301/j.cnki.zncs.2023.07.027.F003图3平台设备接入流程4.3客户端设计系统的客户端设计主要包括移动端和Web端,能够实现用户管理、指令下发和数据表现方式等功能。本系统的移动端开发采用HTML5编程语言,Web端软件开发采用HTML5、CSS3和JavaScript编程语言,客户端的数据和时间都通过调用IoT云平台的API获取,系统采用Java作为调用API数据的编程语言,HTTP协议进行数据传输。5实验测试5.1传感器数据测试为检测系统数据采集的精准度,将传感器数据采集周期设置为2 h,时间段为8:00~22:00,采集数据通过窄带网络和公共网络传到终端管理平台。监测时间段内各参数变化曲线如图4所示。图4监测时段的水质参数变化10.19301/j.cnki.zncs.2023.07.027.F4a110.19301/j.cnki.zncs.2023.07.027.F4a210.19301/j.cnki.zncs.2023.07.027.F4a310.19301/j.cnki.zncs.2023.07.027.F4a4通过实验测试,本系统能够准确及时获取待测水域温度、pH值、浊度和溶解氧等水质参数,其中温度控制精度在±0.12 ℃,pH值控制精度在±0.09,溶氧量控制精度在±0.05 mg/L,浊度控制精度在±0.2 NTU,各参数最大平均误差为0.5%,采集的水质数据满足水质监测精度的要求。5.2通信测试丢包率是测试传感器终端数据传输性能的关键指标,实验时数据采集的周期定为10 min,共采集1 000组数据包,根据平台获取的数据包对节点丢包率进行分析计算,测试结果如表1所示。10.19301/j.cnki.zncs.2023.07.027.T001表1各终端丢包率监测终端序号发送数据包/组接收数据包/组丢包率/%1号终端1 0001 00002号终端1 0009960.43号终端1 0009970.34号终端1 0009950.5根据测试结果,系统丢包率小于1.0%,说明通信较为稳定,系统运行良好。6结语本文结合传感器技术、无线传输技术和互联网技术等,开发了基于NB-IoT的水质监测系统,通过温度、pH值、浊度、溶解氧传感器对水质参数进行采集,将采集的数据经过微控制器处理后通过NB-IoT通信模块传输到物联网云平台,实现终端设备的远程监测和控制,通过实验测试,系统运行稳定,能够为NB-IoT技术在环境监测等方面提供参考。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读