IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 基于STM32的摔倒预警系统 -> 正文阅读

[嵌入式]基于STM32的摔倒预警系统

基于STM32的摔倒预警系统

闲来无事,用手头STM32做个项目。

成品功能:
摔倒预警。当老人发生摔倒时,自动进行求救,给一个人发短信,附带位置信息。

思考:如何确定老人是摔倒了?

方法:我打算用两到三个测量高度的传感器。分别放在脚腕、手腕、和头。当三个高度一直时表明老人是躺着的,再根据其他辅助信息,比如时间,地点等去确定老人是不是真的摔倒了。

从网上找半天,发现敏感的大气压强传感器可以确定高度,精确到15cm,符合我的预期。

材料

  • STM32F103ZET6芯片开发板
  • 液晶显示屏
  • 杜邦线
  • 两块BMP280模块
  • GSM模块
  • GPS模块
  • 超声波模块
  • 用keil5进行开发

开始制作。

制作过程

首先测试BMP280模块,得到期望的数据后再测试GPS模块,找到地址(经纬度)数据。再测试GSM,通过AT指令使其可以发短信(也可测试打电话,本项目用不到),然后在板子中测试,再测试GPS,找到地址(经纬度)数据。测试完成后加入超声波模块,最后完成代码逻辑。

BMP280模块

请添加图片描述
这个模块有SPI和IIC两种连接方式,我们这里采用iic因为我们其他两个模块都要用串口,我们还要调试,就没有那么多串口可以用。根据网上找的BMP280驱动连接板子后可以看到我们希望得到的数据。先用两路BMP进行测试。结果如图所示。
部分代码

void bmp280GetData(float* pressure,float* temperature,float* asl)
{
    static float t;
    static float p;
	
	bmp280GetPressure();

	t=bmp280CompensateT(bmp280RawTemperature)/100.0;		
	p=bmp280CompensateP(bmp280RawPressure)/25600.0;		

	presssureFilter(&p,pressure);
	*temperature=(float)t;                 /*单位度*/
//	*pressure=(float)p ;	                 /*单位hPa*/	
	
	*asl=bmp280PressureToAltitude(pressure);	       /*转换成海拔*/	
}

请添加图片描述
再微调数据,是两个传感器测得同位置数据一致。

GPS模块调试

GPS(ATK-NEO-6M GPS)模块
设置好后,模块接收NMEA码并解析出我们需要的数据。
例如: 在这里插入图片描述
每个都代表着不同的数据。可以参考:GPS的NMEA码的详细解释定义
具体的模块已经配置好了,我们使用就可以了。

硬件连接
  1. 将模块插入到开发板的ATK-MODULE接口(靠下插)即可。

在这里插入图片描述
2. 短接: USART3_RX 和 GBC_TX 以及 USART3_TX 和 GBC_RX。

代码测试
  1. 将原子哥的代码下载到板子中进行测试。
  2. 通电测试(我开始在室内,等了好久都没有数据,后来搬到室外就有数据了,第一次连接需要等一会儿,在室外有数据之后,再回到室内就还有数据。)
  3. 这样即表示成功
    在这里插入图片描述

GSM模块(ATK-SIM800C)AT调试

首先用AT指令测试模块,达到可以发短信,打电话。
下边是部分AT指令:

AT返回作用
ATOK模块通讯正常
AT+CPIN?+CPIN:READY查询 SIM 卡的状态,主要是 PIN 码
AT+CSQ+CSQ: 24,0查询信号质量
AT+COPS?+COPS:0,0,”CHINA MOBILE”查询当前运营商
AT+CGMISIMCOM_Ltd查询模块制造商
AT+CGMMSIMCOM_SIM800C查询模块型号
AT+CGSN866104023267696查询产品序列号(集 IMEI 号)
AT+CNUM+CNUM:””,”136******”,”129”,7,4查询本机号码
ATE1OK设置回显模式(默认开启)
ATD10086;OK用于拨打任意电话号码
ATAOK应答电话
ATHOK挂断电话
AT+CMGF=1OK置短消息模式,设置为文本模式
AT+CSCS=“GSM”OK用于设置 TE 字符集,纯英文为GSM,中英文为UCS2
AT+CMGS>用于发短信
英文短信的发送
  1. 设置字符集为AT+CSCS="GSM"
  2. 设置文本模式为AT+CMGF=1
  3. 发送短信的目的人为AT+CMGS="18********"
  4. 然后模块返回: >,此时我们输入我们需要发送的内容:ATK-SIM800C MSG SEND TEST
  5. 在发送完内容以后, 最后以十六进制(HEX)格式单独发送(不用添加回车): 1A(即 0X1A),即可启动一次短信发送。
  6. 稍等片刻,在短信成功发送后,模块返回如: +CMGS: 39,的确认信息,表示短信成功发送
中文短信的发送
  1. 首先发送AT+CMGF=1, 设置为文本模式;
  2. 设置文本模式参数AT+CSMP=17,167,2,25
  3. 设置字符集为AT+CSCS="UCS2"
  4. 首先要用将号码和发送内容转换为UNICODE 字符串,
    1.号码182********,转换后的 UNICODE 字符串(去掉空格后)为:
    2.00310038003200390030003100390035003600330032
    3.ATK-SIM800C 中英文短信发送测试,装换后的 UNICODE 字符串为:
    4.00410054004B002D00530049004D003800300030004300204E2D82F1658777ED4FE153D
    190016D4B8BD5

由于使用了 UCS2字符集,所有字符/数字/汉字,都必须使用 UNICODE 编码

  1. 发送: AT+CMGS=”00310038003200390030003100390035003600330032” ,这个指
    令,然后模块返回:>
  2. 此时我们输入我们需要发送的内容: 00410054004B002D00530049004D003800300030004300204E2D82F1658777ED4FE153D 190016D4B8BD5注意,此可以不用发送回车了
  3. 在发送完内容以后,最后以十六进制(HEX)格式当独发送(不用添加回
    车): 1A(即 0X1A),启动一次短信发送。
    在这里插入图片描述
    一次中英文短信发送成功。

GSM模块板子调试

硬件连接

模块需要独立供电,推荐 12V1A 电源。

板子PA3连接STXD,PA2连接SRXD,模块GND连接板子GND在这里插入图片描述在这里插入图片描述

代码测试

下载原子哥【正点原子】GSMGPRS模块ATK-SIM800C例程

  1. 初始化
  2. 拨号测试
  3. 短信测试

功能都正常我们就开始修改代码

  1. 去掉所有跟短信没有关系的代码;
  2. 将短信目的写成确定的;
  3. 将短信内容改为:我摔倒了!我在********高度*****。
  4. 进行测试,收到的短信内容为
    请添加图片描述

这样就可以了。

最后完善代码逻辑。

当两个高度一直时标记,等待五秒,还未站起来就发送短信进行求助。


最后附上完整的项目文件。自行下载。
https://download.csdn.net/download/weixin_42320020/82335546
这个项目到这里就算完了。
还有很多不足的地方,希望大佬可以指正。也希望和爱好者交流学习。

禁止转载!!!
博客:https://blog.csdn.net/weixin_42320020/?type=blog
QQ:2039723308
VX:Shiboven

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:45:41  更:2022-02-28 15:46:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:44:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码