项目简介
本项目是一个结合物联网(IoT)、云计算和硬件设备的综合项目,其目标是实现声音水平的监控与可视化。项目中的声音监测设备基于ESP32微控制器,通过WiFi连接到AWS IoT Core,能实时将声音分贝数据上传至云端。在云端,数据会被存储并可视化呈现,当声音超过预设阈值时,会向Discord发送通知。
项目的主要特性和功能
硬件部分
- ESP32微控制器:读取声音传感器数据,通过WiFi连接AWS IoT Core。
- WPSE309声音传感器:测量声音水平,具备模拟和数字输出功能。
- LED指示灯:依据声音级别控制亮度,实现本地声音强度指示。
软件和云端部分
- Arduino IDE:用于编程ESP32微控制器,实现WiFi连接、MQTT发布及本地LED控制。
- AWS IoT Core:作为中央枢纽,管理、连接和保护IoT设备,接收ESP32传来的声音数据。
- Amazon Timestream:存储声音数据,提供时间序列数据库服务。
- Grafana:可视化声音水平的实时数据和历史趋势。
- AWS Lambda:声音超预设阈值时,触发函数向Discord发送警报通知。
安装使用步骤
硬件设置
- 配置ESP32,使其连接到WiFi网络并可访问互联网。
- 将WPSE309声音传感器连接到ESP32的模拟输入引脚。
- 按需将LED灯连接到ESP32的数字输出引脚,使用220Ω电阻保护LED。
软件设置
- AWS IoT Core配置:
- 创建物模型(Thing),配置相关策略、角色和证书。
- 配置MQTT主题和消息路由规则,将数据发送到Timestream数据库。
- Grafana配置:
- 配置数据源以连接Timestream数据库。
- 创建仪表板展示声音水平的实时数据和历史趋势。
- Lambda函数配置:
- 创建Lambda函数,配置触发条件(如声音超过80分贝)。
- 配置Discord Webhook以接收警报通知。
- Arduino代码上传:
- 使用Arduino IDE编写代码,实现WiFi连接、MQTT发布和本地LED控制。
- 将代码上传到ESP32,确保功能正常。
部署和监控
- 将ESP32设备部署到实际环境,开始监测声音水平。
- 监控Discord通知,确保警报正常工作。
- 使用Grafana仪表板监控声音水平的实时数据和历史趋势。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】