贾青青, 贾纹纹, 张 秦, 党 磊, 陈 李
(1.重庆大学 新型微纳器件与系统技术国防重点学科实验室,重庆 400044;2.航天神舟生物科技集团有限公司,北京100080;3.北京市空间生物工程技术研究中心,北京100091)
化工园区内的企业工厂在生产活动中会产生多种气体污染物,这些污染物的排放时间、排放量具有很强的随机性,给污染气体排放监管带来极大的挑战。传统的现场采样、实验室检测的模式,虽然测试结果比较精确,但是难以满足园区排放监管的需求。在线监测系统具有实时动态监测、可大面积覆盖等特点,日益成为研究人员关注的热点。
现有的大型在线监测仪器,测量精度高,如激光在线监测仪、卫星遥感技术等[1,2],价格高昂、使用与维护成本很高,难以实现大面积、高密度部署。基于物联网的空气环境监测系统具有易部署、成本低的优点。如基于通用分组无线业务(general packet radio service,GPRS)、蓝牙、LoRa等技术的物联网环境监测系统[3~6]。但是以上技术受通信距离与信号限制,难以组成覆盖全面的大型网络。窄带物联网(narrow band Internet of Things,NB-IoT)通信技术是低功耗广域网领域新兴的技术,处于低功耗模式的NB-IoT设备仅依靠单节锂电池能工作10年之久,在同频段中比GPRS多20 dB网络增益,可用于地下、高楼之间等多种复杂地形。同时,NB-IoT单扇区可容纳65 536个设备,有效降低了传感节点组网难度。NB-IoT技术在使用大型传感网络的场景中已有多种应用[7~9],是现实可行的大型无线传感网络解决方案。
综合化工园区的空气环境监测需求、多传感器组网需求、传感网络维护成本等多个方面的因素,本文设计了一种基于NB-IoT通信的空气污染物实时监测系统。该系统由传感节点、云端服务器与云端应用三部分组成。传感节点完成数据的采集处理与上报功能,云端服务器管理与传输数据,用户可通过云端应用远程获取传感节点处的实时信息。
本文设计的NB-IoT无线气体传感网络架构可分为感知层、网络层与应用层,如图1所示。感知层包含大量传感节点,每个节点均由气体传感器、主控芯片、NB-IoT模组和电源模块构成。传感节点完成数据的检测、处理与上报等工作,并在主控芯片的控制下,使各个模块按流程进入低功耗模式或被唤醒,严格管理节点的功耗。网络层由无线基站与云端网关构成,负责数据的传输与管理。应用层是基于华为云平台搭建的云端应用,使用者可通过智能手机、电脑访问该应用,远程查看各传感节点的位置信息、工作状态以及气体体积分数数据。
图1 系统架构
传感节点结构如图2所示,主控芯片选取高性能低功耗的微控制器STM32L431RCT6器件,其内部具有低功耗定时器与低功耗通信接口通用异步收发器(universal asynchronous receiver/transmitter,UART)。传感器选用EC SENSE公司的TB200B系列高精度固态聚合物气体检测传感器,如图3,该系列传感器具有高精度(0.01×10-6)、低功耗(25 mW)等优点。实验中使用了可检测二氧化硫(SO2)、硫化氢(H2S)、氨气(NH3)、甲醛(CHOH)、总挥发性有机物(total volatile organic compounds,TVOC)等五种传感器。
图2 传感节点结构
图3 EC SENSE气体传感器
传感节点的整体电路原理如图4所示,传感器与NB-IoT模块均通过主控芯片的低功耗UART接口接入节点。为了保证传感节点的稳定工作,防止电量下降导致电池输出电压降低,每个节点都设计了电源稳压电路。
图4 传感节点硬件原理
系统软件设计包括传感节点数据采集软件、云端应用程序两部分。
传感节点程序负责数据采集和处理,并控制各模块的工作状态,软件流程如图5所示。主控芯片STM32初始化后,向传感器与NB-IoT模组分别发送命令,使传感器进入睡眠模式,等待NB模组与网络附着成功后,进入省电模式(power saving mode,PSM)。随后,主控芯片自身进入低功耗模式。待内部定时事件发生时,主控芯片被唤醒,向传感器发送命令并获取数据并完成格式转换,通过专门为物联网设备之间提供的轻量型通信协议——LWM2M(light-weight machine-to-machine)发送至云端服务器。
图5 传感节点程序工作流程
云端服务器应用程序界面,可以向使用者展示所有传感节点的工作状态、分布位置以及监测到的气体体积分数数据。使用者可以点击界面顶部的下拉框,选择不同的传感节点进行观察。
为了检测该系统长时间检测气体体积分数的能力,搭建了如图6所示的实验环境,其中气体试验箱的顶部有一个进气管与出气口,用于通气和排气。气泵将氨气或者空气泵入实验箱中,以改变箱内氨气体积分数。氨气传感节点放置于气腔中,进行了连续1 h的监测。云端记录数据如图7所示。其中,(a)时间段为实验开始时第一次向实验箱中通入氨气,6 s后在云端接收到气体体积分数数据,并且观察到体积分数逐渐上升,并在约2 min后体积分数稳定于10×10-6附近。在(b)、(c)和(d)时间段中,可以观察到在停止通入氨气并通入空气后,云端数据在4~6 s后呈下降趋势。同样的,开始通入氨气并停止通入空气后,云端数据在4~6 s后呈上升趋势。其中,(b)与(c)一直开放出气口,(d)通入氨气过程中关闭出气口,气体体积分数更快达到了稳定值附近。
图6 实验环境与设备
图7 氨气体积分数测试结果
在检测系统实时性的实验中,选取了二氧化硫、硫化氢传感节点在化学实验室通风橱内进行了2 h的持续检测。传感节点设定的内部唤醒时间间隔为2 s,其中上位机可以即时获取传感器数据(本地数据)以及数据接收时间,云端数据由服务器自动记录。图8(a)、图8(b)分别是两种气体传感节点在上电后80 s内记录的本地数据与云端数据,其中坐标横轴第0 s为传感节点上电后获取到第一个本地数据的时刻。在NB-IoT模块与网络成功连接之前,云端无法接收数据。观察同一节点两种数据的接收时间,可以发现,本地数据的接收时间间隔与程序设定的2 s严格一致,云端接收数据与传感器发送数据的时间基本同步。在2 h的持续实验中,每个传感节点分别向云端服务器发送了3 600个数据,表1记录了2 h内云端接收数据的情况。其中,服务器与传感节点通信成功后接收到了所有数据,少数数据接收略有延时,云端接收数据出现延时的原因与基站信号变化有关。
图8 传感器本地数据与云端数据接收时间
表1 云端接收的数据
本文设计了一种空气污染物实时监测系统,该系统基于NB-IoT通信技术,可实时监测空气中几种典型污染物浓度并上传数据至云端服务器,能满足化工园区的实时、大范围监测需求。传感节点中各个模块能根据工作流程进入与退出低功耗模式,有效降低了传感节点功耗。在实际测试中,云端服务器获取传感器数据的时间与传感节点程序发送数据时间基本一致,系统的实时性良好。