基于NB-IoT的大气污染物无线监测站点设计
2020-11-06侯凡博张修太王丹丹王凯
侯凡博 张修太 王丹丹 王凯
摘 要:文中设计并实现了一种基于窄带物联网的大气主要污染物在线监测系统。该系统主要由数据发布服务器、设备管理服务器、云端数据采集服务器、NB-IoT无线监测站点等组成。文中主要讨论了NB-IoT无线监测站点的设计与实现,其采用ARM Cortex-M3内核主流单片机STM32F103作为主控制器,采用SIM7000C NB-IoT通信模块进行设备与服务器间的数据通信。利用高精度电化学大气有害气体传感器和先进的激光散射粒子计数系统对大气主要污染物进行采样,并通过NB-IoT实时上传至云端服务器并记录和发布。该系统的实现便于专家学者对环境污染信息进行统计分析,利于国家环保机构对大气污染治理现状的精准把控。
关键词:NB-IoT;无线监测;大气污染;单片机;传感器;STM32F103
中图分类号:TP274文献标识码:A文章编号:2095-1302(2020)10-000-03
0 引 言
大气污染的治理一直以来都是世界性难题。伴随着中国经济的飞速发展,我国大气污染现状越来越受到全社会的关注[1]。若要解决和治理大气污染问题,就必须建立起一套实时、高效、可靠的大气污染监测系统。受当下物联网应用技术的启发和NB-IoT网络的普及,文中设计了一种大气主要污染物在线监测系统,用以改善和提高现有大气污染监测设备的扩展性、实时性、灵活性、可靠性和便利性。该系统主要由数据发布服务器、设备管理服务器、云端数据采集服务器、NB-IoT无线监测站点等组成。本文主要讨论无线监测站点的软硬件设计,采用高精度电化学有害气体传感器对大气中的主要有害气体(SO2,NO2,O3,CO)进行实时采样,通过扩展异步串行接口将采样数据送至STM32单片机;采用激光散射粒子计数设备对大气中的可吸入颗粒物(PM10,PM2.5,PM1)进行实时采样,并将采样数据通过SPI同步串行口传输至单片机。单片机对数据进行平均滤波后,经由NB-IoT无线网络将收集的数据及时上传到云端数据采集服务器,以实现大气污染数据的采集。该系统的设计遵循《环境空气质量自动检测技术规范》(HJ/T 193—2005),适用于环保部门对大气污染的监测和管控[2]。
1 总体设计方案
本系统是一套涵盖网络服务器与无线网络监测站点的大型分布式大气环境污染监测系统,其整体结构如图1所示。该系统可实时对大气中的主要有害气体、可吸入颗粒物以及环境温湿度等信息进行采集,并通过网络对采集的数据进行处理和发布。其中NB-IoT无线监测站点是本项目的功能核心,具有对大气污染物的浓度采集、数据处理和数据上传功能。站点具有布设便利、通信可靠、采样准确、运行稳定等特点,以保证站点设备在投入使用后无需人为干涉即可稳定进行数据采集和上传。
2 系统硬件设计
根据上文制定的方案,NB-IoT无线监测站点的硬件设备应具备以下功能:
(1)可对大气中主要气体污染物的浓度进行检测,包括二氧化氮(NO2)、一氧化碳(CO)、二氧化硫(SO2)和臭氧(O3)等;
(2)可对大气中可吸入颗粒物的浓度进行检测,包括粒径小于10 μm的颗粒物(PM10)和粒径小于2.5 μm的颗粒物(PM2.5);
(3)可控制风机等设备对检测站检测设备腔体内的样本气体进行更新;
(4)可通过NB-IoT网络将数据发送至云端数据采集服务器;
(5)具备储存能力,可在网络不好的条件下保存数据,待网络恢复后向服务器上传;
(6)具备稳定的电源供电能力,可保证系统稳定运行。
系统硬件结构如图2所示。
2.1 气体污染物浓度传感器选型
系统使用气体传感器对气体污染物如二氧化氮(NO2)、一氧化碳(CO)、二氧化硫(SO2)和臭氧(O3)进行浓度采样。气体传感器是将特定气体的浓度信息转变成数字信号或模拟信号的传感器件。本系统采用国内某公司出产的通用型电化学大气监测传感器模组,利用电化学原理对NO2,CO,SO2,O3气体进行探测,具有良好的选择性和稳定性。内部集成有温度传感器,可自动进行温度补偿。同时具备数字输出接口以及模拟电压输出接口,方便用户使用。该传感器主要应用于城市空气质量监测、企业污染气体排放监测、环境保护部门对城市空气监测、便携式仪器仪表和空气质量监测设备的生产制造、智能家居设备的研发等[3]。通用型电化学大气监测传感器模组的数字输出端口采用通用异步收发传输接口(UART)。
2.2 可吸入颗粒物浓度传感器选型
目前世界上主要使用激光粉尘仪对可吸入颗粒物进行自动化取样检测。激光粉尘仪采用光散射法对大气中的粉尘等颗粒物进行浓度检测。本系统采用国外某厂家生产的激光散射粒子计数系统对可吸入颗粒物浓度进行检测。该传感器使用轻便,具有先进的光学粒子检测系统以及精密的电子电路,可以实现高速且精确的粒子计数和粒径分布计数。其使用粒子计数算法,并结合空气动力学、激光检测技术、数字信号处理、光机电一体化等技术进行综合研究,测量精度精准,可将大气中的粒子细分为16个通道进行测试,且性能稳定、响应快速。该激光散射粒子计数系统通过四线高速同步串行外设接口(SPI)与主控制器相连接,可提供高速、稳定、多功能的通信接口。
2.3 NB-IoT网络模组选型
目前常见的NB-IoT模组主要为上海移远(Quectel)BC-95模组、利尔达科技(Lierda)NB05-01模组和芯讯通(Simcom)SIM7000C模组。前两者的技术方案來自华为公司,而后者SIM7000C模组的技术方案来自高通公司。本系统采用SIM7000C模组,它是一款多频LTE-FDD及双频GPRS/EDGE无线模块,支持NB-IoT,CAT-M1(eMTC),GSM和GPRS/EDGE通信。SIM7000C提供了广泛的外部接口,为客户应用提供了极大便利,其中硬件接口包括UART,USB 2.0,PCM等,软件接口包括TCP,HTTP,HTTPS,SMS等。采用NB-IoT无线模组的优势在于功耗低、覆盖面广、支持多模、性能稳定。本系统中,MCU与SIM7600C模组的连接主要通过UART异步串行口实现。
2.4 电平转换芯片选型
由于NB-IoT网络模组SIM7000C-PCIE的I/O接口电平为1.8 V,但常见的微控制器GPIO引脚输出TTL电平为3.3 V或5 V。本系统微控制器选用STM32F103型MCU,其GPIO端口输出电平为3.3 V,为了使MCU和NB-IoT网络模组能够正常通信,应在其接口之间增加电平转换电路,保证通信的稳定性,以确保NB-IoT网络模组能够正常工作。本系统采用德州仪器(TI)公司出产的TXB0108电平转换芯片,该芯片是具有自动方向感应和±15 kV ESD(静电释放)保护的8位双向电压电平转换器。
2.5 串口扩展芯片选型
由于本系统需要连接大量的UART异步串行通信接口设备,如4个采用UART异步串行接口的气体污染物浓度传感器、NB-IoT通信模组和开发调试串行接口。但目前多数微控制器(MCU)缺少足够的内部UART通信接口,所以应在硬件上设计串行口扩展芯片来拓展MCU的通信能力。
本系统采用成都国腾微电子有限公司出品的GM8125串行口扩展芯片。该芯片可将全双工串行接口扩展为5个标准UART串口,且能够通过外部引脚控制串行口的扩展方式,实现单通道工作模式和多通道工作模式[4]。本系统采用单通道模式,使用主串口分时对子串口进行控制,从而控制5个子串口与气体污染物浓度传感器通信。
2.6 片外E2PROM储存芯片选型
考虑到设备在运行情况下有可能出现网络不佳的情况,所以在设备中加入片外E2PROM储存芯片以储存当网络出现问题时的临时数据。本系统采用Atmel公司的AT24C08 I2C总线及E2PROM储存器,其具有1 024 B储存空间,可储存约100条临时采样数据。当采样周期为15 min时,100条数据的储存能力可储存25 h的采样数据。但现有LTE网络已非常稳定,出现通信异常的概率极小,异常时间极其短暂,因此该容量的储存芯片足以应对网络故障时的临时数据储存状况。
3 系统软件设计
系统软件流程如图3所示。系统上电时,首先应对MCU片内外设进行初始化,依次为系统时钟初始化、GPIO接口初始化、SPI接口初始化、定时器初始化、UART接口初始化[5]。然后对片外设备进行初始化,依次为GM8125串口扩展芯片初始化并设置其为单通道模式;激光散射粒子计数系统初始化并将其设置为空闲模式;气体污染物浓度传感器初始化并设置其为被动查询模式;NB-IoT网络模块初始化并等待网络连接成功。
网络连接成功后,设备将与服务器进行第一次通信,使用约定好的GetPubkey服务器API接口,获取用于安全通信的随机公钥和服务器当前时间戳,借助服务器时间戳初始化检测站点实时时钟,为随后的定时任务做准备。由于电化学气体污染物浓度检测传感器的电化学原理特性,接下来需要系统延时约5 min进行预热,以保证测量值的准确性。
待一切初始化程序运行完毕便开始数据采集和上传工作。数据采集和上传由固定的定时器溢出时间标志位来触发,以实现固定的采样周期。当一次采样周期到来后,系统首先打开监测站机壳的风扇,更新设备腔体内的样本气体。通风时间到后,进行可吸入颗粒物浓度的采集;首先打开激光散射粒子计数系统的激光和风扇,等待固定的采样周期,对数据进行读取和储存;之后连续循环此程序,得到若干采样結果,对其求平均值,以避免随机误差,得到准确的可吸入颗粒物(PM10,PM2.5)数据;通过GM8125串口扩展芯片,以轮流询问的方式对4个气体污染物浓度传感器进行采样,连续进行若干次后取平均值,得到准确的数据;所需数据采样完毕后,使用本机UUID与之前通信获取的公钥运算出的验证密匙、当前监测站时间戳以及采样得到的数据经过特定格式的Json编码后,通过PostData服务器API接口将数据上传至服务器(若服务器返回数据上传失败,则重新进行数据上传,若上传成功,则判断服务器返回的最新配置信息版本号,若服务器上的配置信息版本比监测站本地的配置信息版本高,则通过GetConfig服务器API接口获取最新的配置信息);待一个采样上传流程完成后,则等待下一次采样周期的到来。
4 结 语
本文通过参考、分析中国当下大气污染监测的方式方法和技术手段,结合空气颗粒物连续自动监测系统的技术要求,提出并设计了一种基于NB-IoT的大气污染物无线监测站点。其通过NB-IoT 网络将各传感器采集的信息实时上传至云端数据采集服务器,并储存于系统核心数据库中。实验过程中启用了3台NB-IoT无线监测站点,3个站点各司其职,互不干扰,以各自的节律运行。服务器同时接收多台监测站点数据时未出现数据拥堵、网络出错等情况,一切运行良好。系统的实时性、高效性、稳定性以及可扩展性特点经过验证,均满足设计要求。
参考文献
[1]舒敏.大气污染的主要类型及防治技术探讨[J].环境与发展,2017,29(8):85-86.
[2]张华峰.大气污染的预防治理措施分析[J].环境与发展,2020,32(3):48.
[3]雷志强.区域空气质量综合监测系统研制及评估方法研究[D].西安:西安工业大学,2019.
[4]张正柱.基于Windows CE的无线指纹考勤系统的设计与实现[D].长沙:湖南大学,2010.
[5]严伟.面向控制领域的实时微内核的研究与实现[D].成都:电子科技大学,2019.
[6]贾智海.基于NB-IoT的区域大气环境立体网格监测系统设计[J].仪器仪表与分析监测,2019,35(1):40-43.
[7]裴君君.基于ZigBee和NB-IoT的环境监测系统设计与实现[D].深圳:深圳大学,2018.
[8]刘平英,谭智强,王玉芳.一种多维度数据采集大气污染物探空仪设计[J].信息技术,2019,43(9):24-28.
[9]冯勇,王继红,蒋铭凯.一种无线室内空气污染物监测装置的研制[J].河南科学,2016,32(5):712-715.
[10]张高敏,李圣普,王启明.基于无线网络的空气污染物检测系统设计[J].工业仪表与自动化装置,2016,46(3):74-77.