该系统由硬件端和APP端组成:硬件端以ESP32为核心控制器,负责所有程序的集中管理和模块数据通信;0.96寸OLED显示器用于实时显示当前环境数据;超声波传感器监测是否有人靠近指定区域,当检测到触发距离时,语音报警系统会播放提示音;湿度传感器检测水位变化,若监测到持续波动,则触发蜂鸣器报警。APP端通过MQTT协议与硬件设备进行信息交互,可采集底层数据并展示在用户界面中;当监测到异常时,APP会进行弹窗反馈;用户还可设置水位波动报警的阈值以自定义响应条件。
关注微信公众号--星之援工作室 发送关键字(项目清单)
可获取项目清单资料
????
????(本文章仅提供思路和实现方法,并不包含代码,需要代码的同学请自行联系博主)
????(有疑问或需要定制或者技术支持等,也请自行联系博主)????
一 连线图
1.原理图
开发板本身自带一个LED ,这个LED作为我们查看网络连接状态和获取数据状态的说明
(1)OLED显示屏中会显示联网状态,若MUC上面的的LED处于闪烁状态,则说明我们的设备处于正常运行,若LED灯不再闪烁,请按复位键将程序手动复位一次
(2)硬件每隔几秒会向APP传输一次数据。
热点名字:NET密码:12345678,请使用2.4GHZ频率的无线网。
2 PCB效果
3 实物效果
4 APP效果
5 功能概括
(1)硬件端
- ESP32:用于所有程序的中控和模块数据通信;
- 0.96寸OLDE:用于显示当前当前环境数据。
- 超声波传感器:监测是否有人靠近区域
- 语音报警:检测到触发距离,播放语音进行提示
- 湿度传感器(实现水位变化检测):监测到发生持续水位变化,实现蜂鸣器报警
- 蜂鸣器:用于设备报警;
(2)APP端
- 使用MQTT协议与设备进行信息交互;
- 可采集到底层设备数据并且展示到界面UI中;
- 当监测到发生异常时,app会进行弹窗反馈信息
- 可以设置波动报警的阈值
(3)云平台使用
只是链接各个设备使用,采用MQTT即时通讯;
(4)演示视频
通过网盘分享的文件:161.1.防溺水预警系统-ESP32.mov
链接:
https://pan.baidu.com/s/1K7DaQmsioCVLlI-rig7iLw?pwd=XZY0 提取码: XZY0
--来自百度网盘超级会员v7的分享
二 底层代码使用方式
1 使用说明
(1). 使用的时候设备会自动连接WIFI
热点名字:NET密码:12345678,请使用2.4GHZ频率的无线网。
(2). 当设备处于正常状态的时候,开发板上面的LED会处于闪烁的状态。
(多看视频,视频中有完整功能演示)
(多看视频,视频中有完整功能演示)
(多看视频,视频中有完整功能演示)
2 下载程序
- 先根据原理图进行连线,连接好以后在做后面的操作
- 打开手机热点 热点名字:NET密码:12345678
- 打开程序(硬件由工作室出的可以忽略下载程序这部分)
三 APP使用方式
下载APP
(1)操作方式:
使用Android手机安装APK进行操控
安装Android studio导入项目使用模拟器
官网下载最新版本
https://developer.android.google.cn/studio?hl=zh-cn
安装包(工作室使用版本)链接:
https://pan.baidu.com/s/1DnRGWeJt7XBTmzqHj1KRSQ?pwd=xzy0
提取码:xzy0
安装教程
https://zhuanlan.zhihu.com/p/528196912
(2)使用说明
打开APP后设备会自动订阅MQTT主题,等待1-5秒APP会自动获取到设备上的数据,若5秒内没有获取到设备数据,则请检测设备是否在线,若在线,则请重新打开APP进行数据的获取
(多看视频,视频中有完整功能演示)
(多看视频,视频中有完整功能演示)
(多看视频,视频中有完整功能演示)
四 程序架构及修改(通用)
- 硬件代码
- 如需修改WiFi
联系方式 微信号:13648103287
2061