本文分享自华为云社区《基于STM32+华为云IOT设计的老人防摔倒报警系统【玩转华为云】》,作者: DS小龙哥 。
1. 前言
我国独生子女,以及人口老龄化等问题,正逐渐成为一个重大的社会问题,老年人机体能力的下降,摔倒引起的安全和危害愈来愈突出,国家和社会越来越关注老年人的健康和安全,开发一个能够实时检测出老年人是否摔倒,并且能及时告知监护人的摔倒检测以及报警系统具有重要的现实意义。本系统包括检测摔倒模块、GPS定位模块和通信模块三部分,通过检测老年人日常状态,可以得知老年人的状态,如果监测到老年人摔倒了,此时会通过网络把检测结果上传到物联网云平台,获得老年人摔倒地点的GPS定位,并且通过GPRS通讯发短信给预设的监护人。
2. 设计需求
(1)采用STM32单片机作为主控芯片,配合其他模块完成功能设计
(2)通信模块采用SIM800C,支持上传采集的GPS经纬度数据到云端服务器,云端采用华为云物联网平台。
(3)老人摔倒检测采用MPU6050陀螺仪检测,当检测到老人摔倒之后,会通过SIM800C发送短信到紧急联系人,设备上的蜂鸣器会发出警报声,周围行人听到也可以进行帮助;并且会将GPS数据上传到云端,通过地图显示老人的位置,家人通过短信知道老人摔倒后,通过云端地图显示的位置,可以快速赶到老人身边,或者报警求助,报告位置。
(4)老人摔倒后,如果自己能行动,没有大问题,可以自己按下设备上的按键取消蜂鸣器报警,并且通过SIM800C向家人发送一条短信,报平安。
3. 设计的实物效果
为了快速验证方案的可行性,这里采用现成的模块采用杜邦线连接完成整个预想的功能设计。
下面就是硬件连接好之后的效果图,选用的硬件型号在第4章节已经全部贴出来了;为了方便户外测试,这里的供电电源采用了充电宝,也可以采用电池盒供电。
可以设置电子围栏,坐标超出之后进行提示。
4. 硬件选型
主控芯片采用STM32RCT6,通信模块采用SIM800C,GPS采集使用ATGM336北斗BDS+GPS双模模块,老人摔倒检测模块采用MPU6050陀螺仪。
这些都是采用现成的成品模块,都是在淘宝上买的,下面都贴出了模块的型号,模块的实物截图,如果自己想做一个,可以在淘宝上找到一样的模块型号购买。
4.1 SIM800C
SIM800C模块是一款高性能高性价比工业级的GSM/GPRS模块。本模块采用SIMCOM公司的工业级四频850/900/ 1800/1900MHz SM800芯片,可以低功耗实现语音、SMS、数据和传真信息的传输。
模块特点:
1、支持极限DC5V-18V宽电压输入
2、有电源使能开关引脚EN
3、支持锂电池供电接口VBAT3.5-4.5V
4、输入支持移动和联通手机卡Micro SIM卡
5、送51/STM32/ARDUINO驱动例程
6、DC 5V-18V电源输入,推荐使用DC 9V
7、电源开始使能引脚默认使能
8、电源地
9、GSM模块的TXD引脚接其它模块的RXD
10、GSM模块的RXD引脚接其它模块的TXD
11、数据终端准备
12、内核音频输出引脚
13、内核音频输出引脚
14、锂电池输入引脚,DC 3.5 – 4.5V
15、电源地
16、启动引脚和GND短路可实现开机自启动
17、电源地
18、RTC外置电池引脚
19、内核振铃提示引脚
20、内合音频输入引脚
21、内核音频输入引脚
加粗的引脚一般都用到。
建议使用V_IN单独供电DC5-18V输入(推荐使用9V),或者VBAT供电锂电池两种供电方式这两种供电方式最稳定。如果只是简单调试,也可使用USB-TTL或者开发板的5V直接给模块供电。不过一般电脑或者开发板的功率有限,可能会不稳定。请根据具体情况自己取舍选择合适电源。
总结:
模块本身支持自适应波特率,可以自动根据发送过去的指令计算对应的波特率,一般使用115200即可。
模块调试总结:
(1)供电电压5V也可以,采用电脑USB供电(直接插电脑USB口)。正常供电之后,模块上有电源指示灯。
(2)SIM800C的TX脚接单片机的RX脚
(3)SIM800C的RX脚接单片机的TX脚
(4)SIM800C的第11个引脚(PWK)和12个引脚(GND)短接接在一起,才可以开机。
电源正常后,右上角有一个黄色的电源灯。
通过串口发送AT指令过去测试模块效果。
4.2 STM32F103C8T6开发板
4.3 GPS模块
GPS模块正常定位后,模块上的LED灯会按照1秒钟闪烁一次。
返回的字段里GNRMC表示当前定位的GPS经纬度,解析代码只需要解析GNRMC表示当前定位的GPS经纬度,解析代码只需要解析GNRMC字段。
第一次启动GPS模块,定位差不多要几分钟时间,定位成功后,第二次启动定位就很快,最好是在室外,室内信号差,定位时间更久。
4.4 MPU6050陀螺仪
陀螺仪选择的是正点原子的模块,比较稳定,质量较好。
4.5 蜂鸣器
蜂鸣器选择的高电平触发。
5. 创建云端物联网服务器
为了方便查看老人摔倒之后的位置,需要通过SIM800C将设备采集的GPS数据上传到云平台服务器保存,就算老人没有跌倒,也可以实时关注老人的位置,在地图上绘制出轨迹线路,方便家人随时联系,了解老人的情况。
这里物联网的平台选择是华为云物联网平台,目前是免费使用的,在云端创建产品等信息后,设备再通过MQTT协议连接云平台上传GPS数据。目前华为云的拖拽试网页开发页面已经下架,目前要开发对应的上位机,可以采用最近主推的低代码开发平台或者自己通过云平台的应用侧开发接口自己开发上位机,我这里是自己开发的上位机,通过QT编写的上位机APP,支持windows、Android、Linux等多个平台运行,跨平台使用还是比较方便。
下面接着就介绍如何登陆官网创建产品、设备、完成云端的产品部署。
5.1 创建产品
官网地址: www.huaweicloud.com/product/iot…
打开官网后没有华为云账号需要先注册账号,这些步骤就不多说了,接下来就直接介绍如何创建产品、设备、配置属性、完成数据上传交互的流程。
点击免费使用进去页面。
点击左边产品选项,点击右上角创建产品按钮,弹出参数填充对话框。
根据自己的设备情况填入信息之后保存。
产品创建成功,点击查看详细信息。
5.2 创建模型文件
在现在的详情页面往下翻,可以看到模型创建的选项。
点击自定义模型选项,创建模型。
这里的模型就是设备上传的数据属性。
添加服务ID。
点击创建属性,这里选择JSON类型的数据,上传的GPS有经纬度两个数据,方便保存。
创建成功。
今天的文章尽一份孝心,为家人做一个老人防摔报警系统分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/20685.html