当前位置: 首页 > news >正文

基于STM32单片机老人体温心率血氧跌倒定位短信报警

一.硬件及设计功能

       以STM32F103C8T6为中央处理器,GPS模块用采集数据,将数据发送给单片机后,单片机根据定位计算公式得出当前位置的经纬度信息和时间信息。经过LCD显示器处理后得出和时间信息SIM800模块发送短信到设定的手机号上,将检测到的经纬度和心率血氧体温等信息展示在短信上。
原理图如下: 


PCB图如下:


二.设计功能

1.电路供电部分:整个电路基本工作电压为5V;通过SIM800模块,将单片机和手机进行短信通信,手机上可以显示采集到的时间和经纬度信息。
2.STM32单片机作为CPU,进行数据的采样以及分析运算。最后通OLED液晶显示屏显示当前的数据信息。
3.通过GPS接收模块,采集到相应的检测到的卫星信号后,可以计算出卫星轨道参数等数据,最后接收机中的微处理器就可以按照定位解算算法进行定位解算,得出机器所在位置的经度、纬度信息。
4.通过ADXL345判断老人是否跌倒,MAX30102心率血氧传感器采集老人当前的心率和血氧值,通过DS18B20进行温度采集。通过这些传感器模块来判断老人当前生理状况。
5.通过GPS模块获取当前的GPS定位,并通过设备上的OLED显示屏可以得到当前测试地的经纬度及时间的信息。

三.程序

int main(void)
{char i, error_num = 0;extern const unsigned char BMP1[];u8 shanshuo=0,count;u8 count2=0,count3=0;DelayInit();NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //设置NVIC中断分组2:2位抢占优先级,2位响应优先级I2C_Configuration(); //IIC初始化CheckNewMcu();//检测是否为新的单片机OLED_Init(); //OLED初始化KEY_Init(); //按键初始化GPS_rx_flag = 0;Usart1_Init(9600);USART3_Init(9600);DelayMs(200);OLED_CLS();//清屏DS18B20_Init();OLED_DrawBMP(40,0,88,6,(unsigned char *)BMP1);//测试BMP位图显示for(i=0;i<7;i++)OLED_ShowCN(i*16+12,6,i+10,0);//测试显示中文:正在初始化中!gsm_init();//gsm初始化IIC_init();//IIC初始化adxl345_init();//ADXL345初始化Init_MAX30102();//MAX30102初始化memset(STM32_RX1_BUF, 0, STM32_RX1BUFF_SIZE);//清除缓存STM32_Rx1Counter = 0;GPS_rx_flag = 1;while(1){SMS_Receive();//短信接收KeySettings();ShowHomePage();if(setn == 0)//不在设置状态下,读取相关数据{if (rev_stop == 1 && count3++>=5)   //如果接收完一行{if (GPS_RMC_Parse(STM32_RX3_BUF, &GPS)) //解析GPRMC{DisplayLongitudeAndLatitude();    //显示经纬度信息error_num = 0;gps_flag = 0;rev_stop  = 0;GpsInitOkFlag=1;}else{if (error_num++ >= 30) //如果数据无效超过30次{error_num = 30;if(GpsInitOkFlag==1){GpsInitOkFlag = 0;OLED_ShowStr(40, 4, "           ", 2);OLED_ShowStr(40, 6, "           ", 2);}}gps_flag = 0;rev_stop  = 0;}count3=0;}if(GpsInitOkFlag==0&&count++>=5)//无GPS信号,显示搜索信号{count = 0;shanshuo = !shanshuo;if(shanshuo==1){for(i=0;i<4;i++)OLED_ShowCN(i*16+48,4,i+17,0);OLED_ShowStr(40, 6, "    ...    ", 2);}else           {        OLED_ShowStr(40, 4, "           ", 2);OLED_ShowStr(40, 6, "           ", 2);}}DisplayTemperature();     //显示温度FallDetection();          //跌倒检测GetHeartRateSpO2();       //获取心率血氧DisplayHeartRateSPO2();   //显示心率血氧}AlarmAndSendSMS();           //蜂鸣器报警及其发送短信if(count2++>2){Twinkle=!Twinkle;if(FallFlag==1){if(FallTime>0)FallTime--; //当时间减到0,说明跌倒时间持续了5秒(这里只是大概5秒)}count2 = 0;}}
}
​

资料

相关文章:

基于STM32单片机老人体温心率血氧跌倒定位短信报警

一.硬件及设计功能 以STM32F103C8T6为中央处理器&#xff0c;GPS模块用采集数据&#xff0c;将数据发送给单片机后&#xff0c;单片机根据定位计算公式得出当前位置的经纬度信息和时间信息。经过LCD显示器处理后得出和时间信息SIM800模块发送短信到设定的手机号上&#xff0c;将…...

【测评】雨云香港三区云服务器,2核2G 5兆,仅需38元/月

写在前面 雨云香港三区云服务器&#xff0c;高性能的 AMD EPYC 处理器 企业级 NVME SSD 高性能云服务器。2核2G 10兆 400G防御&#xff0c;仅需38元/月&#xff0c;年付7折仅 319.2元/年。 官网&#xff1a;https://www.rainyun.com 本次测评服务器配置如下&#xff1a; C…...

如何应对Android面试官 -> 玩转 Fragment

前言 本章主要讲解下 Framgent 的核心原理&#xff1b; 基础用法 线上基础用法&#xff0c;其他的可以自行百度 FragmentManager manager getSupportFragmentManager(); FragmentTransaction transaction manager.beginTransaction(); transaction.add(R.id.contentlayout,…...

sdbusplus:通过文件描述符传递数据

有的时候需要传递大量的数据,如果将数据通过dbus传递,会消耗大量的带宽。可以通过传递一个文件描述符替代传递数据: 以下的service通过文件描述符接收数据: //fd_service.cpp #include <sdbusplus/asio/connection.hpp> #include <sdbusplus/asio/object_server…...

HyperLPR3 车牌识别

Linux 之前安装了python3 apt install python3.8-venv cd /root python3 -m venv HyperLPR3 REM cd HyperLPR3 source HyperLPR3/bin/activate 参考 https://www.jb51.net/article/222885.htm python -m pip install hyperlpr3 里面有fastapi&#xff0c;opencv等 错误&#x…...

面试的内容

1.C的三大特性&#xff1a;封装&#xff0c;继承&#xff0c;多态 2.C11的特性 3.NULL与Nullptr的区别: nullptr是一个特殊的空指针常量&#xff0c;不能被隐式转换为其他类型。 NULL 在一些情况下可能会发生隐式类型转换 4.智能指针 5.stl/Qt stl stl容器包含哪些&…...

剪映网页版

https://www.capcut.cn/web 免费&#xff0c;免安装&#xff0c;跨平台&#xff0c;视频云合成&#xff0c;简直太好用了&#xff01;...

pgsql

创建分区表&#xff1a; PostgreSQL分区表_pg分区表-CSDN博客 创建list分区的函数 create or replace function create_list_fq(tb_name char, row_name char) returns int AS $$ declares char; beginraise notice CREATE TABLE if not exists %_% PARTITION OF % FOR VALU…...

Kotlin学习笔记 泛型

在 Kotlin 中&#xff0c;T 通常用作类型参数的占位符&#xff0c;它在实例化或传递参数时会被替换成具体的类型。 Kotlin 支持泛型&#xff0c;这意味着您可以编写可以与多种数据类型一起工作的代码&#xff0c;而不必为每种数据类型编写单独的代码。 ### 泛型类和函数 在 …...

开发者必看:Linux终端的10大装逼神器,让你的命令行炫酷起来!

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

20 VUE学习:插件

介绍 插件 (Plugins) 是一种能为 Vue 添加全局功能的工具代码。下面是如何安装一个插件的示例&#xff1a; import { createApp } from vueconst app createApp({})app.use(myPlugin, {/* 可选的选项 */ })一个插件可以是一个拥有 install() 方法的对象&#xff0c;也可以直接…...

python之any用法

写法对比 代码一&#xff1a; any(i for i in [0,1]) 代码2&#xff1a; any([i for i in [0,1]]) 优劣 结论&#xff1a;代码一写法更好 解释&#xff1a; 在 Python 中&#xff0c;any() 函数可以接受一个可迭代对象作为参数&#xff0c;并返回 True 如果可迭代对象…...

【前端学习——react坑】useState使用

问题 使用useState 时&#xff0c;例如 const [selectedId, setSelectedId] useState([false,true,false]);这样直接利用&#xff0c;无法引发使用selectedId状态的组件的变化&#xff0c;但是selectedId是修改了的 let tempselectedId;temp[toggledId]selectedId[toggledId…...

【前端每日基础】day28——async/await

async/await 是ES2017&#xff08;ES8&#xff09;引入的用于处理异步操作的语法糖&#xff0c;基于Promise实现。它使得异步代码看起来像同步代码&#xff0c;从而提高了代码的可读性和可维护性。以下是对 async/await 的详细讲解。 基本语法 async 函数 在一个函数前加上 as…...

错误记录:从把项目从Tomcat8.5.37转到Tomcat10.1.7

错误信息&#xff1a;在本地Servlet项目里没有报错&#xff0c;但是浏览器跳转该servlet时报错 型 异常报告 消息 实例化Servlet类[com.wangdao.lx.MyServlet1]异常 描述 服务器遇到一个意外的情况&#xff0c;阻止它完成请求。 例外情况 jakarta.servlet.ServletExceptio…...

AJAX基础知识

定义 Ajax 异步 JavaScript 和 XML &#xff08; async javascript and xml &#xff09;&#xff0c;使用 Ajax 技术网页应用能够快速地将数据更新呈现在用户界面上&#xff0c;而不需要重载&#xff08;刷新&#xff09;整个页面&#xff0c;这使得程序能够更快地回应用户的操…...

xcode依赖包package已经安装,但是提示No such module ‘Alamofire‘解决办法

明明已经通过xcode自带的swift包管理器安装好了依赖包&#xff0c;但是却还是提示&#xff1a;No such module&#xff0c;这个坑爹的xcode&#xff0c;我也只能说服气&#xff0c;但是无奈&#xff0c;没办法攻打苹果总部&#xff0c;只能自己想解决办法了 No such module Ala…...

基于Centos7 安装k8s一主两从

一、资源准备 mac下虚拟机环境搭建 1、使用搜狐的iso源 http://mirrors.sohu.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso 下载 iso镜像。 2、https://www.macwk.com/soft/vmware 下载 mac vm虚拟机 3、搭建一主两从集群所需虚拟机 4、新建虚拟机…...

基于java实现图片中任意封闭区域识别

需求&#xff1a; 在浏览器中给用户呈现一张图片&#xff0c;用户点击图片中的某些标志物&#xff0c;需要系统给出标志物的信息反馈&#xff0c;达到一个交互的作用。 比如下图中&#xff0c;点击某个封闭区域时候&#xff0c;需要告知用户点击的区域名称及图形形状特性等等。…...

闭包是什么?有什么特性?对页面有什么影响?

闭包是指在一个函数内部定义的函数&#xff0c;并且该函数可以访问到外部函数的变量。闭包可以将外部函数的变量保持在内存中&#xff0c;并且不会被释放。 闭包具有以下特性&#xff1a; 1. 函数内部定义的函数可以访问外部函数的变量。 2. 外部函数的变量可以保持在内存中&a…...

2026年搜索引擎大变革:生成式优化解决方案引领新潮流

引言随着ChatGPT、Google AI概览等工具成为主流搜索界面&#xff0c;传统的SEO策略已难以适配新时代的挑战。生成式引擎优化&#xff08;GEO&#xff09;应运而生&#xff0c;成为企业在线上生存与优化的新选择。本文将探讨2026年SEO行业格局的变化&#xff0c;分析GEO的核心逻…...

网络虚拟化如何应对100G性能挑战:从SDN/NFV到DPDK与智能网卡的演进

1. 网络虚拟化与100G浪潮&#xff1a;一场正在发生的架构革命如果你在2015年前后从事网络或云计算相关的工作&#xff0c;大概会对一个词印象深刻&#xff1a;100G。当时&#xff0c;行业媒体和厂商都在热烈讨论一个预测——到2018年&#xff0c;100G将成为网络设备&#xff0c…...

如何免费解锁Cursor Pro:完整破解方案与实战指南

如何免费解锁Cursor Pro&#xff1a;完整破解方案与实战指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial re…...

告别串口助手:用STM32CubeIDE和HAL库,手把手教你打造自己的IAP上位机(附源码)

从零构建STM32 IAP上位机&#xff1a;C#实战与协议解析全指南 在嵌入式开发中&#xff0c;IAP&#xff08;In Application Programming&#xff09;技术为设备固件升级提供了极大便利&#xff0c;但一个稳定可靠的上位机软件往往是整个流程中最薄弱的环节。市面上通用的串口助手…...

如何快速掌握AMD锐龙隐藏性能:Ryzen SDT调试工具终极指南

如何快速掌握AMD锐龙隐藏性能&#xff1a;Ryzen SDT调试工具终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:/…...

MemOS:为AI智能体构建统一记忆操作系统,提升长期对话与RAG性能

1. 项目概述&#xff1a;MemOS&#xff0c;为AI智能体装上“记忆大脑” 如果你正在开发基于大语言模型的AI智能体&#xff0c;或者在使用RAG&#xff08;检索增强生成&#xff09;技术&#xff0c;那么你一定遇到过这个核心痛点&#xff1a; 对话上下文太短&#xff0c;智能体…...

从零开始将Taotoken接入现有Nodejs项目实践步骤

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 从零开始将Taotoken接入现有Nodejs项目实践步骤 1. 准备工作&#xff1a;获取API密钥与模型信息 在开始代码改造之前&#xff0c;…...

iVentoy(增强版PXE服务器

链接&#xff1a;https://pan.quark.cn/s/d2ca56327274iVentoy是一个增强版的PXE服务器。你可以通过网络同时为多台机器启动和安装操作系统。软件的使用非常简单&#xff0c;无需复杂的配置。只需要直接将ISO文件放在指定的位置&#xff0c;然后在启动时&#xff0c;客户机可以…...

为什么选择这个Windows键盘记录工具?3个让你无法拒绝的理由

为什么选择这个Windows键盘记录工具&#xff1f;3个让你无法拒绝的理由 【免费下载链接】keylogger Keylogger for Windows. 项目地址: https://gitcode.com/gh_mirrors/keylogg/keylogger 你是否曾经需要监控自己的电脑使用情况&#xff0c;或者为技术研究寻找一个轻量…...

最火 AI 生图模型 Nano Banana Pro 国内免费使用指南

最近在设计圈和 AI 圈&#xff0c;几乎无人不知 Nano Banana Pro。它是谷歌基于 Gemini 3 Pro 打造的最新图像模型&#xff0c;一上线就斩获 LMArena 生图和图像编辑榜单第一名。虽然 Nano Banana 2 的历史成绩更亮眼&#xff0c;但实测体验发现 Pro 版更好用、操作更顺手。 为…...