基于STM32单片机的智能宠物穿戴设备的设计与开发
2021-12-14冯欣悦刘李河姚佳露
冯欣悦,刘李河,姚佳露
(佛山职业技术学院,广东佛山,528000)
0 引言
近年来随着人们生活水平的提高,饲养宠物的家庭越来越多,宠物可穿戴设备成为当前一个热点研究课题。数据显示,全球宠物电子设备市场规模到2024年将达到至少25亿美元,中国的市场份额将超过20%。国内宠物智能产品从创新设计、研发再到销售,都逐渐进入社会市场中,越来越多的人们开始接受、并开始改变养宠方式。从长远看,宠物智能穿戴设备的需求将会越来越大。基于此,本文设计和开发除了一款基于STM32单片机的智能宠物穿戴设备。
1 系统功能概述
本文所设计的智能宠物穿戴设备,主要包括健康指标检测、心电图、语音交互、精准定位、实时传输、系统化管理、云端数据同步等功能。
(1)健康指标检测:系统可检测宠物心率,血氧浓度,脉搏等健康指标。
(2)心电图功能:可实时输出宠物心电(ECG)显示在LCD电容屏幕上。
(3)语音交互功能:语音识别加语音播报功能,可识别亦可反馈,通过语音控制系统。
(4)精准定位功能:系统采用NEO-M8N+GPS+北斗三重定位芯片,可迅速精准定位宠物位置。
(5)实时传输功能:采用GSM模块,可将宠物健康指标与位置信息通过短信发送至指定手机号码。
(6)系统化管理:采用WIFI模块将系统采集到的各项数据上传至手机APP,可在线管理分析。
(7)云端数据同步:系统将各项数据实时上传至中移物联云端,通过数据分析与处理,得到更加精准的宠物健康信息。
2 系统硬件设计
系统硬件整体连接示意图如图1所示。由于系统各功能模块较多,功能模块多采用串口通信,为了满足这些功能模块通信接口需求,采用一片STM32F103芯片和一片STM32F407芯片进行数据传输和数据处理。STM32F103芯片与NBIOT模块和GSM模块连接。STM32F407芯片与GPS模块、心电监测模块等其他模块连接。STM32F103芯片与STM32F407芯片之间是通过串行外设接口(SPI)通信。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。
图1 系统硬件整体连接图
2.1 STM32F103最小系统设计
选用STM32F103RCT6作为系统控制核心。STM32F 103RCT6是一种嵌入式-微控制器的集成电路(IC),芯体尺寸是32位,主频是72MHz,程序存储器容量是256KB,程序存储器类型是FLASH,RAM容量是48K。该芯片使用ARM Cortex-M3处理器内核,具有外设接口丰富、高性能、低成本和低功耗的优点。
本项目主要使用该芯片的串口外设资源。其中,UART2与NBIOT连接;UART3与SIM900A连接;UART1作为调试串口,方便开发过程软件调试;SPI1与STM32F407通信。其他外设资源可以为功能扩展预留。
2.2 STM32F407最小系统设计
该最小系统选用STM32F407VET6芯片作为控制核心。STM32F407VET6使用ARM Cortex-M4处理器内核,具有强大的浮点运算功能,主频是168MHz,外设接口丰富。项目中感知模块、GPS模块、WIFI模块、语音识别模块和语音播报模块都与其连接。STM32F407VET6芯片采集GPS数据、心电数据、血氧数据、温度数据和心率数据,并进行数据处理;通过OLED模块显示指标数据;通过WIFI模块将健康指标数据发送到手机客户端。
宠物智能穿戴设备连接的模块多,需要处理较多数据,因此需要处理芯片外设多、实时数据处理能力强,STM32F407VET6显然能够胜任该需求。
2.3 心率、血氧模块介绍
MAX30102是一个集成的脉搏血氧和心率监测生物传感器模块。它集成一个红光LED、光电检测器、光器件,以及带环境光抑制的低噪声电子电路。适用于穿戴设备进行心率和血氧采集和检测。MAX30102采用标准的I2C兼容的通信接口,将采集的数据传输到单片机进行处理。
2.4 心电监测模块介绍
系统使用AD8232模块来实时监测宠物心率。AD8232是一款用于ECG及其他生物测量应用的集成信号调理模块。该模块主要用于在运动或远程电极放置产生的噪声的情况下提取、放大及过滤微弱的生物信号,适用于心电信号采集。AD8232模块输出心电信号范围是0~3.3V,通过STM32F407的AD转换外设以50Hz频率读取模拟电压信号,并转换成数据信号。
2.5 语音交互模块电路设计
系统的语音交互功能包括语音识别、语音播报和逻辑控制。
语音播报功能由MP3模块实现。MP3模块原理图如图2所示。MP3模块自带SD卡槽,将存有语音文件的SD卡插入,通过串口给MP3模块发送播放指令,MP3模块会使用外接的扬声器播放语音。其中端口RX和TX分别是UART接收端口和发送端口,它们分别与STM32F407的TX和RX连接。SPK1和SPK2是连接扬声器。
图2 MP3模块接线原理图
语音识别功能由LD3320模块实现。它与STM32F407通过UART串口连接。模块具有口令识别模式和普通模式。其中口令模式又分为一级口令和二级口令。系统使用LD3320的口令识别模式,一级口令用于唤醒识别功能,二级口令用于发出指令。LD3320模块识别到指令后,通过串口将指令发送到STM32F407。STM32F407根据指令执行相应任务(语音播报、指标发送等)。LD3320模块的指令可以根据需要设置,但是STM32F407程序中要有对应的指令处理流程。
2.6 GPS模块电路设计
系统使用中微GPS模块定位。该模块支持北斗、GPS和GLONASS卫星系统。模块通过串口将GPS数据发送到STM32F407,由STM32F407进行数据解析。中微GPS模块定位精度10m左右,需要在室外才能收到卫星信号,因此在室内是无法完成定位的。中微GPS模块还可以为系统提供准确的时间。GPS模块电路原理图如图3所示。
图3 GPS模块电路原理图
2.7 WIFI模块电路设计
系统使用ESP8226串口WIFI模块。该模块具有成本低、稳定性好和抗干扰能力强的特点。模块内部使用LWIP协议,支持AP、STA和AP+STA三种模式。采用AT指令对模块进行读写操作,简单高效。
在系统中,使用WIFI模块将宠物指标发送到移动客户端,发送频率为1Hz。
2.8 温度检测模块电路设计
系统使用DS18B20数字温度传感器测量宠物的体温。DS18B20是美国DALLAS公司生产的单总线数字温度传感器。其测温范围是-55℃~+125℃,最大分别按率达0.5℃。
2.9 OLED显示屏模块
系统使用0.96寸的OLED显示屏模块显示主要参数指标,分辨率为128×64,采用SSD1306作为驱动芯片。OLED显示屏具有自发光的特性,其上有非常薄的有机材料涂层和基板,当有电流通过时,这些有机材料就会发光,而且屏幕可视角大(大于160°)、功耗低、反应速度快。OLED显示屏通过I2C总线与STM32F407通信。
2.10 NBIOT模块
系统通过NBIOT模块云端数据同步,通过数据分析与处理,得到更加精准的宠物健康信息。STM32F407将采集到的宠物健康指标数据通过SPI串口发送到STM32F103,STM32F103通过UART串口将宠物健康指标数据转发到NBIOT模块,最后由NBIOT模块发送到云端服务器。
2.11 GPRS/GSM模块
GPRS/GSM模块选用型号为SIM9000A,它搭载GA6-B模组。GA6-B模组采用2G通信标准,覆盖范围广。GA6-B模组传输速度快,支持85.6kbps峰值传输速率。采用UART与单片机通信,使用方便。
3 设备软件设计
软件设置如图4所示,系统上电后首先初始化单片机外设和各功能模块。初始化完成后就进入系统软件主循环。每一次循环都会从相应模块中获取数据并进行计算,得到最终的宠物健康指标。然后根据初始化的情况分别执行相应的动作。如果OLED初始化成功,则会实时显示健康指标。健康指标显示的刷新频率是1Hz。如果WIFI连接,则系统会以1Hz的频率向移动客户端发送宠物健康指标信息。如果NBIOT模块运行正常,则会以1Hz的频率将宠物健康指标同步到云端。当系统检测到宠物指标有异常,会将异常提示以短信的形式发送时到宠物主人手机。
图4 系统软件设计图
4 测试及结果分析
主要进行了三个测试,分别为语音控制宠物健康指标数据发送(通过短信发送到手机),WIFI发送宠物健康指标数据到手机APP,模拟移动客户端接收数据,通过NBIOT将宠物健康指标数据同步到云端,使用腾讯云服务器模拟云端服务器。
4.1 语音控制指标发送
语音控制指标发送流程为:
(1)用户说“小杰”作为一级指令,唤醒语音模块。
(2)系统识别到一级指令,回复“我在,请吩咐”,此时用户可以说二级指令。如果系统未识别到正确的指令,则会回复“听不清,请重新说”,返回第一步。
(3)用户说“指标发送”作为二级指令,控制短信发送指标到手机。
(4)系统识别到二级指令,则通过SIM900A模块发送指标到指定手机。如果系统未识别二级指令,则回复“听不清,请重新说”,此时返回第三步。
测试结果如图5所示。
图5 手机短信接收指标数据实验结果
4.2 WIFI发送宠物健康指标数据
系统正常运行时,会以1Hz的频率发送宠物健康指标到指定的移动客户端。该测试使用手机APP模拟移动客户端。APP接收结果如图6所示。
图6 手机APP接收宠物数据实验结果
4.3 云端同步宠物健康指标数据
系统正常运行时,NBIOT模块会以1Hz的频率发送宠物健康指标到指定的服务器。实验使用腾讯云服务器打开网络调试工具接收系统发送出来的数据,测试结果如图7所示。
5 结语
在本设计中通过STM32单片机实现了智能宠物穿戴设备的健康指标检测、心电图、语音交互、精准定位、实时传输、数据实施监控等功能。本设计可以通过GPS定位,向主人发送宠物位置信息,脱离既定的活动范围会向主人发出警报,这样可以很大程度上防止宠物走失。本设计可以监测宠物的心率和呼吸速率的功能。呼吸、心率数据也会发到云端分析,一旦数据异常,主人手机上的客户端就会建议主人带宠物上医院。作为守护宠物健康的先头部队。