一、前言

1.1 项目开发背景

随着社会的发展和技术的进步,人们对于个人安全和健康管理的需求日益增长。特别是在儿童、老人以及特殊人群的照护方面,何有效地保障他们的安全成为了家庭和社会关注的重点。在此背景下,结合现代物联网技术、移动通信技术和嵌入式系统技术,开发一款具备防丢功能的智能手环变得尤为必要。这款手环不仅能够满足日常健康管理的需求,计步、监测运动姿态等,还能在紧急情况下快速发出求救信号,并且通过设定电子围栏来防止佩戴者走失,为用户提供了一个全方位的安全解决方案。

本项目的开发一个集健康监测与安全保障于一体的智能穿戴设备——防丢手环电子围栏报警系统。它利用了先进的传感器技术来监测用户的活动状态,通过内置的MPU6050陀螺仪实现对用户运动姿态的精准捕捉;同时,借助ATGM336H-GPS模块,该系统能够准确获取用户的位置信息,从而使得家长或监护人能够在手机APP上设定特定的安全范围即“电子围栏”,一旦佩戴者离开预设的安全区域,系统将立即触发警报机制,向预设的联系人发送短信通知并激活手环上的蜂鸣器提醒佩戴者。此外,考虑到用户可能处于没有网络覆盖的情况,系统还配备了Air724-4G模块以确保即使在偏远地区也能保持连接,及时将重要信息传递出去。

为了增强用户体验,该手环配备了一块0.96寸的SPI协议OLED显示屏用于直观地显示各种信息,包括但不限于时间、步数统计以及GPS信号强度等,让用户随时掌握自身状况及环境情况。特别地,当遇到紧急情况时,只需按下SOS按钮即可迅速发起求助,极大提高了应急响应速度。而这一切功能的背后,离不开强大的后台支持——华为云物联网云平台,通过MQTT协议保证数据传输的安全性与稳定性,使得手环能够与手机APP之间建立起稳定高效的信息交互渠道。手机应用程序采用Qt(C++)进行开发,提供了友好且易于操作的界面设计,不仅可以让用户轻松设置各项参数,调整时间、定义电子围栏边界等,还可以利用百度地图API实现位置信息的可视化呈现,让监护变得更加直观便捷。

这款基于STM32设计的防丢手环电子围栏报警系统,是面向未来的一款创新型产品,它集合了健康管理、安全防护与智能互联三大核心优势,致力于为广大用户提供更加安心舒适的使用体验,同时也体现了科技服务于人的美好愿景。

基于STM32设计的防丢手环电子围栏报警系统_数据

基于STM32设计的防丢手环电子围栏报警系统_数据_02

1.2 设计实现的功能

本款基于STM32设计的防丢手环电子围栏报警系统,集成了多种先进技术和实用功能,以满足用户的多样化需求。在健康管理和日常活动监测方面,手环内置了MPU6050陀螺仪传感器,可以实时监测用户的运动姿态,并准确记录下用户的步数。这一功能不仅有助于用户了解自己的身体活动情况,也便于他们根据这些数据调整日常锻炼计划,促进身体健康。

为了使用户能够方便快捷地获取到这些信息,手环配备了一块0.96英寸的SPI协议OLED显示屏,这块屏幕不仅可以用来显示来自MPU6050传感器收集到的运动数据,比步数和当前的运动状态,还可以显示由ATGM336H-GPS模块提供的位置信息状态,以及当前时间等基础信息。这样的设计极大地提升了手环的实用性,使得用户无需频繁查看手机就能了解到自己所需的各种信息。

安全是本项目设计的核心之一。为此,为手环添加了SOS紧急求助功能。在遇到危险或者需要帮助的情况下,用户只需简单地按下手环上的SOS按键,系统就会自动发送一条包含当前位置信息的求助短信给预先设置好的联系人,同时手环也会发出蜂鸣声引起周围人的注意。这为用户提供了额外的安全保障。

考虑到不同用户可能会有不同的生活习惯或是作息规律,还开发了一款配套的Android手机应用,该应用采用了Qt(C++)进行编写。通过这款应用,用户不仅可以远程校准手环的时间,确保所有信息的准确性,还可以根据自己的实际需求设定个性化的电子围栏。当佩戴者离开所设定的安全区域时,手环将自动向指定联系人发送通知短信,并通过蜂鸣器发出警告声。同时,手机应用利用百度地图API接口实现了电子围栏的地图可视化展示,让用户能够清晰地看到安全区域的具体位置以及围栏边界。

为了实现手环与云端之间的无缝对接,整个系统采用了华为云IoT物联网平台作为数据处理中心,并通过Air724-4G模块加上MQTT协议完成设备端与云端的数据交换。这样做的好处在于,一方面确保了数据传输过程中的安全性与可靠性;另一方面也让用户能够随时随地通过手机应用查看最新的运动统计数据以及接收到来自手环的所有重要通知。综上所述,本项目不仅仅是一个简单的可穿戴设备,而是一个综合了健康管理、安全保护以及智能互联等多种功能于一体的整体解决方案。

基于STM32设计的防丢手环电子围栏报警系统实现的功能总结:

(1)实时运动姿态检测与步数记录

  • 通过MPU6050陀螺仪传感器实时检测佩戴者的运动姿态(行走、跑步、静止等),并记录运动步数。

(2)OLED显示屏实时显示信息

  • OLED显示屏显示采集的运动传感器数据、GPS位置信息、以及手环的当前状态(例电池电量、网络连接状态等)。
  • 支持时间显示,显示当前的系统时间。

(3)SOS报警功能

  • 当用户按下手环上的SOS按钮时,系统会自动发送求救短信,向预设的紧急联系人请求帮助。

(4)手机APP远程时间校准

  • 手机APP可以与手环进行无线通信,通过云平台进行时间同步或校准,确保手环上的时间准确。

(5)电子围栏功能与报警

  • 手机APP允许用户在地图上指定一个虚拟围栏区域(电子围栏)。当手环的GPS定位超出此设定区域时,手环会自动发送警报短信给指定联系人。
  • 同时,手环上的蜂鸣器会发出警告声音,提示用户已超出安全区域。

(6)步数查询功能

  • 用户可通过手机APP查看当天的步数数据,帮助用户跟踪运动进度。

(7)数据上传至云平台

  • 设备通过Air724 4G模块与华为云物联网平台建立连接,并使用MQTT协议将手环的运动数据、GPS位置信息及状态上传到云端。
  • 手环与云平台之间的数据传输实现远程监控和管理。

(8)手机APP与设备远程通信

  • 手机APP通过华为云物联网平台与手环进行远程通信,接收实时数据(GPS定位、步数等),并发送控制指令(时间校准、电子围栏设置等)。

(9)电子围栏地图可视化展示

  • 手机APP通过百度地图API接口,提供电子围栏区域的可视化展示,用户可以在地图上设置围栏区域,并实时查看手环的地理位置。

(10)低功耗设计与电池管理

  • 手环采用可充电锂电池供电,系统设计具有低功耗特点,确保长时间使用。支持电池充电和电池电量显示功能。

1.3 项目硬件模块组成

(1)STM32F103RCT6 主控芯片

  • 负责整个手环系统的核心控制,执行各项任务传感器数据采集、处理、控制通信、显示等。
  • 具有丰富的外设接口,支持I2C、SPI等通信协议。

(2)MPU6050 陀螺仪模块

  • 负责实时检测佩戴者的运动姿态(行走、跑步、静止等)。
  • 提供三轴加速度和三轴角速度数据,帮助识别佩戴者的活动状态。
  • 通过I2C接口与STM32主控芯片进行数据通信。

(3)OLED显示屏(0.96寸SPI协议)

  • 用于显示手环的实时数据,运动步数、GPS位置、当前时间等信息。
  • 采用SPI接口与STM32主控芯片进行数据传输和显示控制。

(4)高电平触发的有源蜂鸣器

  • 用于发出提示音或报警音,特别是在电子围栏区域外或按下SOS按钮时,提醒用户或周围人。
  • 通过GPIO口控制,产生蜂鸣提示。

(5)ATGM336H-GPS模块

  • 提供实时GPS定位数据,用于确定手环的地理位置。
  • 通过串口(UART)与STM32主控芯片进行数据通信。

(6)Air724-4G模块

  • 提供手环的无线通信功能,支持4G网络连接,确保手环能够上传数据到云平台(华为云物联网平台)并接收远程指令。
  • 通过串口(UART)与STM32主控芯片进行通信。

(7)可充电锂电池

  • 提供手环的电力供应,支持设备的长期运行。
  • 配合充电管理模块,支持充电和电池电量监控。

(8)充电管理模块(TP4056)

  • 负责锂电池的充电管理,确保安全的充电过程。
  • 提供电池电量监控、充电保护等功能。

(9)SOS按钮

  • 当用户遇到紧急情况时,可以按下SOS按钮,触发紧急求救信号,手环会自动发送求救短信至预设联系人。
  • 通过GPIO口与STM32主控芯片进行连接。

(10)电池电量监测模块

  • 监控电池电量状态,提供低电量报警功能,提醒用户充电。
  • 通过ADC接口与STM32主控芯片连接,实时采集电池电压信息。

1.4 设计思路

本项目的目标是设计一款基于STM32的防丢手环电子围栏报警系统,旨在提供用户实时的运动监测、GPS定位、防丢报警等功能。通过与手机APP的配合,手环能够实现电子围栏功能、SOS求助以及步数查询等功能,同时将数据上传至云平台,提供更加全面的监控和管理服务。

硬件设计思路

系统的硬件设计以低功耗、集成化和稳定性为核心要求。STM32F103RCT6作为主控芯片,具有丰富的外设接口,能够与各类传感器和模块进行通信,并能有效处理复杂的任务。为了实现实时运动监测,系统选用了MPU6050陀螺仪模块来检测佩戴者的运动姿态,捕捉加速度和角速度数据。通过对这些数据的实时处理,系统能够判断佩戴者是行走、跑步还是处于静止状态。

GPS模块负责为系统提供精准的位置信息,确保电子围栏功能的正确执行。当用户佩戴手环进入或超出设定的围栏区域时,系统会通过蜂鸣器发出警报,并通过短信通知预设的紧急联系人,确保在危险情况下能及时响应。

OLED显示屏作为系统的本地输出设备,提供实时的传感器数据和状态信息,包括步数、GPS位置信息以及当前时间等。蜂鸣器的设计也很简单,能够通过GPIO控制来发出声音警告,提醒用户已经超出预设的安全区域或在紧急情况下发出求助信号。

软件设计思路

软件方面,系统的设计重点是实现高效、稳定的数据采集与处理,同时确保系统的实时响应和用户交互的便捷性。STM32的固件开发将通过C语言实现,主要任务包括传感器数据采集、步数计数、姿态检测、电子围栏区域判断等。对于GPS定位数据的处理,系统需要进行解析,并与手机APP中设定的围栏区域进行对比,判断是否超出设定范围。

手环的数据上传部分通过Air724-4G模块实现。该模块支持4G LTE通信,可以实现与华为云物联网平台的数据交互。系统通过MQTT协议将采集的数据上传至云平台,确保数据的远程访问和实时更新。同时,手机APP也通过云平台与设备进行通信,获取实时数据(步数、GPS位置等)并进行相应的操作(设置围栏区域、调整时间等)。

SOS功能是本系统的核心安全功能之一。当用户按下手环上的SOS按钮时,系统将自动向预设的紧急联系人发送求救短信,提供位置信息,并通过蜂鸣器发出报警。SOS功能在软件中需要实现按钮状态检测、短信发送、蜂鸣器控制等多个步骤。

为了确保手环显示的信息准确,系统提供了手机APP远程时间校准功能,允许用户通过APP同步或调整手环的系统时间。这一功能通过蓝牙或Wi-Fi与手环进行通信,并通过云平台进行同步。

手机APP设计思路

手机APP是用户与手环互动的主要界面,主要功能包括电子围栏区域设定、实时步数查询、时间校准、报警设置以及地图展示等。APP通过百度地图API实现围栏区域的可视化展示,用户可以在地图上任意设置围栏区域,并实时查看手环的当前位置。

通过与云平台的通信,APP可以接收手环的实时数据并展示给用户,例当前步数、手环的电池电量、GPS位置等。此外,APP还能够提供电子围栏的报警设置,当手环位置超出指定围栏时,APP会收到提示消息,用户可根据需要进一步处理。

系统的整体架构

系统的架构是基于硬件和软件的有机结合,确保每个模块的协同工作。硬件部分提供了强大的传感器支持和通信功能,能够确保实时监测和报警;软件部分负责数据的处理、通信和交互,确保系统稳定高效运行。

系统的数据流主要分为两部分:一部分是从传感器采集到的数据(步数、运动姿态、GPS定位等),另一部分是设备状态的控制和远程操作。所有的数据都将通过4G模块上传到云平台,保证数据存储和访问的便利性。同时,手机APP作为用户界面,提供了全面的设备管理功能和实时数据查看。

低功耗与电池管理

手环系统采用可充电锂电池供电,并通过充电管理模块实现安全的充电与电池保护。系统在设计时充分考虑了低功耗特性,确保手环能够在长时间内持续工作。各个模块(MPU6050、GPS模块、4G模块等)在不同的工作状态下采用适当的休眠策略,最大程度地延长电池续航。

总结

整个设计的核心是确保手环能够在保障用户安全的同时,提供简单、直观的操作体验。通过STM32作为主控芯片,结合各类传感器和通信模块,系统实现了高效的数据采集和处理,同时通过4G模块与云平台进行数据上传与远程控制。手机APP则提供了用户交互界面,能够直观显示数据和设定围栏区域,实现实时监控和报警功能。

1.5 系统功能总结

功能类别

具体功能描述

健康监测

- 实时检测用户的运动姿态

- 记录用户的运动步数

显示信息

- 通过0.96寸SPI OLED显示屏显示传感器信息

- 显示GPS状态

- 展示当前时间

紧急求助

- 按下手环上的SOS按键后自动发送求助短信给预设联系人

- 同时通过蜂鸣器发出警告声音

时间管理

- 支持通过手机APP远程校准手环时间

地理位置服务

- 利用ATGM336H-GPS模块提供精确的位置信息

- 通过手机APP设置电子围栏区域

- 当用户离开设定区域时自动报警

步数追踪

- 手机APP上可以查看当日行走步数

数据上传与通信

- 通过Air724-4G模块及MQTT协议将数据上传至华为云IoT平台

- 手机APP通过云平台与设备端进行双向通信

地图可视化

- 使用百度地图API在手机APP中展示电子围栏区域

1.6 开发工具的选择

【1】设备端开发

STM32的编程语言选择C语言,C语言执行效率高,大学里主学的C语言,C语言编译出来的可执行文件最接近于机器码,汇编语言执行效率最高,但是汇编的移植性比较差,目前在一些操作系统内核里还有一些低配的单片机使用的较多,平常的单片机编程还是以C语言为主。C语言的执行效率仅次于汇编,语法理解简单、代码通用性强,也支持跨平台,在嵌入式底层、单片机编程里用的非常多,当前的设计就是采用C语言开发。

开发工具选择Keil,keil是一家世界领先的嵌入式微控制器软件开发商,在2015年,keil被ARM公司收购。因为当前芯片选择的是STM32F103系列,STMF103是属于ARM公司的芯片构架、Cortex-M3内核系列的芯片,所以使用Kile来开发STM32是有先天优势的,而keil在各大高校使用的也非常多,很多教科书里都是以keil来教学,开发51单片机、STM32单片机等等。目前作为MCU芯片开发的软件也不只是keil一家独大,IAR在MCU微处理器开发领域里也使用的非常多,IAR扩展性更强,也支持STM32开发,也支持其他芯片,比:CC2530,51单片机的开发。从软件的使用上来讲,IAR比keil更加简洁,功能相对少一些。果之前使用过keil,而且使用频率较多,已经习惯再使用IAR是有点不适应界面的。

基于STM32设计的防丢手环电子围栏报警系统_数据_03

【2】上位机开发

上位机的开发选择Qt框架,编程语言采用C++;Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。Qt能轻松创建具有原生C++性能的连接设备、用户界面(UI)和应用程序。它功能强大且结构紧凑,拥有直观的工具和库。

基于STM32设计的防丢手环电子围栏报警系统_物联网_04

基于STM32设计的防丢手环电子围栏报警系统_4G_05

1.7 参考文献

1. 钱银,武康,郁李鑫等.基于STM32防丢器设计[J].新型工业化,2020. 
2. 纪一凡,宁闯.电子围栏的应用设计 附视频[J].山西电子技术,2024. 
3. 王俊文.基于MEMS和三重定位的老年人安全报警器的研究与实现[J].智能计算机与应用,2019. 
4. 杨婷,黄韬,谢亮.基于STM32微控制器的智能手环的设计[J].科技广场,2016. 
5. 雷思睿.基于STM32单片机的智慧防丢失系统设计与实现[J].无线互联科技,2020. 
6. 伍永忠.电子安全围栏系统发展现状和市场前景及在国内送变电站的应用[J].中国安防,2008. 
7. 李其元.基于STM32的张力式电子围栏的软硬件开发[D].西南科技大学,2017. 
8. 李梦婷,曳永芳.基于STM32的智能手环系统设计[J].电子质量,2022. 
9. 朱扬,杨延宁,董晨乐等.基于STM32F103C8T6的游乐场智能手环设计 附视频[J].计算机测量与控制,2024. 
10. R. Navarro, M. Angel. “Diseño e implementación de alarma antirrobo independiente, fiable y económica.” (2016). 
11. 焦凤敏,景苏梁,王春柳等.基于STM32的防丢及摔倒报警系统设计与实现[J].信息与电脑(理论版),2022. 
12. 西南交通大学光电工程研究所.基于虚拟仪器及DSP的静电感应式电子围栏设计[J].现代电子技术,2011. 
13. 华南理工大学计算机科学与工程学院.基于STM32的智能家居安防系统设计[J].信息技术,2024. 
14. 毕庆生.基于STM32的围栏报警系统[J].电脑知识与技术,2016. 
15. 中关村硬创空间集团有限公司.一种基于IOT的智能电子围栏设计[J].兵工自动化,2024. 
16. 王春妍.电子围栏监控平台的整体概要设计[J].电子世界,2013. 
17. 高原,沈虹.电台电子围栏预警防御系统[J].广播与电视技术,2015. 
18. 刘海忠.电子围栏中心监控平台的设计与开发[D].华中师范大学,2012. 
19. 曾贵苓,叶素娣,王苹.基于STM32单片机的智能手环设计[J].西安文理学院学报(自然科学版),2023. 
20. 北京城市学院.基于STM32防丢器的设计与实现[J].电子技术与软件工程,2016. 
21. 常印,佟强.电子围栏技术在视觉监控报警系统中的应用[J].科技传播,2020. 
22. 李涛.基于STM32的新型家用报警器的研究与实现[D].燕山大学,2016. 
23. 海南医学院.基于STM32的老年人智能健康手环的设计与实现[J].科技与创新,2023.
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

1.8 模块的技术详情介绍

【1】Air724UG-4G模块

Air724UG是一款功能强大且广泛应用于物联网(IoT)领域的4G通信模块。它专为低功耗广域网(LPWAN)应用设计,兼具高性能和稳定性,适用于多种物联网终端设备,包括智能表计、移动支付、智能家居、车载电子等场景。该模块支持4G LTE Cat 1网络制式,是一款具备高性价比的无线通信解决方案。

Air724UG这款模块支持LTE FDD网络,能够提供稳定的语音和数据传输服务,并向下兼容2G GSM网络,使得在4G信号弱或不可用的区域仍可正常通信。由于其双网支持能力,这一模块可以灵活适应不同的网络环境,从而更广泛地满足客户需求。

在数据通信方面,Air724UG模块支持SMS(短消息服务)、TCP/UDP、HTTP/HTTPS、MQTT等协议,为用户开发与应用提供了多种可选方案。其良好的传输能力,能够满足物联网设备对数据可靠性、响应速度等方面的严苛需求。这使其在多种行业和领域中得到了广泛应用,工业自动化、智能物流、移动支付等。模块具备高效的数据传输和低延迟特性,是许多物联网解决方案中的理想选择。

Air724UG模块在设计上注重低功耗特性,这在许多长期依赖电池供电的IoT设备中显得尤为重要。模块支持深度睡眠模式和待机模式,有效降低功耗,延长设备的使用寿命。此外,Air724UG的尺寸较为紧凑,提供易于集成的设计,能够在有限的空间内实现灵活部署,适应各种复杂应用场景。

在接口和硬件配置方面,Air724UG-4G模块集成了丰富的接口,包括UART、I2C、SPI、ADC、GPIO等,为用户提供了极大的开发灵活性。此外,模块还具备支持多种通信协议和功能的AT指令集,便于用户进行功能扩展和定制。模块的工作温度范围广,能够在严苛的环境下保持稳定性能,使其在工业、户外和其他环境条件变化较大的场景中表现出色。

综合而言,Air724UG模块是一款兼顾高性能与灵活性的4G模块,专注于物联网应用的低功耗和高稳定性需求。它的多网络支持、强大的数据传输能力、低功耗特性以及灵活的硬件接口设计,使其成为物联网设备开发中备受青睐的选择。

【2】MQTT协议

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种轻量级、发布/订阅模式的消息传输协议,专为低带宽、不可靠网络环境设计。它最早由IBM提出,现已成为物联网(IoT)通信的重要协议之一。由于其高效、低功耗和实时性等特点,MQTT在智能家居、工业自动化、远程监控和车联网等领域得到了广泛应用。

MQTT的工作原理基于发布/订阅模型。这种模型有别于传统的客户端-服务器模型,通信方不需要直接建立连接。MQTT由三个核心组件构成:客户端、代理(Broker)和主题(Topic)。客户端可以作为消息的发布者或订阅者,消息通过代理进行路由。代理是一个中间服务端,用于接收和分发来自不同客户端的消息。发布者发送消息到一个特定的主题上,代理负责将这些消息分发给所有订阅了该主题的客户端。通过这种解耦的架构设计,客户端之间可以实现松耦合的通信,降低了复杂性和依赖性。

在MQTT协议中,消息被分为不同的主题(Topic),例“home/sensor/temperature”可以用来代表温度传感器数据。客户端可以订阅这个主题,当发布者发送新的数据到该主题时,所有订阅该主题的客户端都会收到更新信息。这种灵活的主题结构和层次化的命名规则,使得MQTT在复杂场景下也能快速组织和管理消息流。

MQTT协议支持三种服务质量(QoS)等级,分别为“至多一次”(QoS 0)、“至少一次”(QoS 1)和“仅一次”(QoS 2)。QoS 0表示消息传输尽力而为,可能会丢失或重复;QoS 1确保消息至少送达一次,但可能会有重复;QoS 2则确保消息恰好传输一次,保证消息的严格可靠性。这种设计使MQTT能够适应不同的应用场景,用户可以根据应用需求选择合适的QoS级别。

为了保证通信的安全性,MQTT支持用户名和密码验证,代理可以对连接进行身份认证。此外,许多实现中还支持TLS/SSL加密通信,确保数据在传输过程中不会被窃取或篡改。用户也可以使用不同的认证方式来增强系统的安全性,适应物联网应用中对安全性的高需求。

MQTT非常注重轻量化和低功耗。它的报文头非常小,通信开销很低,这使其特别适合在资源受限的设备或不稳定的网络环境中使用。MQTT支持“保持连接”和“遗嘱消息”功能,客户端可以在连接断开时自动向代理发送遗嘱消息,通知其他客户端连接状态的变化。这种特性有助于提高网络的健壮性和系统的可用性。

MQTT的典型使用场景包括物联网设备数据采集、实时监控、消息推送和控制命令的发布。比在智能家居中,传感器可以发布环境数据,温湿