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

硬件开发_基于物联网的老人跌倒监测报警系统

在这里插入图片描述

一.系统概述

跌倒监测报警系统的功能如下:

  1. 传感器功能:配备三轴三轴加速度传感器和心率传感器,用于监测用户运动状态及心率变化;
  2. 跌倒监测:检测到用户跌倒时,自动触发跌倒检测算法;
  3. 语音播报功能:集成的语音模块在确认用户跌倒后,会自动播报“有人人跌倒,请求帮助”;
  4. 报警信息发送:将跌倒报警信息及GPS位置信息发送至指定监护人的手机APP,确保及时通知与救援;
  5. 实时监测和通知:系统可实时监测用户运动状态,及时发现跌倒并发送报警信息,提升救援效率与用户安全性。

在这里插入图片描述

二.电路设计

电路图采用Altium Designer设计,具体如下:

  1. 以STM32F103C8T6单片机为主控,其最小系统电路为整个电路的核心;
  2. 采用ADXL345加速度传感器进行摔倒检测,通过IIC总线与单片机通信;
  3. 借助pulse sensor心率传感器检测心率,其数字输出端连接至单片机的GPIO脚;
  4. 利用GPS定位模块ATGM336H检测位置,通过UART串口与单片机连接;
  5. 通过ESP8266-01S将检测数据上传至上位机,二者通过UART串口通信;
  6. 0.96寸OLED12864用于数据显示,采用IIC总线与单片机进行通信;
  7. 使用JR6001实现语音播报功能,通过UART串口与单片机连接。

在这里插入图片描述

在这里插入图片描述

三.程序设计

#include “sys.h”
#include “delay.h”
#include “adc2.h”
#include “math.h”
#include “adc.h”
#include “key.h”
#include “OLED_I2C.h”
#include “Control_Report_To_Police.h”

u8 datatemp[SIZE];
int main(void)
{
u8 i;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化
Usart1_Init(9600);
TIM4_Init(300,7200);
switch_Init();
Beep_init();
OLED_Init();
OLED_CLS();
OLED_ShowCN(32,2,0);
OLED_ShowCN(32+16,2,1);
OLED_ShowCN(32+32,2,2);
OLED_ShowCN(32+32+16,2,3);
UART1Write(“AF:35”);
delay_ms(1000);
OLED_CLS();
Adc_Init();
KEY_Init();
TIM2_Int_Init(1999,71);
while(ADXL345_IIC_GPIO_Init()) //3D加速度传感器初始化
{
}
ALi_ESP8266_GPIO_Init();
MQTT_Buff_Init();
AliIoT_Parameter_Init();
STEPS = (datatemp[0]-0x30)*10000+(datatemp[1]-0x30)*1000+(datatemp[2]-0x30)*100+(datatemp[3]-0x30)*10+(datatemp[4]-0x30);
OLED_ShowCN(0,0,4);
OLED_ShowCN(0+16,0,5);
OLED_ShowCN(16,2,14);
OLED_ShowCN(16+16,2,15);
OLED_ShowCN(0,4,8);
OLED_ShowCN(0+16,4,9);
OLED_ShowCN(0,6,10);
OLED_ShowCN(0+16,6,11);
while(i!=200)
{
i++;
UART1Write(“B0”);
delay_ms(100);
UART1Write(“AF:35”);
delay_ms(100);
}
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}

四.资料内容

在这里插入图片描述
24-32-39

http://www.xdnf.cn/news/20436.html

相关文章:

  • 数据结构——栈(Java)
  • MySQL数据库约束和设计
  • 附050.Kubernetes Karmada Helm部署联邦及使用
  • C++_哈希
  • 基于阿里云ECS搭建Tailscale DERP中继服务器:提升跨网络连接速度
  • 前端登录鉴权详解
  • C++面试10——构造函数、拷贝构造函数和赋值运算符
  • 西门子S7-200 SMART PLC:编写最基础的“起保停”程序
  • [特殊字符] 从零到一:打造你的VSCode圈复杂度分析插件
  • Linux内核源码获取与编译安装完整指南
  • Java8函数式编程之Stream API
  • 预闪为什么可以用来防红眼?
  • C/C++动态爱心
  • Caffeine Weigher
  • 蓓韵安禧DHA纯植物藻油纯净安全零添加守护母婴健康
  • 基于STM32智能阳台监控系统
  • Unity 如何使用ModbusTCP 和PLC通讯
  • 用 Go + HTML 实现 OpenHarmony 投屏(hdckit-go + WebSocket + Canvas 实战)
  • 《sklearn机器学习——绘制分数以评估模型》验证曲线、学习曲线
  • 鸿蒙Next开发指南:UIContext接口解析与全屏拉起元服务实战
  • DevOps实战(2) - 使用Arbess+GitPuk+Docker实现Java项目自动化部署
  • Rsyslog日志采集
  • 快捷:常见ocr学术数据集预处理版本汇总(适配mmocr)
  • js闭包问题
  • B.50.10.07-分布式锁核心原理与电商应用
  • 操作系统之内存管理
  • 从 0 到 1 学 sed 与 awk:Linux 文本处理的两把 “瑞士军刀”
  • 数据结构:栈和队列(下)
  • Qt控件:Item Views/Widgets
  • 国产数据库之YashanDB:新花怒放