基于ESP8266 的公交汽车自动消毒系统设计
2023-02-07杨华李自成杨轩昱赖忠亮
杨华,李自成,杨轩昱,赖忠亮,胡 强
(成都理工大学工程技术学院,四川 乐山 614000)
一场突如其来的新冠肺炎疫情,对各个国家的经济、人民健康危害极大。因此,我国加速建立起来完善的防疫消毒设施是迫在眉睫的必要工作。如果将自动控制技术和公交汽车消毒装置相互结合,能更加有利于公交汽车的防疫消毒工作[1]。并且,相比于人工消毒更加便捷,节约成本,以及能在更精确的时间及时消毒,基于单片机技术和WiFi 通信技术的原创操控技术将工作效率实现最大化提升。本文基于单片机和ESP8266 模块设计了公交汽车的自动消毒装置,系统能够在设置时段进行自动消毒,并可通过WiFi 网络发送至控制中心,工作人员可以通过红外对射传感器反馈的公交汽车乘客人数设定更加频繁的消毒次数。系统制造以及运行成本低,实时通信可靠,操作便捷。
1 系统构成及工作原理
公交汽车自动消毒系统主要由控制系统和硬件系统组成,控制系统主要包括控制中心的APP 模块。硬件系统主要由WiFi 通信模块ESP8266,显示模块、按钮模块、舵机模块、喷洒器模块以及语音提示模块等模块组成。模块化设计使控制系统更加容易操作和调试。通过ESP8266WiFi 通信模块的功能,连接区域内局域网,通过控制中心实现对公交汽车自动消毒装置的控制。手动按钮模块根据具体情况,司机可以及时控制消毒开始以及消毒停止,显示模块用于显示即将消毒剩余时间、工作人员设置的额外消毒的开始时间以及司机是否开始或暂停消毒。舵机模块可设置指定角度主要消毒,使喷头到达指定位置时停止转向,进行消毒,使主要消毒部位更完全地消毒。语音提示模块根据具体情况,发出相应的语音提示。如果无需额外增加消毒次数,利用定时功能即可。
1.1 ESP8266 模块
ESP8266 是一款低价的32 位Wi-Fi 串口模块,其集成度高、功耗低、性能稳定、温度范围宽,被广泛应用于物联网设备领域[2]。该芯片有17 个GPIO 引脚,在使用的过程中,为避免Node MCU 开发板无法正常工作的情况,禁止使用GPIO 的6~11 这6 个引脚。2 引脚不能连接低电平,15 引脚在Node MCU 开发板运行的过程中要一直保持在低电平状态,0 引脚在开发板运行中需要一直保持高电平状态。整个车位地锁装置在运行过程中,Node MCU 各引脚的输入和输出电压应不高于3.3V,输出电流的最大值是12mA,防止电压或电流过高而损坏模块。在本设计中Wi-Fi 模块组作为整个装置的核心,要同中央控制系统进行无线连接。
1.2 红外对射传感器
公交汽车客流量需要依靠红外对射传感器来检测。红外对射传感器由发射端、接收端、光学透镜等组成,其原理是红外二极管发射红外射线,当有乘客上车以及下车时,阻挡了对射传感器接收端接收红外线,进行信息处理,将客流量反馈到控制中心,在控制中心显示屏上显示,便于工作人员进行后续消毒处理。该模块具有体积小、便于装配、抗干扰能力强等优点。可以通过调节模块中的电位器旋钮来调节检测距离。本设计选择HM-Sensor 红外传感器模块,该模块共有三个引脚,VCC 引脚在该装置中接入3.3 V 电压,GND引脚外接地,OUT 引脚接Wi-Fi 模块组的D1 引脚。
1.3 显示模块
显示模块用来显示公交汽车消毒时间,工作人员是否设置下次消毒时间等信息,本设计选用6.7 寸OLED显示屏,具有功耗低、高分辨率、超大可视角度(大于 160°)的特点,工作电压3V~5V,兼容3.3V 和5V电平逻辑。模块使用 I 2C 通讯,四个端口分别连接到Wi-Fi 模 块组上。根据实际情况,可显示“即将消毒”“消毒开始”“消毒暂停”等信息。
1.4 语音提示模块
公交汽车在即将进行消毒时需要进行语音提示。本系统采用N588D 语音单片机,是一款具有单片机内核的语音芯片。拥有MP3 控制模式、按键控制模式、按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制控制端口扩展等输出模式。该模块功能丰富,能灵活更换SPI-Flash 内的语音内容。支持USB 接口和标准串口,输入电压DC2.8~5.5V,IO 电平3.3V,工作电流10mA。该模块能很好适应整个装置的电压标准。该模块抗干扰能力强,可在各种恶劣环境中稳定运行,适应工作温度可达80℃,工作湿度最高达到95%,适应各种公交汽车的需要。当公交汽车处于工作时间时,到达工作人员设定的消毒时间时语音提示模块会提示“即将进行消毒”;若公交汽车司机按下暂停消毒按钮,语音模块会提示“司机已暂停消毒”。
1.5 舵机模块
舵机是集成了电机、电机控制器和减速器等元件的伺服单元,公交汽车自动消毒系统的喷洒模块是依靠舵机来进行驱动,喷头转动不同的角度由舵机转动角度来确定[3]。该公交汽车自动消毒系统采用MG90S舵机,该舵机的作用角度为0°~180°,舵机桨可以任意在某个角度固定,由于供电原因使用蛮力是很难掰动舵机桨的,只有舵机掉电之后舵机桨才会任意扭动,该舵机具有价格便宜、扭矩大、寿命长、性能稳定等优点。工作电压为3.5V~5V 电压功率的舵机,所以其电源线可以直接接到单片机的+5V 和GND 上,信号线可以接到单片机的一个IO 端口上,这个IO 端口通过输出PWM 控制消毒喷头的角度在任意位置上固定停留,需要时可以固定进行消毒。
1.6 喷洒模块
本装置采用雾化8/11/12 管三通微喷头自动定时喷雾912 毛管三通喷头。该喷头和ESP8266WIFI 模块结合起来,即可实现智能化、自动化。既可以通过控制中心定时喷洒也可通过司机按钮控制喷洒。也可根据公交汽车具体乘客的数量情况,设置不同模式,更加有效、安全地进行消毒。该装置采用先进的防老化技术,保证了该产品的实用性与可靠性。
1.7 双基色LED 模块
双基色LED 模块用于提醒消毒进程,可分别显示红灯和绿灯,控制中心可设置两种颜色的亮度,当光线较强烈时增加亮度,光线较暗减小亮度。当消毒时,亮起绿灯,当暂停时会亮起红灯,从而在需要进行消毒时可以更好地提醒公交汽车乘客。
2 系统软件设计
通过计算机进行代理操作,为方便系统测试本设计在局域网访问 ESP8266。软件设计分为ESP8266 程序的编写和手机端App 软件Car station 程序的搭建。ESP8 266 搭建简易的Web 服务端,所有的网络请求都使用get。程序使用Anduino ide,控制端程序使用HBuildX ide,代理软件选用nginx,串口调试助手用花生壳内透软件HsKDDNS_5.3.03488。程序启动过程为:初始化硬件→连接Wi-Fi 模块→配置服务端内容→查询硬件→控制部分硬件→传递网络服务请求。具体流程为:流程开始,软件进行初始化,自动喷洒装置关闭,装置进行连接局域网热点,控制中心进行定时消毒,消毒情况反馈给软件系统,再次进行初始化,循环上述过程。消毒流程如图1 所示。
图1 控制中心消毒流程图
在司机需要手动控制消毒时,司机可以根据实际情况,通过公交汽车的手动按钮来控制消毒的开始与暂停[4]。如果控制中心在定时控制公交汽车消毒时,司机根据实际情况,可以通过手动按钮进行强制暂停消毒,在适宜进行消毒时,司机可手动操作继续进行消毒。实现了消毒资源的最大化利用,节省了人力物力。具体操作流程为:公交车需要消毒时,流程开始,模块进行初始化,自动喷洒装置关闭,装置连接上局域网之后与控制中心进行连接,控制中心不进行操作时,装置按照设置的定时时间进行消毒,若人流量较大,控制中心可设置更加频繁的消毒次数,根据实际消毒情况,如“消毒完成”“消毒已被司机暂停”等反馈到控制中心,以便于控制中心进行之后消毒管理。
在司机操作模式下,模块首先进行初始化,自动喷洒装置关闭,司机可通过公交汽车乘客数量进行手动消毒,手动消毒结束后将消毒是否成功反馈到控制中心,以便于控制中心后续的消毒。没有到达定时消毒时间,则由控制中心和司机控制消毒次数,当到达定时消毒时间,司机可以通过手动按钮进行控制,是否暂停,如果不按下消毒暂停按钮,则公交汽车内将进行“消毒即将开始”的语音提示,双基色模块绿色亮起,显示屏显示开始消毒。若司机根据公交汽车内实际情况,按下暂停按钮,公交汽车内将进行“消毒中止”的语音提示,双基色模块红色亮起,显示屏显示消毒中止的提示[5]。操作流程图如图2 所示。
图2 司机操作流程图
3 结语
本文以ESP8266 无线Wi-Fi 系列开发板Node MCU为主控制器,利用二次声明开发的控制中心软件来实时监测公交汽车消毒的情况,利用语音提示模块来提醒公交汽车乘客即将要进行消毒[6]。公交汽车消毒时间会实时显示在显示屏和控制中心软件上,自动消毒装置的硬件系统连接公交汽车上的局域网,与软件进行互通,可以使控制中心能够及时控制公交汽车消毒系统,通过公交汽车线路装置,司机能使用手动按钮控制消毒装置开始以及暂停。实现了自动消毒功能,有效提高了消毒效率以及节约了更多的人力。