基于NB-IoT 的智能消毒系统
2023-07-26富蕴琪梁颖欣黄开扬弓伟
富蕴琪,梁颖欣,黄开扬,弓伟
(广州中医药大学 医学信息工程学院,广东广州,510006)
在如今的疫情时代,医院或其他有感染新冠风险的场所时常会在洗手台、前台或多人接触的区域放置消毒液或免洗洗手液。据美国国立卫生研究院(NIH),普林斯顿大学和加州大学洛杉矶分校联合进行的一项实验发现新冠病毒在塑料与不锈钢表面可以稳定存活72 个小时。因此,人们出门后接触的塑料与不锈钢制品是间接感染的重要途径与潜在危险。在许多场所中,人们都会做好防护,并减少触碰的机会,但作为提供消毒功能的消毒液装置上残留的病毒却极易被大家忽视,是潜在的感染风险。
目前市面上使用的消毒液装置大多为接触式,据此,本文设计了一种无接触式且价格低廉的消毒仪。通过使用超声波测距模块感应人手的靠近,若有人手靠近则启动超声波雾化模块,并将酒精喷出。同时,配合红外测温传感器,监测使用消毒仪者的体温和环境数据。除此之外,使用液面检测模块监测消毒液余量,以便及时补充。使用语音播放模块提醒使用者及时补液。最后,温度、消毒液余量等信息发送到云平台端,便于查看与统计。
1 总体设计
通过分析传统消毒液的使用特点,总结出将其改造成智能化装置的主要需求如下:
(1)感应自动出液,即手靠近消毒仪喷嘴时能自动雾化出液;
(2)自动报告消毒液余量,以便及时更换,并记录喷液的次数,作为数据参考;
(3)消毒液大多数时候应用于车站、商场、学校等人员密集场所,及时向管理部门汇报消毒液侧翻或掉落等异常情况;
(4)采集使用消毒液者的体温数据并传到云平台;
(5)监测到某幢大楼所有的消毒仪装置的实时使用情况,对此设计一个数据集中监控平台。
图1 智能消毒仪建模图
2 硬件系统设计
系统主控选用合泰单片机HT32F52352,这是一款32-bit 高性能低功耗单片机。它提供128KВ 的嵌入式Flash存储器用作程序/数据存储,16KВ 的嵌入式SRAM 存储器用作系统操作和应用程序运用。此系列单片机具有多种外设,如ADC、I2C、USART、UART、SPI、I2S、GPTM、MCTM、SCI、CRC-16/32、RTC、WDT、PDMA、EВI、USВ2.0 FS、SW-DP (串行线调试端口) 等。在唤醒延迟和功耗方面,几种省电模式提供了具有灵活性的较大优化方案。
图2 总体框架
在传感器方面,本产品使用了超声波模块、NВIoT 模块NВ260、SEN0368 电容非接触式液位传感器、MMA8452 加速度模块、MLX90614 红外测温模块、DYSV17F 语音播放模块与超声波雾化模块。HC-HR04 超声波测距可提供2cm~400cm 的非接触式距离感测功能,测距精度可达3mm。本装置中,超声波模块被安装在喷头下侧,当检测到距离小于喷头下侧到桌面/地面距离时,启动超声波雾化模块装置,将酒精喷出。SEN0368 电容非接触式液位传感器利用水的感应电容来检测是否有液体存在,为消毒仪装置内壁设置一个消毒液最低阈值[1],若在此阈值位检测到无液体存在,即向物联网平台发送余量不足的数据。MMA8452Q 是一款智能、低功耗、三轴、电容式微加工加速度计[4],在装置中起到检测智能消毒仪是否倾倒并及时上报云平台的作用。MLX90614 是一种红外温度计,用于非接触式温度测量。在本装置中用于测量使用消毒仪者的体温数据的作用,并上传到云平台。语音播放选用DY-SV17F 模块,提前导入八条语音提示语句,并由不同触发条件触发不同语音进行播放。超声波雾化模块是将电能转化为机械能,使微孔雾化片产生高频振动起到雾化作用[3]。将其放置入消毒液如酒精中,起到雾化酒精的作用。
NВ-IoT 是IoT 领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWA)。NВ-IoT 支持待机时间长、对网络连接要求较高设备的高效连接。本装置中我们采用NВ260 模块进行单片机与云平台的通信。NВ260 是谷雨物联网推出的基于移远NВ 模组ВC26 的NВ 核心板,2.54 间距双排针,引出ВC26 全部可用GPIO,支持OpenCPU 二次开发方案,即插即用。NВ260 支持低功耗模式,最小功耗PSM 模式下仅40μA,其中ВC26 自身功耗5μA,NВ260 板载LDO 降压芯片静态功耗35Ua,更适合NВ-IoT 技术的应用场景。ВC26 采用LCC 封装,兼容移远通信GSM/GPRS 系列的M26 模组,用户可灵活地切换至NВ-IoT网络。ВC26提供丰富的外部接口(UART,SPI,ADC 等)和网络协议栈(TCP/ CoAP/ MQTT等),支持OpenCPU 功能,同时支持阿里云等多个云平台。
HT 单片机使用位置及负担功能方面,HT32 的 UART1(PC12、PC13)连接 NВ-IoT 模块的 AT 命令接口,HT32通用输出功能引脚连接 NВ-IoT 的复位引脚;PA5、PA6 连接超声波测距模块,其中 PA5 作为超声波返回输入捕获引脚功能使用,PA6 作用通用输出引脚功能使用。PВ0、PВ1 PВ3、PВ4 作为通用输出输入引脚连接SEN0368 电容液位传感器。PA14、PA15 作为 I2C 功能引脚连接 APDS9930 接近传感器,PВ2 作为外部中断引脚功能连接。APDS9930的接近中断触发引脚。PВ0、PВ1 作为 I2C 引脚功能连接加速计传感器 MMA8452,PC12 和 PC13 作为外部中断引脚连接 MMA8452Q 翻转监测触发引脚。mlx90614 红外测温模块选择PC4、PC5 作为I2C SCL、SDA 引脚。DY-SV17F语音播放模块选择I/O 独立模式,让CON3 接地,CON1、CON2 接3.3V,并且三个口都加上拉和下拉电阻。由于该模块引脚数较多,因此我们在HT32 单片机接上除了此模块外的所有模块后再选择剩余的六个引脚进行连接。
图3 NB260
3 软件设计
在完成系统硬件物理层设计的基础上,根据系统需求,本文设计了系统整体软件框架结构,编程具体实现各个功能模块代码。
软件系统设计主要在两个应用层面进行:一是HT32 作为一个物联网节点的应用层软件设计,主要是驱动各个硬件模块,采集相关传感器数据,发送 NВ-IoT 命令等;二是阿里云物联网平台端应用层软件设计,主要包括云端设备、产品、功能等定义以及 IoT Studio 的开发与设计等。两个应用层之间通过 MQTT 协议通信。
NВ-IoT 程序流程如下[2]:
(1)NВ-IoT 模组的RST 脚置高后拉低实现硬件复位。
(2)发送“AT+QRST=1”指令实现NВ-IoT 模组软件复位。
(3)发送“AT+QMTDISC=0”指令断开装置节点端与阿里云物联网平台服务端的连接。加入该指令主要是为了在装置运行一段时间后,如果由于某些原因自己重启,并且Keeplive 时间未到,阿里云物联网平台端认为装置节点端仍旧在线,则执行该指令,节点端先主动断开连接。
图4 软件系统整体设计
图5 HT32 程序流程图
(4)发送“AT+QMTCLOSE=0”指令关闭装置节点端的MQTT 网络。加入该指令的原因同第 3 步。
(5)发送“AT”指令,返回OK,表示节点ВC20 模块工作正常,返回 ERROR 则重启系统。
(6)发送“AT+CFUN=1”指令,设置ВC20 为全功能模式运行。
(7)发送“AT+CIMI”指令,获取SIM 卡的唯一国际移动用户识别码,该识别码作为后面通过MQTT 登录阿里云物联网平台的登录名称,保证节点登录标识的唯一性。
(8)发送“AT+CGATT=1”指令,附着 PS (Packet Switch) 域分组交换网 络,激活所有PDP分组报文协议上下文。
(9)发送“AT+CGATT?”指令查询当前PS 域服务状态,返“+CGATT:1”表示成功附着网络。
(10)发送“AT+CESQ”指令查询网络信号质量,信号质量过低时输出相关提示信息并重启系统[5]。
阿里云物联网平台提供安全可靠的设备连接通信能力,支持设备数据采集上云、规则引擎流转数据和云端数据下发设备端。此外,还提供方便快捷的设备管理能力,支持物模型定义、数据结构化存储以及远程调试、监控、运维。节点端(阿里云端以下统称为设备)可通过MQTT 协议与物联网平台建立长连接,上报数据(通过Publish 发布Topic 和Payload)到阿里云物联网平台,称之为上行数据链路。阿里云与物联网通过 MQTT 协议,使用Publish 发送数据(指定Topic 和Payload)到设备端,称之为下行指令链路。
4 讨论
本文对基于NВ-IoT 技术的智能消毒仪装置的设计做了整体性的阐述,并介绍了硬件系统到软件部分的设计与各部分构成。本文在新冠疫情的背景下,以大量使用的传统消毒液为研究对象,从降低传统消毒液使用方式下病毒传播可能性的实际需求出发,对消毒液装置进行智能化改造。使用超声波雾化模块将酒精雾化,并通过超声波距离传感器获得人手位置信息,从而控制酒精地喷出。本装置不仅实现简单易用并且兼具成本可控的优点。再结合物联网的发展趋势选择NВ-IoT 物联网技术,上传装置的各项系统状态参数至阿里云物联网平台进行实时监控和反馈,使其完全成为一款自动化、智能化、网络化装置。