冉卓衡
(天津工业大学,天津 300387)
2020年初,全球范围内爆发的新冠疫情改变了许多家庭的生活方式。伴随着国内外疫情形势的进一步恶化,人们居家时间变得更长,因而室内的环境状况对人们日常生活的影响也逐渐凸显。PM是室内空气中主要的污染微粒之一。北京协和医院的一项研究结果表明:PM短期暴露浓度每增加10 μg/m,心脑血管疾病患者的相关死亡风险增加0.63%。同时液化气、苯、烷等可燃气体的泄露也会给室内环境带来一定的危险。此外温度、湿度等常见的环境参数对人体也具有重要意义。参考相关研究数据可以得出:在人们所处环境中普遍存在着特定范围的温度和湿度舒适区,当人体脱离这个舒适区后就会感到一定的不适。正是人们对于周围环境的这些实时感知需求,使得智能化环境检测系统开始逐步走入千家万户。用户在使用这类设备时只需插上插销,就能实时地自动采集周围环境数据。操作系统在对采集数据进行分析之后,会将处理结果实时地显示在屏幕中。同时还基于物联网云平台实现了数据在云端的可视化,方便用户能够在任何设备或大屏上直接获取简洁明了的环境信息。
本系统所使用的开发板型号为中移OneNET麒麟座V3.0开发板,该开发板采用STM32F103RET6作为其主控芯片。连接好所有外设后的系统实物图如图1所示。
图1 连接好外设后的系统实物图
由图1可知,中移麒麟座开发板不但板载资源丰富,而且引出了大量的通用模块接口。其中板载的M6312通信模组与蜂鸣器主要负责数据通信与报警功能;板载的三轴加速度传感器用于检测设备的摆放是否符合要求,否则将不会进行数据采集;板载的光照传感器和温湿度传感器用于采集光照和温湿度数据。所用到的外部传感器模块包括夏普GP2Y1014AU粉尘测量模块和MQ-2气体测量模块,这些模块都具有超低功耗、测量精度高等诸多优势。
GPRS有着较快的数据传输速度,该技术可以稳定地传送大容量的高质量音频与视频文件,因而被广泛用于数据通信、远程监测、信息查询等领域。M6312通信模组在插入了物联网SIM卡后即可快速实现数据的联网传输,不但能带给设备一定的便携性,也为设备与云端之间提供了快速且稳定的数据交互环境。
系统中所使用的PM测量模块是由夏普公司开发的型号为GP2Y1014AU的粉尘微粒检测模块。模块的中部有一个空气采样孔,内部还有一组红外发光二极管与光电晶体管。红外发光二极管会一直以特定频率向外辐射红外射线,当空气采样孔内流通的气体里有微粒阻碍红外射线传播时就会产生漫反射现象。当光电晶体管接收到经反射后的红外射线时,输出引脚所对应的电压信号就会随之改变。该模组可在供电电压为5~7 V和环境温度为-10~65 ℃时正常工作,能够侦测到粉尘颗粒的最小直径为0.8 μm。环境中的微粒浓度每变化0.1 mg/m,所对应输出电压的变化大小就为0.5 V。
DHT11是一款较为常用的温湿度测量传感器,它具有成本低、体积小和高精度等诸多优势。传感器在0~50 ℃温度范围内与5%~95%RH范围内正常工作,温湿度的测量精度分别为±2 ℃和±5%RH。该模块基于IC协议与单片机进行数据通信,一次需发送40位的温湿度测量数据。其中前16位数据与环境中的湿度测量结果相关,中间16位数据与环境中的温度测量结果相关,其余8位数据用来校验温湿度测量结果是否准确。如果校验不通过,则代表模块传输的数值为错误的数值,单片机则不会进行一次采样。通过这种方式对环境中的温度和湿度参数进行采集与上传,极大地增加了本系统的可靠性。
MQ-2气体传感器通常可用于家庭和工厂的气体泄漏监测装置,所探测的范围包括液化气、氢气、苯和烷等有害与可燃气体,具有较好的重复性和稳定性。当传感器与气体接触时,晶粒间界处的势垒会随着气体浓度的改变而发生变化,最终转换成导电率的变化来实现对气体参数的测量。该传感器可在3.0~5.5 V电压和-20~50℃温度条件下正常工作。气体的浓度越大,导电率越高,会使输出电阻越低,从而使引脚输出较大的模拟信号值。
本系统中的软件部分基于Keil5集成开发系统和Windows操作系统开发。在搭建好相应的的软件开发环境后,就可以开始进一步地对软件程序进行规划与设计。
2.1.1 μC/OS-III工程的移植
在移植操作系统代码之前,首先需要在其官方网站中获取到μC/OS-III的源码包。下载源码包后需要对包中的文件进行分析,结合本系统实际情况按需配置最适合的工程文件。添加完所需要的文件后将头文件路径添加到工程中,这样整体的工程就移植完毕了。
2.1.2 划分任务的优先级
在本系统所建立的μC/OS-III工程中,各个任务的优先级划分由先到后应遵循如下三大原则:对于实时性要求高的任务应该分配较高的优先级;对于运行速度较快的任务应该分配较高的优先级;任务在逻辑之前的要分配较高的优先级。在遵循这三个原则的前提下,本系统中任务的优先级划分情况见表1所列。
表1 本系统中任务的优先级划分情况
2.1.3 事件标志组的创建
当操作系统中的任务需要与多个事件同步发生时,就可以使用事件标志组。事件标志组同步任务的过程如图2所示。通过设立不同的优先级并运用事件标志组的方法,就可以轻易地对不同报警信息的紧急程度加以区分。在需要同时进行的任务较多时,可实现“有次序、有先后”地进行任务处理。同时,事件标志组内还可以设置不同的逻辑关系。例如“或”同步和“与”同步就是当操作系统中任意事件发生和全部事件发生时任务才被同步的两种不同的逻辑处理机制。事件标志组在本系统中有着广泛的应用,例如当温度和湿度数值同时超过一定范围时,出行推荐指数才会下降;而当PM数值超过一定范围时,无论温湿度数值范围是多大,出行推荐指数都会直接清零,表示当前极不适合出行。此外还有大量的类似于这样的同步任务存在于本系统中,但在编辑和添加这些任务时仅需更改几个逻辑字母就完成事件标志组的重组与建立,而不需要大量复杂的条件函数或者逻辑指令。设置简便和容易编辑的特点也是开发者们选择μC/OS-III操作系统进行开发的重要原因之一。
图2 事件标志组的任务同步过程
在开启了基站定位服务后,通过OneNET平台可方便快捷地建立网页端、手机端和公共大屏中丰富的可视化应用。
2.2.1 开启基站定位服务(LBS)
基站定位服务是指设备不需要增加额外的外设硬件,而是通过设备板载的通信模组将周边基站信息上传给云端后即可实现位置信息的获取,从而达到简化硬件设计和降低设备功耗的效果。当开启了这项服务之后就可以结合已构建好的数据可视化应用,对设备当前的位置和历史轨迹进行查询与回溯。基站定位服务不但覆盖三大运营商的基站信息,而且在2G、3G、4G等网络信号下均可实现位置信息的获取。这项服务的覆盖区域除了中国大陆之外,还包含了港澳台地区。
2.2.2 网页端应用的构建
OneNET网页应用编辑器为开发者提供了曲线图和柱状图、位置轨迹、开关按钮、仪表盘等虚拟图表和仪器,为感知层所上传的数据流提供初步的数据可视化功能。只有当传感器所采集的数据流成功上传至OneNET云平台后,开发者所建立的相关可视化网页应用才能正常工作和显示。对于气体传感器所采集的参数,本系统在OneNET网页应用端开发了如图3所示的警告次数与气体浓度参数折线图面板。当有害或可燃气体的浓度过大时,μC/OS-III操作系统会通过事件标志组执行上传超标参数值的任务。警告次数也会随着每一次警告信息的产生而累计加1,并可以通过物理按键来清零,表示用户已经知晓相关的警告信息。
图3 警告信息的可视化
除了上传警告信息与相关参数之外,本系统在OneNET网页应用端还基于感知层所采集的光照、温湿度和操作系统智能分析出的推荐指数等信息,扩展开发了出行建议助手功能。将设备放在阳台附近后,通过数据可视化的方式,用户不但能够得出目前周围环境的具体参数细节,还能得出当前出行的推荐指数,是用户制定出行计划的好帮手。推荐指数总共分为三等,数值越高则代表当前环境状况越适宜出行。相关功能的可视化效果如图4所示。
图4 参数折线图与推荐指数的可视化效果
2.2.3 手机端应用的构建
开发者不但可以构建和编辑网页端的可视化应用,还可以将构建好的相关组件移植至手机端页面,通过中国移动开发的设备云APP进行手机端环境信息的可视化。在本系统所构建的手机端可视化应用中,可以像在网页端一样看到数值的历史变化趋势以及虚拟仪表显示的瞬时值。但不同于网页端的是,手机端物联网应用在设计时需尽可能使界面更加紧凑,以更好地贴合手机用户的视窗大小与浏览习惯。开发完成的手机端可视化界面如图5所示。
图5 手机端的数据流与可视化应用界面
2.2.4 数据可视化View平台
除了构建简单的网页和手机应用外,还可基于中国移动数据可视化View平台开发更为复杂的可视化应用,以实现在公共区域内更大的屏幕中展现更为丰富的数据可视化内容。基于View平台为公共大屏开发的可视化应用界面如图6所示。
图6 在公共大屏上实现的数据可视化应用界面
连接好开发板的电源与相关传感器模块后,登录中国移动OneNET云平台,进入本产品的详细界面,选择本设备并进入数据流查看界面。打开供电开关并运行开发板上的程序后,会看到数据流中的相关参数正在动态地变化。只要所上传的数据流结果是准确的,基于这些数据流所构建的OneNET云平台应用就一定能够正常工作与显示。
当点开如图7所示的“Warning”数据流后可以看出,在此时刻内警告次数为3次。此外还可通过点击“导出”按钮将所上传的数据流导出,所导出的数据包含了上传时间、环境参数等数值。在得到这些详细数据后,还可以结合其他大数据分析方法使导出的数据产生进一步的价值,从而为用户和企业提供参考。
图7 实时上报名称为“Warning”的数据流
本文基于μC/OS-III操作系统和中国移动OneNET云平台设计了一款实用的智能环境助手。该系统的感知层基于中移麒麟座开发板开发,并在其外部连接了用于测量PM、温湿度、气体浓度等参数的传感器模块,通过μC/OS-III操作系统采集和处理环境数据信息。网络层包括GPRS通信模组和中国移动物联网SIM卡,作用是将感知层实时收集的环境信息,通过MQTT协议传输至中国移动OneNET物联网云平台。在应用层中通过对网页端应用、手机端应用和View应用的构建,向用户呈现了多种方式的数据可视化效果,实现用户对周围的环境数值变化与相关警告提示进行及时感知。该系统经测试后成功实现了传感器的采集、云平台的可视化等功能,满足了用户对环境监测智能化和可视化的现实需求,具有较高研究价值和广泛的应用前景。