APP下载

定时监测骑手体温的智能头盔系统设计

2022-04-24刘静琦周振虎阮煜婕刘静波袁瑞奇

现代计算机 2022年4期
关键词:串口骑手头盔

刘静琦, 周振虎,时 飞,阮煜婕,刘静波,袁瑞奇

(南京工程学院信息与通信工程学院,南京 211167)

0 引言

外卖骑手体温是否正常是其身体健康指标的重要方面,外卖骑手担负着配送食物或其他用品的职责,经常需要与不同人员近距离接触。现在对于外卖骑手或其他人员进行体温测量一般采用以下方法:有专门的人员进行手工测量,采用接触式或非触式测量工具进行测量;在固定场所安装热成像非接触式体温测量装置。这些方法必须需要外卖骑手等被测人员到固定场所才能对其体温进行监测,占用人力物力较多,效率较低,并且由于外卖骑手的流动性与特殊性不便于多次定时监测。按照要求,外卖骑手需佩戴安全头盔,保证交通安全,现有智能头盔,大多用于对佩戴人员进行定位、语音提示、环境参数测量、脑电波心率测量等,或者有一种外卖配送智能安全头盔实时督促配送员遵守交规,自动拨打外卖客户电话,让客户掌握订单配送状态等应用功能。这类智能头盔具备的常规功能,多以定位、语音、拍摄或以测量环境参数为应用功能,测量脑电波、心电信号来监测佩戴者的生理参数,其内置的传感器并不具备直接测量骑手体温的功能,不能防范外卖骑手体温异常造成的风险。本系统设计一种实时监测外卖骑手体温的智能头盔,可以定时监测骑手的体温数据,同时把骑手身份信息、位置状态数据等一起封装后,通过WIFI 传输至云平台,从而实现定时监测骑手体温和位置状态的应用功能,后台人员通过网页端查看数据信息。不依赖于人工测量骑手体温,也不需要骑手到指定的地方测量体温,智能头盔可以准确、方便、定时监测骑手体温,并发送数据到平台,为多次定时测量提供可行性。

1 系统组成

系统有头盔部分和物联网云平台部分两部分组成。头盔部分采用主控芯片读取非接触式高精度红外测温传感器测量的体温数据,采集GPS 模块的经纬度数据信息,WIFI 模块通过连接到骑手手机热点接入网络,进行数据传输。时钟芯片和EEPROM 存储芯片连接于一组IIC总线上,时钟芯片提供系统运行时间信息,也作为定时检测体温的时间信号,EEPROM 存储芯片保存骑手身份信息和其他配置数据信息,光电检测部分检测头盔是否正常佩戴。系统组成如图1所示。

图1 系统组成

非接触红外测温传感器MLX90614 体积小,非常适合安装于头盔正对骑手额头的部位。通过定时测量体温数据并发送到云平台,实现自动检测的功能。物联网云平台采用中国移动的OneNET 平台,该平台为用户提供简单高效实用的物联网平台,和可编辑的网页可视化界面,在网页端接收数据或者下发控制指令。按照云平台协议和数据类型封装数据包,发送数据包括骑手身份数据、体温数据、位置信息数据等,达到定时多次监测骑手体温的目的,提高效率。

2 硬件部分设计

2.1 OneNET云平台

OneNET 是中国移动推出的物联网开放平台,该平台屏蔽了复杂的技术细节,提供多种协议类型,支持多种智能硬件的接入和大数据服务,开发文档和技术支持完善。支持多种网络协议接入,如MQTT、EDP、HTTP 等,可轻松实现设备的接入与管理。用户按照OneNET云平台的规范接入平台,上传数据,实现数据传输与存储管理功能。用户在官网注册账号,就可以进入云平台创建项目。通过创建选定协议下的产品,系统给出当前产品的产品ID,添加设备,分析和创建项目数据流,添加APIKEY,从而创建用户自己的应用项目。数据上传完成后,用户可以在网页查看数据和对应的变化曲线,也可以下发控制指令,控制智能设备的运行。OneNET 系统可以在同一产品下添加多个设备,例如“智能头盔”产品,添加1号头盔、2 号头盔……,OneNET 系统分配不同的设备ID和鉴权信息,允许多设备运行。

2.2 硬件设计

针对头盔的结构,硬件设计采取模块化结构设计方法。智能头盔系统硬件分为主控芯片、非接触式红外测温传感器、WIFI 模块、GPS 模块、时钟芯片、存储芯片AT24C02 和光电检测这几个部分组成。图2表示了各单元与主控单元的连接,根据不同模块的应用特点,合理分配主控单元的外设资源,实现对智能头盔最优的硬件资源配置。

图2 智能头盔接口电路

智能头盔主控芯片采用STM32F103RCT6,这是基于Cortex-M3架构的高性能处理器,主频达72 MHz,具备48 kB SRAM、256 kB FLASH,其他资源包括定时器、串口、ADC、SPI、DMA 控制器、外中断等,满足智能头盔的应用需求及后续的拓展应用。在系统中,WIFI 模块和GPS模块分别连接于主控芯片串口3 和串口2,串口编程收发数据在本系统中是重要的环节,实际编程应用中,采用主控芯片的DMA 功能与串口中断接收,使得串口收发数据的效率得到充分提高。

MELEXIS 公司生产的MLX90614 温度传感器是一种使用方便的红外测温器件, 直接输出完全线性化的并已对环境温度进行补偿的数字温度,可实现高精度和高分辨率的温度采集,该器件具有2 种温度输出方式:数字PWM 输出及SMBus 接口输出,具有体积小、精度高、测温范围广、使用方便的特点。在温度范围为32~42 ℃时,测量的绝对精度为±0.2 ℃,因此非常适用于对人体温度进行测量。本系统主控芯片PB6和PB7作为SMBus接口,连接于MLX90614。

ESP8266 是一款高集成度的WIFI 模块,其本身是一个32 位的MCU 单元可以独立访问网络,也可以搭配其他主控芯片,帮助其他主控芯片接入互联网。ESP8266 提供一对串口与主控芯片进行数据交换,与主控芯片通过串口3连接。ESP8266 允许配置为热点(AP)、客户端(STA),热点+客户端(AP+STA)三种模式,本系统把ESP8266 配置为STA 模式,通过手机热点接入网络,实现远程控制与数据传输。

GPS 模块采用VK2828U7G5LF 模块,带有高精度TCXO,内置FLASH,可自由配置多项参数,包括波特率和数据刷新率(1~10 Hz)。输出语句NMEA0183V3.0 协议数据,可任意设置其中协议数据输出.模块与主控芯片之间通过串口2连接,本系统应用中,配置GPS模块串口波特率为38400 bps,5 Hz数据更新速率。

时钟芯片选用DS3231 芯片,这是一款内置温补晶振的时钟芯片,3.3 V 供电电压,精度可达 正 负2 ppm(0°~40°),标 准IIC 接 口 与STM32 主控芯片进行数据读写,DS3231 的器件地址分别是0XD0(写)0XD1(读),该芯片具有1Hz信号输出引脚INT/SQW,可作为中断信号输出,INT 引脚是开漏输出模式,该管脚外接10k上拉电阻连接到3.3 V。在初始化DS3231时,配置控制寄存器OEH 为OOH,则OEH 其中的BIT4 和BIT3(RS2 和RS1)以及BIT2(INTCN)为0,则3 脚INT/SQW 输出1Hz 方波,该信号连接STM32端口PC6,可作为外中断信号,在外中断服务程序中处理对应的程序,提高了主程序运行的效率。

本系统PB11 和PB10 配置为IIC 总线,其中PB11 为SDA 数据线,PB10 为SCL 时钟线,其中接入10 k 上拉电阻,保证确定的电平信号。在IIC 总线上除了接有时钟芯片DS3231,还包括EEPROM 存储芯片AT24C02,主控芯片通过不同的器件地址访问总线上的器件,读取数据。EEPROM 存储芯片AT24C02 用作存放系统配置的参数。

采用GL5516 光敏电阻与10 k 电阻分压,接入主控芯片的PA1,程序中配置PA1 模数转换读取分压的电压数值。光敏电阻安装于头盔内侧,正常佩戴头盔和未佩戴头盔两种情形下,光敏电阻呈现出不同的电阻阻值,从而换算为不同的分压数值,系统根据读取的数据,如未正常佩戴头盔,则系统通过PC0 端口驱动蜂鸣器,发出提示,确认使用者正常佩戴头盔。

3 软件部分设计

3.1 数据流

智能头盔与OneNET 之间以MQTT 协议方式传输数据,该协议支持数据双向传输、实时性高,也具有长时间稳定连接的优点。设备登录OneNET 平台后,选择在此协议下创建“智能头盔”产品,添加设备后,在程序中封装数据,包括需要上传云平台的数据,和接收云平台发送的指令数据,把这些数据统称为数据流。OneNET 对数据流的封装提供了多种数据类型封装形式,本系统采用数据类型3(TYPE=3,JSON 格式2字符串)模式。本系统数据流根据数据传输方向分为两类:①上行数据流,包括智能头盔定时测量的体温数据、GPS 定位模块获取的经纬度位置信息、骑手身份信息、发送时间等。这些数据流封装为完整的数据包,通过ESP8266 发送至OneNET 云平台。②下行数据流,是网页端发出的控制指令,通过OneNET云平台发送给智能头盔,发布的控制指令主要是修改测量体温的定时时间数据,智能头盔接收到该控制指令后,可以更改定时发送的时间。

3.2 主程序设计

程序首先对智能头盔系统各模块进行初始化,包括串口2 和串口3 初始化,红外测温传感器SMBus接口初始化、IIC总线端口初始化、IIC总线接入的DS3231 芯片配置初始化、ADC 转换初始化等。然后,经串口3 发送AT 指令给ESP8266模块,设置ESP8266为STA 模式,连接WIFI 后,等待连接OneNET 云平台的回应信号,确认连接OneNET 服务器。在初始化连接OneNET 的过程中,程序可以设定与OneNET 服务器的KeepAlive 保活时间,每个客户端可自定义设置连接保持时间,最短120 s,最长65535 s,用户可以在此范围自己设定上传数据的时间间隔。连接OneNET后,程序中按照设定的发送时间间隔T,把测量的体温数据和经纬度位置数据信息传输至云平台。主流程如图3所示。

图3 系统主流程

其中接收GPS数据是根据串口2中断给出中断标志位后,对接收的GPS 位置信息分析后存入相应的变量,最后与体温数据、身份信息等封装打包为上行数据流,发送数据至OneNET云平台。为适用于不同的情况,定时发送体温的时间间隔是可以改变的,定时时间的设定由OneNET 网页端下达控制指令,主流程中,智能头盔的ESP8266连接于串口3,利用串口中断处理接收指令,解析数据后,设定时间间隔T,同时存入EEPROM芯片中。

3.3 红外测温MLX90614程序

SMBus 接口为两线协议,允许主控器件(MD)和一个或一个以上的从器件(SD)通信。系统在给定的时刻只有一个主控器件。本系统中主控器件是STM32F103RCT6,MLX90614只作为从器件使用。主控器件是通过从地址(SA)选择从器件MLX90614 并开始数据传输,本系统中采用一个MLX90614作为体温测量传感器,其地址为0x00。SMBus 有标准的协议,主控芯片发送和接收数据都是以字节为单位进行。主控芯片每发送一个字节,会检查从机是否有应答;当主控芯片接收数据时,如当前接收的非最后一个字节,主控芯片会给对方发送应答信号(ACK),如接收的是最后一个字节,主控芯片会给对方发送非应答信号(NACK)。

图4是MLX90614测量体温流程。

图4 MLX90614测量体温流程

MLX90614 测温程序中,设定一个计数值,该计数值递减计数,如果计数到0,则表示测量不成功,退出本次测量。对于测量不成功包含两个方面:①主控器件在每次发送数据后,检查MLX90614 的应答情况,如从机应答不成功,则重新开始循环,直到计数值为0,则退出本次测量。②从机应答正常,但最后主机读取的校验字节与校验计算和不一致,循环测量后,判断计数值为0,则退出本次测量。一个完整的体温测量,实际上包括MLX90614正常应答和校验正确,只有满足这两个方面,就得到本次测量的体温数据。MLX90614 测量流程如图4 所示。读出的体温数据字节是高字节和低字节数据,按照按照式(1)组合为16 进制数据,式(2)得到体温。

3.4 外中断程序

DS3231 有INT 输出引脚,接入STM32F103 RCT6 的PC6 端口,这是一个每秒的输出中断信号,在智能头盔系统中可以配置PC6 端口的外中断,在外中断服务子程序,每次中断执行一次读取时间和日期数据。同时,读取模数转换的数据也在外中断中执行,用于检测是否佩戴头盔,检测数值低于设定数值后,驱动蜂鸣器每秒发出提示。外中断程序的利用,减少系统主程序的占用,提高程序的执行效率。外中断程序如下所示。

void EXTI9_5_IRQHandler(void)

{

if(EXTI_GetITStatus(EXTI_Line6)!=RESET)//外中断PC6入口

{

ds3231_get_time(); //获取时间日期

ds3231_get_date();

//光线传感检测佩戴头盔

if(Adc_Average(5)<1500)//取AD 转换值,小于数值1500未佩戴

FMQ=!FMQ;//驱动蜂鸣器

else FMQ=1;//蜂鸣器停止

}

EXTI_ClearITPendingBit(EXTI_Line6);//清除PC6中断标志

}

4 实际测试

体温监测智能头盔系统软硬件搭建完成,进行实际测试。加电后,等待系统连接OneNET,在网页端可看到设备状态,系统连接到OneNET后,设备显示为在线状态。在网页端刷新数据流,实时接收到测量的体温数据和当前的经纬度、发送时间等信息。也可以利用OneNET 提供的可视化用户界面编辑设计功能,组合编辑文本框、旋钮等控件,在其应用界面上展示数据结果,图5是实际测量数据展示,其中包含体温、经纬度、时间等,可视化界面中添加的旋钮控件,用于网页端下发指令,控制数据上传的时间间隔。实际测试表明,系统运行稳定,数据接收和下发指令功能正常,可视化界面简洁,有较好的应用效果。

图5 实际测试可视化用户界面显示

5 结语

本系统采用非接触式红外测温传感器定时测量外卖骑手体温,按照预设的定时时间测量数据。采用模块化结构,对系统进行实际测试,结合OneNET物联网云平台方便简洁的可视化应用界面设计,实现了定时测量体温并远程上传体温数据、经纬度信息等功能。STM32 丰富的资源,为系统优化提供了基础,后续可进一步对系统进行优化,对系统进行集成化设计,使系统小型化集成化,优化电源管理,加入低功耗设计,则更具实用性。加入碰撞跌倒检测与报警,或者网页端可以下发指令,加入呼叫功能等,都是可以进一步优化的环节。

猜你喜欢

串口骑手头盔
小小骑手,快快冲
暑期近万名大学生兼职送外卖
外卖骑手的本分与情分
女骑手
MCS—51单片机中的多串口通讯技术的应用
便携的折叠头盔
汉字戴头盔
时光减速头盔
全国计算机等级考试机房准备工作探讨
微机串口的测试诊断