李志涵,伯 磊,王雪蓓,路原野,马一然
(中国矿业大学(北京) 机电与信息工程学院,北京 100083)
2020年新冠疫情爆发,对全球社会造成了巨大的危害,靠社会基础来实现的人类行为面临着前所未有的冲击和挑战。经过中央政府的坚强领导、全国人民的不懈努力,目前我国在一定程度上已经较好地遏制住了疫情的蔓延,但不可否认,我们依然将长期处于疫情常态化的大环境下。
控制疫情最关键的一点在于如何减少人员聚集,而学校作为防控的关键一环,其人员自由度大,可以在任意位置自由聚集,分布情况多呈现小范围集中分布的特点,这无疑不利于疫情的防控。因此获取校园各关键场所人员密集程度,依据大数据挖掘生成直观的可视化出行参考意见,对于校园防控智能化尤为重要。
基于上述理念,本文以STM32F429为主控芯片、以LoRa无线通信技术为物联网通信基础、以校园人流量数据和网络疫情数据为监控对象、以现场LCD显示屏和云端HTML网页为数据终端,设计并搭建了一款校园疫情监控系统。
正常体温下,人身会产生波长9~10 μm的红外线,通过热释电红外传感器的光学透镜(又称菲涅尔透镜)增强后能聚集到红外感应源处,感应源为热释电元件,传感器电极选用元件的两个表面,当感受到红外线汇聚产生的温度变化后会造成电荷失衡,电荷由电极向外释放扩散,产生相关电平信号,进而触发传感器动作。
如图1所示,在监测点前后间隔约1 m距离处分别放置人体红外感应模块A和B,感应模块的延时时间设置为2~3 s,封锁时间设置为0.5 s。
图1 双向检测算法原理
当行人进入被监测场所时,感应模块A首先感应到人体经过,并释放高电平信号,此后行人经过感应模块B时,感应模块B发出高电平信号;当行人外出被监测场所时,感应模块B首先感应到人体经过,释放高电平信号,然后经过感应模块A,释放高电平信号。通过感应模块A、B输出高电平信号的先后顺序来判断行人进出被监测场所的动作,进而获得监测时间段内被监测点的人流量信息和监测建筑物的人员累积存量。采用以上双向检测算法能够使监测数据更加准确,具体程序流程如图2所示。
图2 双向检测算法程序流程
远距离无线电(Long Range Radio,LoRa)是一种常用的局域网无线通信技术,相较于其他无线通信技术,LoRa的优势在于无线自组网方便且信道稳定、覆盖范围大,可实现数千米范围内的无线通信,适用于较长距离连续发送小型数据的场景,物联网终端设备通常使用电池供电。通信范围内可设置上万个LoRa节点,充分改善信号接收的灵敏度、效率、损耗,众多节点连接至LoRa集中器(又称为LoRa网关),能够完成与网络服务器的连接,实现数据互通。
LoRa通信包含终端节点、集中器和服务器三部分,各节点与集中器以星型拓扑结构连接,每个节点与集中器建立直接的信息通道进行数据传输,LoRa集中器接收终端节点输出的上行链路数据,将各类数据汇聚到独立的线程进行通信连接,处理多路数据并发问题,实现数据汇总并通过互联网/专网转发至网络服务器,由其完成数据的解析处理,最终完成数据应用。通信过程中,各部分由TCP/IP协议完成通信连接,任意2个模块之间均可实现双向数据通信。
万物互联时代,大数据已经深刻融入每个人的生活中,如何提取有效信息、充分发挥数据价值是信息科学技术的关键,数据可视化便是其中重要的应用。其采用计算机技术将大数据以图形或者图像的形式显示出来,包含数据展示、处理和分析等。
动态性、交互性和多样性为数据可视化设计应遵循的三大原则。数据可视化界面具备动态性,可以实时获取数据并更新显示;具备人机交互性,可通过人为操作实现各界面功能的展示以及界面之间的跳转;具备多样性,可以实现多种不同种类数据、控件的同时展示。
多组搭载人体红外感应模块的STM32F429主控芯片、LoRa节点和集中器组成的数据采集模块可实时获取校园各监测点的人流量数据。由Python网络爬虫程序组成网络疫情数据采集模块,随后搭建以LoRa无线通信技术为基础、校园人流量数据和疫情数据为传输对象、网络服务器为数据接收对象的校园物联网,获取的数据由软件驱动程序清洗并存储至数据库中,供人机交互界面调用、分析,完成在现场LCD和云端HTML终端的展示,整体框架如图3所示。
图3 校园疫情监控系统整体框架
4.2.1 人流量数据采集模块
人流量数据采集模块由多组STM32F429主控芯片、HCSR501人体红外感应模块、LoRa节点模块组成,能够实现校园人流量数据的采集和发送。数据采集使用双向检测算法,由主控芯片进行计数并存储数据;数据发送通过串口输出校园人流量数据并通过LoRa节点模块发送至校园物联网,结构如图4所示。
图4 人流量数据采集模块结构
4.2.2 网络疫情数据采集模块
网络疫情数据采集模块由网络爬虫程序和TCP客户端程序组成,网络爬虫程序获取疫情数据,并通过TCP客户端程序发送至校园物联网。
4.2.3 校园物联网
校园物联网围绕LoRa无线通信技术组建,由LoRa集中器、网络服务器和数据库组成,数据的传输、清洗与存储将在物联网中实现。LoRa集中器接收的人流量数据被发送至网络服务器,同时服务器本身接收网络疫情数据,各类数据由软件清洗后存储至数据库,随着监控的进行实时完成更新,供数据可视化界面调用、分析。校园物联网模型如图5所示。
图5 校园物联网模型
4.2.4 数据可视化模块
数据可视化模块由现场LCD终端和云端HTML终端组成,前者基于emWin进行可视化界面设计,后者基于HTML语言设计,负责实时调用数据库中的数据并在可视化界面上展示,实现对校园人流量数据和疫情数据的监控。
选用HC-SR501人体红外感应模块作为校园疫情监控系统的信号发生与采集器,该模块基于热释电红外传感器原理进行人体感应,在检测到人体经过时释放高电平,触发方式分为不可重复和可重复触发两种,前者感应到释放高电平后,自动延时恢复低电平输出;后者在人体经过时会持续释放高电平,直至人体离开后延时恢复低电平输出。
考虑校园局部人流量的密集趋势,选取教学楼、图书馆、食堂和逸夫楼实验楼4个监测点,感应模块的触发方式选用可重复触发方式。
考虑到当下国内整体疫情形势稳定,当前阶段本地和国外的疫情信息会被着重关注,因此在获取国内疫情数据的同时,增加了新闻信息、本地各地区的疫情数据以及国外疫情数据和重点国家疫情数据。数据源选用腾讯新闻,数据获取通过Python网络爬虫程序实现,运用Request库和Beautifulsoup库调用API接口,获取源数据。
校园物联网中的数据包含校园人流量数据和网络疫情数据,校园人流量数据经LoRa集中器打包后以字符串的方式发送,网络疫情源数据通常以字典和列表的嵌套组合形式存储于网页中。数据的接收、清洗与存储均由Python程序实现,如图6所示。
图6 数据接收、清洗与存储程序流程
校园人流量数据包含当前时间进出总人数、可容纳人数、人员累积存量和当前可进入人数;网络疫情数据包括国内外疫情数据、新闻信息数据和本地疫情数据,使用Request库和Beautifulsoup库获取源数据,运用JSON和RE正则表达式解析数据,并新建字典类型数据。
建立的字典类型数据经过处理后生成二维标签数据,存储至数据库。
依据监控原则,本文设计现场LCD和云端HTML 2个展示终端,并完成校园人流量数据中的场所可容纳人数、监测时间段进出人数、当前人员累积存量、当前可进入人数和网络疫情数据中的国内外疫情、北京各地区疫情数据、新闻数据等的可视化操作。
5.4.1 现场LCD终端界面
现场LCD终端界面可实现对校园人流量数据的监控以及本地各区现有病例的展示,由系统界面、校园人流量数据界面和本地疫情数据监控界面构成。
系统界面展示校园疫情监控系统的基本信息,并设置2个跳转界面功能控件,可跳转至校园人流量数据和本地疫情数据监控界面,如图7所示。
图7 系统界面
校园人流量数据界面实时监测各监测点进出人数并计算人员累积存量,与可容纳人数对比,提供当前监测点拥挤情况,并将不同的拥堵情况用不同的颜色加以区分,绿色为通畅,红色为拥堵。校园人流量数据界面如图8所示。
图8 校园人流量数据界面
本地疫情数据监控界面展示本地各区的现有确诊人数,在北京市地图上各区对应位置显示,实现疫情数据的动态展示。本地疫情数据监控界面如图9所示。
图9 本地疫情数据监控界面
5.4.2 云端HTML终端界面
云端HTML终端界面可实现对国内外疫情数据、校园人流量数据的监控分析以及疫情新闻的展示,主要由主界面、校园人流量数据界面和新闻信息界面构成。
主界面展示国内外疫情数据,其中,国内当日新增确诊人数和现有确诊人数以数字形式呈现,国内外近期确诊人数和新增确诊人数分别以柱状图和折线图的形式呈现,国内各类型人员统计和部分国家确诊人数以饼形图的形式呈现,实现了对数据的分析对比,实时展示疫情数据。疫情数据监控界面如图10所示。
图10 疫情数据监控界面
校园人流量数据界面将各场所的当前累积人数和可进入人数以进度条的形式展示,实现两数据的视觉对比,更加直观,如图11所示。
图11 校园人流量数据界面
新闻信息界面展示国内新闻信息,将各新闻的标题附加在彩色圆形图案上,能够方便用户实时快速地了解全国疫情信息。新闻信息展示界面如图12所示。
图12 新闻信息展示界面
本文基于物联网技术,以STM32主控芯片搭配HCSR501人体红外感应模块定点、定时采集人流量数据,搭建了以LoRa无线通信技术为基础的校园物联网,通过对相关互联网舆情信息快速爬取、分析、存储,将校园人流量数据和网络爬虫得到的疫情数据从后台传输至终端,形成具备人机交互界面的校园疫情监控系统。并可以通过改变监控场景快速适配新的疫情防控环境。经过试验,该系统可实现对被监测场所人流量数据的正确统计和实时监控,采集的数据也能够准确通过物联网传输,并在终端界面展示。