职场文秘网

首页 > 心得体会 > 学习材料 / 正文

基于STM32,的疫情监控系统终端设计

2023-03-10 17:05:13

蓝 波,孙浩然,赵 通,刘国栋

(1.北京石油化工学院信息工程学院,北京 102617;
2.北京遨博雄鹰科技有限公司,北京 102299)

信息数量的爆炸式增长伴随着不确定性的急剧上升,显著增加了公众对信息可信度判断的困难程度[1]。在大数据和智能技术蓬勃发展的今天,利用相关技术可以实现疫情预防,协助医疗机构发现传染源,提高医院诊疗效率。与此同时,疫情数据的实时性对于疫情防控至关重要,是政府及相关部门做出相应防控措施的保障。有研究人员开发了实时疫情地图平台,公众在手机以及PC 上打开软件或者网站即可查看相关疫情数据。但这种方式获得的数据量都在几十万字节以上,适用于PC 端,无法适用于存储有限的MCU,因此需要对数据进行压缩,从而减少数据量,以便将其加载到MCU 中进行后续处理。

STM32 和ESP8266 模块在许多行业都有着十分广泛的应用[2-5]。王鹏辉等[6]针对现有的物联网温室自动控制水平较低、管理模式落后、通信结构复杂、建网成本高等缺点,设计了一种基于ESP8266 的低成本物联网连栋温室控制管理系统。张琥石等[7]介绍了一款基于ESP8266 WiFi模块的物联网数控直流电压源;
田旭飞等[8]设计了一种基于LoRa 和STM32的路灯自动监控系统;
姚启龙[9]为了实时监测谷物水分变化,设计了一种基于STM32 的谷物水分在线监测系统。陈显等[10]设计了基于STM32 的动车组轴端加速度监测装置;
于鹏[11]针对舰船通信系统容易出现通信指令不完整而导致通信周期长的问题,提出了基于STM32 嵌入式微处理器的舰船网络通信系统设计。

虽然STM32 与ESP8266 模块在许多行业应用广泛,但缺少在新冠疫情监控方面的应用。文中设计了一套价格低廉且实用性高的实时监控终端系统,用于实时呈现新冠疫情数据,以便于相关人员开展疫情防控。

新冠疫情实时监控终端系统包含数据实时抓取部分和数据实时显示部分。抓取的数据来自网络,并转化为结构化数据,最终存储到本地计算机或数据库。数据抓取结构如图1 所示。

图1 数据抓取结构

数据抓取部分采用爬虫对新冠疫情数据进行爬取。爬虫从一个或若干个初始网页的URL 开始,获得初始网页上的URL。在抓取网页的过程中,不断从当前页面上抽取新的URL 放入队列,直到满足系统的一定停止条件为止。通过网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL 队列,再根据一定的搜索策略从队列中选择下一步要抓取的网页URL,重复上述过程,直到达到系统的某一条件时停止。将抓取到的数据进行压缩,以json 数据包的形式进行存储,最后将数据包封装成API 接口以供终端获取。

实时监控终端采用STM32 作为其MCU,利用无线模块接入到无线网中。接入网络后,通过API 接口获取到数据包,终端对数据进行解析,解析后的数据可以直接显示在OLED 屏幕。为保证新冠疫情数据的实时性,终端系统定时对数据包进行获取并更新到OLED 显示。相关人员可通过OLED 屏幕显示的内容掌握新冠疫情的实时数据,解决了手机查看新冠疫情数据需要手动刷新的问题。疫情监控系统终端运行过程如图2 所示。

图2 疫情监控系统终端运行过程

疫情监控系统终端硬件部分主要由主控芯片最小系统模块、电源模块、串口通信模块、人机交互模块以及无线通信模块构成。

电源模块有电池供电与USB 供电两种供电方式,经过AMS-1117-3.3 稳压电路与滤波电路[12-13],将输出电压稳定在3.3 V,其原理图如图3 所示。AMS1117-3.3芯片输入电压需满足4.75 V≤VIN≤12 V。该电路从左至右依次为输入、接地、输出部分。电解电容C18用于滤除电源输入端的低频纹波,无极性电容C19用来滤除电源输入中的高频纹波。在AMS1117-3.3 芯片输出端加上了两个输出滤波电容C21和C30,用于防止电压输出波形出现振荡。LED 用于显示输出电压,当终端中接入电源时,LED 点亮,表示供电正常。电源电路中,电阻R8为限流电阻,阻值为510 Ω。

图3 电源电路原理图

终端的控制部分采用STM32F103VET6 作为主控芯片,还包括由时钟电路、复位电路和滤波电路组成的外围电路。STM32F103VET6 具有32 位Cortex 内核,内置512 kB 闪存和64 kB 静态随机存取存储器以及11 个定时器。该主控芯片包含80 个通用输入输出口,同时内置3 路12 位模数转换器和2 路12 位数模转换器。主控芯片的供电电压范围为2~3.6 V,因此采用稳压后的3.3 V 电压对主控芯片供电。稳压后的3.3 V 电压经过电容滤波后,接入主控芯片的VDD 端口。复位电路采用电阻、电容与按键开关实现,当按键开关悬空时,主控芯片NRST端口处于高电平;
当按键按下时,NRST 端口变为低电平,芯片复位。终端中主控芯片最小系统部分如图4 所示。

图4 主控芯片最小系统

终端使用CH340G 串行转换芯片及外围电路实现USB 转换串口功能,同时可以通过串口向主控芯片中下载程序。基于CH340G 串行转换芯片串口转换电路,可以通过主机实现STM32 单片机的擦除、编程、校验和加密。利用该电路进行程序下载不需要单片机控制,具有电路简单、价格低廉、功能稳定、下载速度快、无需冷启动等优点[14]。终端中串口通信电路如图5 所示。在使用串口向主控芯片下载程序过程中,首先将图4 中主控芯片的BOOT0 引脚置于高电平,BOOT1 引脚置于低电平,按下复位按键,即NRST引脚由高电平置于低电平,主控芯片进入系统存储器启动模式,通过串口可把程序烧录至主控芯片的FLASH 中。烧录完成后,将主控的BOOT0 引脚置于 低电平,主控芯片复位后,烧录进去的程序开始运行。

图5 串口通信电路

终端采用OLED 显示屏与按键的方式实现人机交互功能。OLED 显示屏模块具有8 引脚插针,通过插接的方式插入终端电路板的排母。终端电路板通过SPI 方式与OLED 显示屏模块通信。终端电路板中设计了四个按键用于外部输入设置,其中一个按键为系统唤醒按键,其余三个为自定义按键,可在程序中设定。当按键悬空时,按键所连接的主控芯片引脚状态为高电平;
当按键按下时,该引脚状态变为低电平,触发外部中断。人机交互电路原理图如图6所示。

图6 人机交互电路原理图

终端通信部分选用ESP8266 模块作为网络收发器接入网络。ESP8266 模块供电范围为3.0~3.6 V,与STM32 通过串口方式通信,该模块原理图如图7所示。ESP8266 模块可以连接到2.4 GHz 的无线网络当中,同时兼容IEEE802.11b、IEEE802.11g 和IEEE802.11n 三种无线协议[1-16]。ESP8266 模块支持三种工作模式,分别为STA 工作模式、AP 工作模式和STA+AP 工作模式。在文中终端设计中,将ESP8266模块设置为STA 模式。

图7 ESP8266模块原理图

疫情监控系统终端软件主要包含数据获取、数据分析与数据显示部分,其流程图如图8 所示。

图8 程序流程图

终端开始运行之后,程序首先进行初始化,包括OLED 屏幕显示初始化、ESP8266 通信初始化和中断程序初始化。MCU 通过串口方式与ESP8266 通信,发送AT 指令对ESP8266 进行设置。首先关闭透传模式,将工作模式设置成WiFi 的STA 模式,随后设置要接入WiFi 的网络名称与密码。当ESP8266 连接网络成功后,OLED 屏幕显示“WiFi 连接成功”字样。若ESP8266 连接网络不成功,则继续尝试重新连接。中断程序初始化部分为各个按键触发的外部中断初始化。

初始化程序执行完成后,终端通过向ESP8266写入指令连接到API 接口,从而获取疫情数据包。获取到的数据包为json 数据包,通过对数据包的解析抽取出需要显示的数据。

显示部分采用滚动显示的方式将国内及全球疫情数据分别显示。首先将国内疫情数据进行显示,包括现存确诊患者人数、累计确诊患者人数、累计治愈患者人数、现存重症患者人数和累计死亡患者人数。当国内疫情数据显示结束后,以同种方式显示全球疫情数据。

利用网线将无线路由器接入网络,配置无线网络名称与无线网络密码。将疫情监控系统终端通电,终端开机执行初始化程序,接入到配置好的无线网络当中,随即终端开始从网络中获取json 数据包,将数据包进行解析,如图9 所示,数据解析完成后首先显示国内疫情数据。

图9 国内疫情数据显示

如图10 所示,在国内疫情数据显示完后,终端继续滚动显示全球疫情,全球疫情的显示方式与国内疫情显示方式一致。

图10 全球疫情数据显示

基于STM32 的新冠疫情监控系统终端可以通过无线通信的方式接入互联网,从而获取新冠疫情数据,将数据进行解析后在屏幕上显示,方便了相关人员对疫情数据的实时掌握。但该终端仍存在一定的局限性,如数据来源单一,无法对不同平台提供的疫情数据进行整合,后续可在疫情数据融合方面进行深入研究。

猜你喜欢 串口按键数据包 二维隐蔽时间信道构建的研究*计算机与数字工程(2022年3期)2022-04-07基于有限状态机的按键检测程序设计电子制作(2021年3期)2021-06-16浅谈AB PLC串口跟RFID传感器的通讯应用装备制造技术(2020年11期)2021-01-26民用飞机飞行模拟机数据包试飞任务优化结合方法研究民用飞机设计与研究(2020年4期)2021-01-21C#串口高效可靠的接收方案设计物联网技术(2018年8期)2018-12-06按键消抖在单片机和FPGA实验教学中的应用数码世界(2018年7期)2018-08-11一种多方向导光按键结构设计电子制作(2016年1期)2016-11-07数字电源内部数据传输的串口通信方法实现通信电源技术(2016年4期)2016-04-04USB接口的多串口数据并行接收方法探索通信电源技术(2016年5期)2016-03-22串口技术的实物调试和虚拟仿真联合教学模式职业技术(2015年8期)2016-01-05

Tags: 终端   疫情   监控系统  

搜索
网站分类
标签列表