APP下载

基于ESP8266 WiFi模块的物联网体温监测系统

2021-01-27张琥石林伟龙杨发柱黄向军金星伊罗晓春张盈盈

物联网技术 2020年12期
关键词:按键上位串口

张琥石,林伟龙,杨发柱,黄向军,金星伊,陈 洁,罗晓春,张盈盈,甘 辛

(广西医科大学 生物医学工程学院,广西 南宁 530021)

0 引 言

体温作为人体基本生理指标之一,历来为医生判断生命体征和诊断临床疾病提供重要依据。合理、准确的体温测量在医学以及其他领域尤为重要。检测体温利于医生掌握病患体温的变化,正确判断病患的身体情况,制定对应治疗方案。然而目前临床上所使用的体温计存在读数困难、难以统计数据以及易于产生交叉感染等问题[1],无法满足当下医生、患者对体温计的使用需求。近些年,物联网技术发展迅速,应用广泛[2],可以利用蓝牙、WiFi等无线传输技术[3]通过通信网络使得物体与专网、内网和因特网相连,进行长距离或者短距离的数据交换和信息通信,实现对物体的智能化识别、预案管理和远程实时监控等[4]。基于此,本文设计了一款基于ESP8266芯片的物联网体温监测系统,该系统通过WiFi技术远程监测病人体温[5],并对测温系统进行远程管理,可解决目前临床上使用体温计所面临的问题。

1 总体设计

系统组成如图1所示。本系统采用12C5A60S2单片机作为主控;红外测温模块采用MLX9064红外温度传感器,该传感器通过I/O口与单片机相连;WiFi模块采用ESP8266芯片,12C5A60S2单片机将温度传感器采集到的温度值通过串口发送给ESP8266,ESP8266再将温度值通过网络传送给手机或电脑,从而远程监测病人的体温数据。

图1 系统组成

2 红外测温模块

红外测温模块采用Melexis公司出品的MLX90614系列高精度红外测温芯片。该芯片采用TO-39金属封装,模块里集成了红外感应热电堆探测器芯片和信号处理专用集成芯片,其中信号处理专用集成芯片包含有低噪声放大器、17位数模转换器和数字信号处理器等。MLX90614系列芯片设置有默认的系统管理总线(SMBus)和10位数字PWM输出模式,其中10位数字PWM的输出格式可用于连续测温,传送温度范围为-20~120 ˚C,分辨率为0.14 ˚C。MLX90614内部结构如图2所示

图2 MLX90614内部结构

MLX90614采用标准的TO-39封装,该封装有四个引脚:VSS、SCL/VZ、PWM/SDA、VDD,各引脚功能见表1所列。

表1 MLX90614引脚功能

MLX90614与单片机连接时,将SCL、SDA引脚直接连接单片机的I/O口,VDD引脚接5 V电压。MLX90614与单片机连接电路如图3所示。

图3 MLX90614与单片机连接电路

3 ESP8266 WiFi模块

ESP8266 WiFi模块为乐鑫公司开发的一款物联网专用芯片[6-7]。ESP8266 WiFi模块采用串口与单片机通信,内置TCP/IP协议栈,通过WiFi与上位机通信。利用ESP8266模块对传统串口设备进行简单的串口配置,即可将数据通过WiFi传输给上位机,实现物联功能。ESP8266 WiFi模块有三种工作模式:STA模式、AP模式、STA混合AP模式。STA模式通过路由器和英特网相连,属于英特网内通信;AP模式将ESP8266作为一个热点,上位机通过连接此热点通信,属于局域网内通信;STA混合AP模式是以上两种模式的混合,用户既可在局域网内通信,也可使用英特网通信[8]。

4 氦氪云

在ESP8266模块工作之前需要装入一个固件。综合考虑目前市场上的多种固件,本系统选择了安装有氦氪云固件的ESP8266芯片—Hekr V1.1。Hekr V1.1的工作原理如图4所示。

图4 Hekr V1.1工作原理

Hekr V1.1的工作原理如下:将平板电脑或手机等上位机通过英特网将控制信号发送至网络服务器;服务器接收到信号后,再利用英特网转发给ESP8266芯片;ESP8266芯片将接收到的信号命令通过串口发送给单片机。反之,单片机的数据也可通过串口发送至ESP8266,再由英特网传送给网络服务器后转发给手机、平板电脑等上位机。由此便通过英特网实现了手机等上位机对单片机的远程控制,实现了数据互通。

氦氪云定义了上位机与Hekr V1.1传输指令帧的格式:基本帧格式数据头+产品业务数据+数据尾。氦氪云传输帧格式如图5所示。

图5 氦氪云传输帧格式

(1)帧头(1 B):帧起始标识,其值固定为十六进制数0x48。

(2)帧长(1 B):传输帧的长度储存在此帧中,取值范围为 [0x06,0xFE]。

(3)帧类型(1 B):帧类型的识别码储存在此帧中,0x01为下位机上报帧,0x02为上位机下发帧,0xFE为操作帧,0xFF为错误帧。

(4)帧序号(1 B):每传输一帧,序号自增1,标识顺序及取值范围为[0x00,0xFF]。

(5)有效数据(nB):储存具体通信内容,其长度根据实际情况而定。

(6)校验码(1 B):以上每帧中的数据之和一旦超过0xFF便取低8位(1 B)。

根据氦氪云所定义的帧格式,本系统所需的传输帧共有5种,传输帧具体内容见表2所列。表2中下发帧由手机、电脑等上位机发送给单片机,上报帧由单片机发送给上位机。

表2 传输帧

5 软件设计

5.1 上位机软件设计

上位机APP采用HTML5与Javascript编写,在手机上安装此APP即可使用编写的上位机程序。本系统的上位机界面如图6所示。

图6 上位机界面

按“开始/清零”按键即可测量体温,再按一次则清零。本系统可以储存10次体温测量结果,按“前”或“后”按键可翻看储存的历史体温数据。上位机程序流程如图7所示。先判断“开始/清零”按键是否按下,如被按下,APP向单片机发送Star-Clear帧,将体温值清零。再判断“前”按键是否按下,如按下向单片机发送Upward帧,查看前一个体温测量值;如“后”按键按下则向单片机发送Downward帧,查看后一个体温值。之后,向单片机发送QueryStatus帧,单片机收到QueryStatus帧后,将监测到的体温数据写入ReportStatus中,上传给APP,APP收到ReportStatus帧后,在显示屏上显示体温数值;如未收到ReportStatus帧,则提示丢失。

图7 上位机程序流程

5.2 单片机软件设计

单片机软件程序流程如图8所示。首先检测是否收到Start-Clear帧,如收到则将Keyflag标志位取反。接着判断是否收到QueryStatus帧,如收到则向上位机发送ReportStatus帧,再判断Keyflag的值是否为1,为0则将温度值清零;如Keyflag的值为1,则启动温度传感器取10次温度值,并取平均值,随后显示温度值,并将温度值写入ReportStatus。最后判断温度是否存在异常,如存在异常则启动蜂鸣器报警。

图8 软件程序流程

6 系统测试

在iPhone7智能手机上安装氦氪云APP,当Hekr V1.1连接因特网后,将手机连接4G网络。选取甲、乙、丙三位身体健康的志愿者,在8:00,15:00,20:00时使用精密水银温度计[9]分别测量他们的腋下体温,同时使用本文所设计的物联网体温监测系统分别测量志愿者的腋下温度,测量结果见表3所列。

测试结果显示,最大的体温误差仅为0.46 ℃,符合医学领域对体温测量精度和准确度的要求[10]。测试过程中,在APP上点击“开始/清零”按键时,温度值可正确显示或清零;点击“前”按键、“后”按键时,可查看历史数据。

7 结 语

本文介绍了一种基于ESP8266 WiFi模块的物联网体温监测系统,其具有测量精度高、读数快、可通过英特网远程监测体温等优点。经过测试,该体温监测系统输出响应良好,误差小,可应用于临床治疗、科学研究等领域,应用前景广阔。

表3 水银温度计与物联网体温监测系统测量结果 ℃

猜你喜欢

按键上位串口
基于有限状态机的按键检测程序设计
浅谈AB PLC串口跟RFID传感器的通讯应用
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
一种多方向导光按键结构设计
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
以新思路促推现代农业上位
基于并行控制的FPGA多串口拓展实现