项目简介
本项目是一个基于ESP32的学校铃声控制系统,具备时间同步、铃声控制、Web服务器管理和数据展示等功能,可实现学校铃声的自动化控制和设备信息的监控展示。
项目的主要特性和功能
- 时间同步:ESP32初始化时从配置的NTP服务器调整时间,每小时进行新同步,确保时间准确,同步时间以UNIX Epoch time格式存储,便于外部管理和监控。
- 铃声控制:铃声触发时间存储在
timeToStudy()
函数,分短铃(课间用,默认3秒)和长铃(课间开始或结束等,默认7秒)。固定节假日在DiadeAula()
函数定义,该函数返回是否触发铃声。短铃和长铃持续时间可通过tempoCurto
和tempoLongo
变量修改。 - Web服务器管理:提供Web服务器用于被动管理设备,通过HTTP请求,设备返回JSON文档,包含项目信息、系统信息、当前时间、NTP同步信息、课程时间等,方便监控设备时间。
- 数据展示:返回的JSON数据可在其他平台(如Zabbix、Grafana)上展示。
安装使用步骤
硬件准备
- 准备ESP32(30引脚)、5V继电器模块(单通道或双通道)、可调电源(HW-131)、400点实验板、NTP服务器(可通过互联网或本地提供)。
- 若使用可调电源HW-131,用7 - 12V电源;若没有,直接将5V电源连接到ESP32的VIN端口和5V继电器。
软件安装
- 确保已安装Arduino IDE 2.0。
- 将所有.ino文件放在同一目录下。
- 打开Arduino IDE,选择正确的开发板(ESP32)和端口。
- 编译并上传代码到ESP32。
使用方法
- 设备启动后,ESP32自动尝试从配置的NTP服务器同步时间。
- 通过HTTP请求访问设备,获取JSON格式的设备信息和课程时间信息。
- 根据返回的JSON数据,在其他平台上进行数据展示和监控。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】