APP下载

基于STM32的宠物报警系统设计

2022-05-20王俊杰朱海轩冯俊杰

物联网技术 2022年5期
关键词:蜂鸣器温湿度宠物

方 舟,王俊杰,朱海轩,吕 洁,冯俊杰,董 宇,张 旭

(1.金陵科技学院 网络与通信工程学院,江苏 南京 211169;2.金陵科技学院 国际教育学院,江苏 南京 211169)

0 引 言

当前,人们饲养宠物的需求越来越大,促进了宠物用品行业蓬勃发展,市面上出现了大量智能宠物佩戴产品。《2019年中国宠物行业白皮书》显示,我国宠物经济行业规模庞大、发展迅速,但与欧美发达国家相比,仍然有较大的增长空间。《2019中国宠物消费趋势报告》指出,我国宠物行业全产业链日趋完善,并逐渐面向市场。目前,宠物业已经构建出了一条较完整的产业链。市面上智能产品众多,有的关注宠物智能投喂,有的是宠物防丢装置,但针对宠物设计实现良好的实时报警功能的产品尚比较缺乏,所以本设计着重关注智能宠物佩戴产品的报警功能设计与实现。本设计有效避免了因环境或人为因素导致网络状态不佳而无法实时监控以及智能宠物产品实时监控界面在多平台间不兼容的情况。采用传统发送短信方式实现关键信息发送,不受3G/4G/5G网络对信息发送的影响,网络环境对功能的影响甚微,具有较高的稳定性。实时短信消息的发送使监护人员能够快速实时了解宠物状况,并可通过OneNET物联网平台实时监测宠物信息。

1 系统整体设计

总体设计主要由硬件和软件两部分组成。硬件部分主要由STM32开发板搭载各类传感器、蜂鸣器而成。利用温湿度、心率血氧传感器、GPS模块对宠物进行实时数据采集,单片机负责处理数据。软件部分主要包括数据处理功能代码与报警功能代码。整体系统如图1所示。

图1 系统整体设计

1.1 硬件设计

硬件设计包括许多部分,如STM32F407、电源模块、附加传感模块等,各个硬件组成与接口电路如图2所示。主控芯片上PA口连接到MAX232芯片,通过电阻分别将MAX232(1)和(2)相连接;通过电平转换,最终4G RXD信号和4G TXD信号与通信模块发出的EC20 RXD/7600RXD和EC20TXD/7600TXD信号整合输入,从而实现通信信号的接收功能。该主板挂载的另外两个功能模块,分别是温湿度传感器(DHT11)、心率血氧传感器(MAX30102)。主控模块PB0引脚输出信号以控制蜂鸣器,从而进行实时报警反馈。

图2 各个硬件组成与接口电路

(1)温湿度传感器(DHT11)

温度监测范围:(0~50 ℃)±2 ℃;相对湿度监测范围:20%~90%。

DHT11数字温湿度传感器是一种已校准数字信号输出的温湿度复合传感器,它使用专业的数字模块采集技术和温湿度传感技术,确保有更高的可靠性和稳定性。

DHT11采用单总线双向串行通信协议,单片机发起开始信号后,进行数据采集;DHT11向STM32单片机发送响应信号并传输40位数据帧。

(2)心率血氧传感器(MAX30102)

MAX30102是一个用于监测脉搏、血氧和心率的传感器模块,集成了含有660 nm红光LED、880 nm红外光LED、光电检测器和光器件以及带环境光抑制的低噪声电子电路。MAX30102在5.5 V的外部电压配置下,增加一个1.8 V电源和一个独立的3.3 V用于内部LED的供电电源,传感器使用了标准的IC兼容的通信接口。

心率:心率获取是采用电容积脉搏波描记法(PPG);LED光射向皮肤,反射回的光波被光敏传感器接收到,光敏传感器中数据被转换成电信号再经过模数转换,使其转换成数字信号。血氧:由于血液中含有的氧合血红蛋白和血红蛋白的含量总是存在一定的比例。氧合血红蛋白HbO和血红蛋白Hb可吸收光的波长不同,从而可以利用不同波长的光分别检测HbO和Hb含量,然后通过预先设计好的程序处理,得出相应的比值,这个比值就是血氧值。

(3)通信模块设计(EC20)

STM32单片机连接通信模块,使用4G网络,通过MQTT协议上传数据包至云端服务器,再由云端处理得到可视化的数据图像。EC20模块提供AT指令接口,模块通过AT指令可以令使用者更为方便地与外部设备进行信息传输。

(4)蜂鸣器设计

STM32的单个I/O接口最大可以提供25 mA大小的电流,蜂鸣器的驱动电流高达30 mA。因此需要使用一个NPN三极管(S8050)扩流驱动蜂鸣器。的主要功能是用于防止误触蜂鸣器导致发声。本系统规定,当PB0输出高电平时,蜂鸣器将发声;当PB0输出低电平时,蜂鸣器发声停止。

1.2 软件设计

(1)报警系统原理程序设计

报警系统程序主要分为主控程序和报警程序两个部分。系统开机初始化后,给赋值0,之后系统反复获取当前宠物及宠物周边环境数据,每4 s刷新一次数据。当宠物身处不利环境中时,系统将根据设定好的程序自动获取数值并与定义的安全数值进行比对,如构成触发报警功能的条件,蜂鸣器会报警三次并给赋值1,通信模块向紧急联系人手机发送报警信息。报警功能完成后,系统重启,并恢复正常运行。整个功能实现的流程如图3所示。

图3 报警功能流程

(2)EC20通信模块的信息发送

EC20模块通过AT指令获取基站地址,再由软件处理数据得到经纬度数据;通过AT代码发送报警信息,具体代码如下:

Uart2_SendStr("AT+CMGF=1 ");

Uart2_SendStr("AT+CMGS="13776653560" ");

Uart2_SendStr("WARNING:实时坐标地址 ");

sprintf(ss,"%c ",0x1A);

Uart2_SendStr(ss);

(3)硬件终端与OneNET云平台通信

OneNET平 台 目 前 支 持 MQTT、EDP、NB-IoT、Modbus、HTTP等协议,本次设计采用OneNET中的MQTT物联网套件,MQTT物联网套件以AccessKey为核心密钥,即使用核心密钥通过签名算法计算签名,与其他参数共同组成token,然后将token作为请求Header参数进行鉴权。认证通过后,在自定义协议数据解码器解码相关方法中构造并返回MessageType为Login的ProtocolMessage,并将OneNET设备ID、设备名称、设备密钥、设备所属的产品ID等信息输入。在终端设计方面,OneNET云平台为开发者提供了一个比较简单实用的开发工具,提供了预先设定好的控件,使开发者可以更加迅速地构建自己的应用终端界面。

2 系统测试

基于STM32的宠物报警系统是通过将传感器收集到的数据与人为规定的安全值进行对比,当数据超过安全值时会触发报警功能。硬件系统连接完成后开始测试,实时获取当前环境及传感器数据,通过人为操作模拟危险场景,激发报警功能。本系统可通过访问OneNET平台检测实时数据,平台通过直观的折线图显示数据,并可实时显示设备定位。平台界面如图4所示。

图4 物联网平台界面

报警功能测试:图5所示为OneNET物联网平台实时温度数据显示界面。测试报警功能时,通过人为操作模拟高温环境,将环境温度提升,当温度上升到警戒值(40 ℃)时触发报警功能。

图5 实时温度数据显示界面

当系统激发报警功能后,会向紧急联系人手机发送OneNET网页,蜂鸣器会鸣叫三次进行报警。图6所示为短信内容及报警所用蜂鸣器。

图6 报警信息接收

3 结 语

本系统主要实现了宠物实时数据监测及报警功能,系统通过各模块配合作用可获取宠物当前所处环境位置、温湿度及心率和血氧浓度等信息。通过温度传感器模块实测获取环境温度值,系统进行数据分析,当数值超过设定的安全值时实现报警功能。经过模拟验证,结果显示本系统兼容性良好且不受环境信号限制,能够快速准确地实现报警功能,紧急联系人手机能快速接到信息并获取宠物位置,解决了宠物的安全及遗失问题,使得未来宠物智能化管理更加容易实现。

猜你喜欢

蜂鸣器温湿度宠物
电动自行车产品车速提示音检测现状和整改技术研究(2)
温湿度控制器在回收砂冷却系统中的应用
掌控板制作简易钢琴
基于DSP的多路温湿度监测系统
单片机驱动蜂鸣器的程序设计
基于温湿度控制的天气预测装置
蒸发冷却温湿度独立控制空调系统的应用
抬起脚来
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响