廖崧琳,王 露,2,胡 聪,陈 超,曾祥豹,2,文境潇,王 飞
(1.中电科技集团重庆声光电有限公司,重庆401332;2.中国电子科技集团公司第二十六研究所,重庆400060)
随着对智慧城市的深入研究和实践,近年来,基础设施智慧化的研究逐渐增多。但是地下基础设施研究相对薄弱,要实现地下基础设施智慧化的运行目标,首先需要开展一体化监测设备的研究。掌握地下基础设施环境更多维度的信息才能给上层决策和规划提供坚实的基础[1-2]。
不管是针对地铁隧道还是地下综合管廊,现有设备要么对环境的某一指标进行监测,专一性和针对性强[3-6],要么环境适应性、参数指标拓展性较差,没有统一的架构设计,做不到根据应用场景快速增减[7-9]。
因此,针对上述存在的问题,本文对于地下环境中的参数指标监测,设计了一个传感器标准化接口、一个即插即用的总线式框架和一个满足地下环境稳定运行的加固结构。使终端能根据应用需求,任意组合、随时更换(包括但不限于如下传感器指标:风速、风向、环境温度、相对湿度、环境气压、空气中的微粒(PM1.0、PM2.5和PM10)、光线强度、噪声和常见环境气体(氨气、二氧化氮、二氧化硫、氧气、臭氧、一氧化碳、二氧化碳、甲烷和挥发性有机物))。
图1为一体化监测终端系统框图。由图可知,地下基础设施一体化监测终端包括核心处理单元、接口单元和子传感器单元3部分。核心处理单元负责控制调度逻辑实现,传感器结构化数据处理,内外信息交互通信实现和终端电源管理等工作;子传感器单元负责对各种传感器模块进行标准化接口封装,接收核心处理单元的调度,实现有序数据上报、非周期数据读取和静默休眠等功能;接口单元负责连接核心处理单元和子传感器单元,对接子传感器的标准化接口。接口单元以母板的形式接入多个子传感器,给核心处理单元提供接口的物理实现。
图1 一体化监测终端系统框图
总线式系统框架(见图2)主要是指传感器的获取、处理和上报由挂载在同一条总线上的设备来完成。主控单元接收上位机或云平台的指令或请求,通过总线对所有在线子传感器进行控制、调度和通信。考虑不同传感器之间可能会有影响,如颗粒传感器通过内置风扇吸入待测气体,风扇的声音可能会影响噪声传感器,出风口也可能影响风速风向传感器的测量精度。另外,部分气体传感器需要预热,低功耗过程中不能断电。所以需要统一进行调度,排除自身传感器之间的互相干扰,实现最优的工作状态。
图2 总线式系统框图
系统框架在软件上基于Real Time Thread(RT-Thread)嵌入式实时操作系统实现。RT-Thread是一款完全由国内团队开发并维护的嵌入式实时操作系统,具有自主知识产权,且完全开源。与其他的实时操作系统相比,RT-Thread不仅拥有一个实时内核,还具备丰富的中间层组件,对于开发和数据上云都提供了极大的方便。本文基于RT-Thread分别设计了指示灯线程、数据获取线程、数据封装线程和数据上报线程(见图3)。
图3 终端线程设计
由图3可知,指示灯线程通过预先设计的状态机对状态进行控制并进行标识,先发送信号量给其他线程,根据线程返回的信号,输出设备状态指示,实现信息的反馈;数据获取线程根据调度规则和数据获取要求对子传感器按照通信协议请求数据,获取到各个传感器的数据后发送到未封装消息队列;数据封装线程从未封装消息队列中获取分离的传感器数据后,按照传感器编码和云平台的规则对数据增加设备编码、时间戳和位置信息等,完成后发送到封装消息队列;数据上报线程从封装消息队列获取数据,上报到云平台。
通过4个线程实现了模块识别、运行调度和数据采集3个功能。
传感器模块识别功能实现在指示灯线程中,对新接入的传感器模块自动识别,满足即插即用的要求。
图4为自动插入识别功能的硬件实现。由图可知,硬件设计上,在传感器接口单元的每个“9”脚都接有一上拉电阻,子传感器上该引脚下拉到地。当有传感器模组插入接口单元时,微处理器监测I/O口电平由高变低,由此判断该接口上有传感器接入。然后对该接口单元地址下发命令,请求上报传感器模块类型和数量。子传感器回复后,通信验证通过,子传感器处于就绪状态,其地址将会被存放到在线池中,该子传感器就能接收数据获取线程的数据请求。
图4 自动插入识别功能的硬件实现
在数据获取线程中实现传感器运行调度功能,即基于传感器本身特性和任务需求在一个采样周期内对各个传感器进行电源管理、控制指令下发和数据读取的功能。
传感器运行调度需要考虑不同传感器上电预热、数据有效时间、能耗管理和交叉影响等问题。不同传感器获取数据方式不同。
对于气体类传感器,由于终端标配气体传感器采用三电极的电化学传感器,设备要求首次使用前预热3 min,完成后才能就绪。温湿度传感器采用数字协议输出数字芯片,可以即时获取数据,上电即进入就绪状态。颗粒物传感器由于采用内置风扇的方式抽取待测气体,风扇的启动和关闭都需要一定时间,为了防止对其他传感器产生影响,需要通过电源控制,实现独立运行。噪音传感器运行时需要规避可能有振动的传感器运行,如风速风向传感器,它采用超声波的方式实现,这对噪声传感器也有一定影响。
因此,传感器运行调度如表1所示。考虑是否会影响其他传感器和是否受其他传感器影响,利用操作系统的互锁机制添加禁止同时采集的约束。
表1 传感器运行特性
另一个需要考虑的因素是不同传感器数据的同时性。每个信息获取的设备都存在采样率问题,对于整个终端,每次所有传感器数据的全部获取时间间隔可能是分钟级,宽裕的传感器数据获取时间,再加上传感器数量多,轮询式获取传感器数据可能会导致前后时间差。而实际上从更高抽象层次来分析这些不同维度的传感器数据时,希望其时间差越小越好,最好是同一时刻获取得到(当然实际是不可能的)。因此,在实际设计中,尽可能地避免干扰,但尽量短时间内获取完所有的传感器数据。
在各个子传感器模块和传感器数据获取线程中实现传感器数据采集功能,即通过统一的通信协议逐个对各种传感器获取数据的过程。从传感器运行调度功能中可知,各种传感器本身外形尺寸、输出形式及通信协议均不统一,因此需要为所有传感器和设备向外发送数据设计统一的软件通信协议。子传感器在对形式各样的传感器数据进行重新封装后,接受主控单元的请求完成数据的采集。
通信方式采用通用RS485总线式通信协议,所有传感器子模块均连接到同一条总线上。RS485采用差分信号传输,抗干扰能力强,由主控单元主动下发指令获取传感器数据。主控单元下发的命令格式如表2所示。子传感器上报的帧格式如表3所示。
表2 主控单元下发的帧格式
表3 子传感器上报的帧格式
针对气体类传感器尺寸比较接近的现状,考虑终端部署现场,受光线和部署位置的影响,同时气体类传感器存在有效期问题,为便于更换,本文设计了一种“盲插”结构。
如图5所示,PCB板设计为1/4缺口圆,将9个插针孔引脚分布在二、三和四象限,插针直接固定在PCB板上,形成公头。
图5 1/4缺口圆PCB板
子传感器模块结构上搭配的滑槽结构如图6所示。拔插时,只需将子传感器模块插入下方的卡座中,通过旋转模块,当滑槽结构对准时,内置的9个引脚即对准,直接插入即可完成安装。
图6 “盲插”滑槽结构
考虑终端主要应用环境是在地铁、隧道等地下环境中,振动、噪声、粉尘、甚至漏水等破坏性因素较多,工作环境恶劣,因此对产品的环境适应性要求也更严苛。同时,本产品还可以扩展推广到智慧城市、智慧环保、智慧农业等领域。因此,针对一体化监测设备预计所面临的环境(如雨水、粉尘、高温、严寒、雷击、冰雹等气候环境、振动等机械环境及腐蚀等生物环境)作用,提出了以下复杂环境适应性加固技术:
1) 一体化监测设备机身采用增强型ABS塑料(其中,A为丙烯腈, B为丁二烯,S为苯乙烯三元聚合物),该材料具有坚固、抗腐蚀、轻巧等特点,能增强对设备在腐蚀、冰雹等环境作用下的适应能力。
2) 设备内部和连接器上使用可阻挡沙尘、水的密封系统。
3) 考虑内部内置大量气体传感器,在防水防尘的同时又不能阻隔待测气体的进出,因此将终端底部密集做孔,增加进气通道。
4) 加速生命周期测试,确保设备能够承受温度和震动的极端变化。
通过以上几点加固技术,能满足对一体化监测设备环境适应性的要求,提高了设备的整体可靠性。图7为加固式结构设计。
图7 加固式结构设计
图8为地铁示范点实拍图。图9为数据展示页面。
图8 地铁示范点
图9 云平台展示页面
从部署情况来看,在数据可靠性方面,所有传感器参数均通过了第三方权威机构进行测试,达到预期目标。数据稳定性方面,自主无任何干预下,稳定上报11种传感器5个月数据,数据丢包率为2.51%。目前上报周期为10 min,每天上报144条数据,即每天平均丢失约3.6条数据。考虑数据通信链路稳定性等问题,数据稳定性符合预期。
本文设计了一个应用于地下基础设施复杂环境下多参数传感器数据采集、处理和上报的监测终端。通过设计统一的通信协议,将所有的子传感器进行统一封装,基于RT-Thread设计系统框架,以及搭配“盲插”式结构,可以实现传感器的即插即用,随时拓展。通过实际的地铁现场示范应用,验证了设备的可靠性和稳定性。今后,我们将在多参数的传感器数据分析和融合方面继续展开研究。