站内搜索
发作品签到
专业版

基于立创·ESP32S3自习室管理系统

工程标签

275
0
0
1

简介

本系统以立创・ESP32S3 开发板为核心控制单元,环境传感、智能照明、时长统计、无线配网及MQTT功能,支持SmartConfig快速配网实现远程数据查看与控制,为自习室提供安全、智能化的学习环境。

简介:本系统以立创・ESP32S3 开发板为核心控制单元,环境传感、智能照明、时长统计、无线配网及MQTT功能,支持SmartConfig快速配网实现远程数据查看与控制,为自习室提供安全、智能化的学习环境。
立创开发板「课设/毕设」开源计划

开源协议

GPL 3.0

创建时间:2025-11-04 21:21:08更新时间:2025-11-26 09:17:17

描述

一、系统概述

本系统以立创・ESP32S3 开发板为核心控制单元,整合环境传感、智能照明、时长统计、无线配网及安全报警等功能,构建一套低成本、高可靠性的智能自习室管理解决方案。系统可实时监测自习室温湿度、光照强度、危险气体浓度等关键环境参数,自动调节灯光亮度以适配学习场景,精准统计用户学习时长并存储,支持 SmartConfig 快速配网实现远程数据查看与控制,同时在危险气体超标时触发声光报警,为自习室提供舒适、安全、智能化的学习环境,助力提升自习室管理效率与用户体验

二、核心功能模块设计

(一)环境参数检测模块

  1. 检测参数:温湿度(适配学习舒适度判断)、光照强度(为灯光控制提供数据支撑)、危险气体(以甲醛、CO 等常见有害气体为主,保障人身安全)。
  2. 硬件选型
    • 温湿度传感器:AHT20(低成本、易集成,测量范围 20-90% RH、0-50℃,满足自习室环境需求);
  3. 工作原理:ESP32S3 通过 I2C/SPI 接口与传感器通信,定时采集各环境参数(采集周期可配置为 1-5 秒),对数据进行滤波处理后存储至板载 Flash,同时上传至云端或本地显示终端。

(二)智能灯光控制模块

  1. 控制逻辑
    • 自动模式:根据 BH1750 采集的光照强度自动调节灯光亮度(如光照<300 lx 时开启灯光,300-500 lx 时低亮度,500-1000 lx 时关闭灯光);
    • 手动模式:支持用户通过开发板按键或手机 APP 手动开关灯光、调节亮度;
    • 节能逻辑:检测到自习室无人(可搭配 PIR 人体红外传感器扩展)时,延时 3 分钟自动关闭灯光。
  2. 硬件选型:LED 灯带(5V 直流供电)、MOS 管(IRF520)、软件调光(辅助手动调光校准)。
  3. 驱动方式:ESP32S3 通过 PWM 引脚输出模拟信号,控制 MOS 管导通程度,实现 LED 灯带的无级调光,兼顾舒适度与节能性。

(三)学习时长统计模块

  1. 统计逻辑
    • 触发条件:当 PIR 人体红外传感器检测到有人且灯光开启时,启动时长统计;
    • 计时规则:开机校准unix时间戳,通过MQTT接收到灯光辅助或者结束到计时指令,开始统计时间,每秒发送最新统计时间,保证更新最新时间;
    • 数据存储:统计数据(日期、开始时间、结束时间、累计时长)存储至 ESP32S3 的非易失性存储(NVS),支持断电后数据不丢失,最多保留近 30 条历史记录。
  2. 硬件辅助:PIR 人体红外传感器(HC-SR501,检测距离 3-7 米,角度 110°,适配自习室单人座位或小区域检测)。
  3. 数据展示:支持通过串口打印、通过配网后上传至手机 APP / 云端查看。

(四)SmartConfig 配网模块

  1. 功能目标:简化用户配网操作,无需手动输入 WiFi 名称和密码,快速实现 ESP32S3 与家庭 / 自习室 WiFi 网络的连接。
  2. 实现原理:基于 ESP-IDF 的 SmartConfig 协议,用户通过手机 APP(如 “安信可串口助手” 或自定义 APP)输入 WiFi 账号密码后,手机以广播形式发送配网信息,ESP32S3 处于监听状态,接收并解析配网数据,完成 WiFi 连接。
  3. 网络功能:连接成功后,自动获取 IP 地址,支持将环境数据、时长统计结果上传至 OneNet、阿里云等物联网平台,或通过 MQTT 协议与手机 APP 通信,实现远程监测与控制。

(五)危险气体报警模块

  1. 报警逻辑:实时对比 MQ-135 传感器采集的气体浓度与预设阈值(如甲醛阈值 0.1 mg/m³),当浓度超过阈值且持续 3 秒(避免误报),触发报警机制。
  2. 报警方式
    • 声光报警:ESP32S3 控制蜂鸣器发出高频警报声,LED 报警灯(红色)闪烁;
    • 远程提醒:通过 WiFi 向手机 APP 推送报警通知,便于管理人员及时处理。
  3. 硬件选型:有源蜂鸣器(5V)、红色 LED 灯、限流电阻(220Ω)。

三、硬件电路设计

        (一)温湿度电路

温湿度模块使用广州奥松电子股份有限公司推出的一款高精度数字温湿度传感器模块,采用标准 I2C 接口,模块电器属性如下:

        • 测量范围:温度测量范围为 - 40℃-80℃,湿度测量范围为 0%-100% RH。
        • 精度:在 25℃时,温度精度典型值为 ±0.3℃,湿度精度典型值为 ±1% RH。
        • 分辨率:温度分辨率可达 0.01℃,湿度分辨率为 0.024% RH。
        • 响应时间:在 25℃和 1m/s 空气流速下,温度响应时间 t63% 为 5-30S,湿度响应时间 t63% 为 8S。
        • 功耗:休眠功耗低至 1.3μW,测量时平均功耗也较低。

(二)报警器电路

这个电路是基于 NPN 三极管的蜂鸣器驱动电路,核心功能是通过单片机 IO 口(PD6)控制蜂鸣器的发声,来自单片机的 IO 口,输出高低电平信号,控制蜂鸣器的通断,采用有源蜂鸣器(需外部提供驱动信号),一端接 + 3.3V,另一端接三极管 Q1 的集电极。

(三)WS2812灯带电路

本设计使用WS2812灯带,所以电路中使用XH2.54与灯带连接,程序默认支持12个WS2812灯,可通过在程序中修改即可,并支持MQTT下发命令设置灯带每个灯的颜色。

(四)指示灯电路

指示灯电路采用两颗发光二极管,通过ESP32的GPIO引脚控制灯光闪烁,低电平点亮发光二极管,高电平熄灭发光二极管,用于指示板子当前状态。

(五)按键控制电路

本设计采用按键ESP32的GPIO检测按下为低电平,未按下为高电平,其中加入100nf电阻进行削抖,防止误判多次按下操作。

(六)继电器控制电路

这个电路是基于光耦和三极管的继电器驱动电路,核心功能是通过单片机 IO 口(RELAY_2)控制电磁继电器的吸合 / 断开,同时包含状态反馈功能,

        • 控制信号端(RELAY_2):来自单片机的 IO 口,通过 R26(1kΩ)限流后接入光耦 U18(6N137,高速光耦)的输入侧。
        • 光耦 U18(6N137):实现 “控制侧” 与 “继电器驱动侧” 的电气隔离,避免强电干扰单片机系统。
        • 三极管 Q2(S8050,NPN 型):作为开关元件,放大光耦输出的信号,驱动继电器线圈。
        • 继电器 RLY1:电磁继电器(型号可能是 SHG-S-05DC-SL-C),包含线圈和一组常开(RELAY1_ON)、常闭(RELAY1_NC)、公共端(RELAY1_COM)触点。
        • 保护设计:续流二极管 D2、限流电阻(R25、R26 等)有效保护元件,延长电路寿命。

四、软件程序设计(基于 ESP-IDF)

(一)程序架构

采用模块化编程思想,分为初始化模块、传感器数据采集模块、灯光控制模块、时长统计模块、SmartConfig 配网模块、报警模块、数据存储与上传模块。

(二)核心程序流程

  1. 系统上电初始化:GPIO、I2C/SPI 接口、ADC、PWM、NVS、WiFi 、MQTT等外设初始化;
  2. SmartConfig 配网:若未存储 WiFi 信息,进入配网模式,等待手机发送配网数据,配网成功后存储 WiFi 信息,下次上电自动连接;
  3. 数据采集与处理:循环采集温湿度、光照强度、气体浓度、人体感应信号,对数据进行滤波去噪;
  4. 功能逻辑执行:
    • 灯光控制:根据光照强度和人体感应状态,自动调节 PWM 占空比或响应手动控制指令;
    • 时长统计:根据人体感应和灯光状态,启动 / 暂停计时,更新并存储时长数据;
    • 报警判断:对比气体浓度与阈值,触发报警机制;
  5. 数据展示与上传:本地 OLED 屏显示实时数据与统计结果,同时通过 WiFi 上传至云端或 APP。

(三)关键代码片段(示例)

  1. SmartConfig 配网初始化:

开机读取NVS固定文件,如果是没有配网状态就去配网否则连接WIFI并启动所有的程序任务。

// 读取 sys_para 结构体
    size_t length = sizeof(sys_para.wifi_paramter);
    err = nvs_get_blob(system_parameter, "wifiparam1", &sys_para.wifi_paramter, &length);
    log_printf(DEBUG_MAIN,"wifi_valid=%d",sys_para.wifi_paramter.wifi_valid);
    log_printf(DEBUG_MAIN,"ssid=%s",sys_para.wifi_paramter.ssid);
    log_printf(DEBUG_MAIN,"password=%s",sys_para.wifi_paramter.password);
    if (err == ESP_OK){
        if (sys_para.wifi_paramter.wifi_valid == true){
            // 配置过 WiFi,直接连接
            log_printf(DEBUG_MAIN,"WiFi is already configured, trying to connect...");
            initialise_wifi();
            wifi_config_t wifi_config;
            memset(&wifi_config, 0, sizeof(wifi_config));
            memcpy(wifi_config.sta.ssid, sys_para.wifi_paramter.ssid, sizeof(sys_para.wifi_paramter.ssid));
            memcpy(wifi_config.sta.password, sys_para.wifi_paramter.password, sizeof(sys_para.wifi_paramter.password));
            ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config));
            esp_wifi_connect();
        }else{
            // 未配置过 WiFi,进入配网
            log_printf(DEBUG_MAIN,"WiFi is not configured, starting smartconfig...");
            initialise_wifi();
        }

    }
    else if (err == ESP_ERR_NVS_NOT_FOUND){
        // 未找到标志位,进入配网
        log_printf(DEBUG_MAIN,"WiFi configuration not found, starting smartconfig...");
        initialise_wifi();
    }
    else{
        ESP_LOGE(TAG, "Error (%s) reading wifi_param from NVS!", esp_err_to_name(err));
        return;
    }

    nvs_close(system_parameter);

    xTaskCreatePinnedToCore(app_task, "app_task", 4096, NULL, 3, &App_Task,1); //启动应用程序

2. 灯光自动控制逻辑:

本设计支持两种灯光控制一种是WS2812灯带和继电器控制灯光,如果WS2812亮度满足不了可以使用继电器控制灯光。用户可以根据自己需求使用,可通过远程控制。

// 初始化并同步NTP
ntp_time_init();
wait_for_ntp_sync();
ws2812_init(GPIO_NUM_14, 12, &ws2812_handle);
xTaskCreatePinnedToCore(app_task, "app_task", 4096, NULL, 3, &App_Task,1);
rgb_t bake = {200,200,200};
ws2812_write(ws2812_handle,0,bake);
bake.r = 150;
bake.g = 250;
bake.b = 10;
ws2812_write(ws2812_handle,1,bake);

 

五、系统测试与优化

(一)功能测试

  1. 环境检测测试:在不同温湿度、光照条件下,验证传感器数据采集的准确性,对比标准仪器误差≤±5%;
  2. 灯光控制测试:模拟不同光照场景,验证自动调光的响应速度与亮度适配性,手动控制功能正常;
  3. 时长统计测试:模拟人员进出场景,验证计时启动、暂停、累计功能,断电后数据不丢失;
  4. 配网测试:更换不同 WiFi 网络,验证 SmartConfig 配网成功率≥95%,连接稳定;

(二)优化方向

  1. 硬件优化:增加气体传感器校准电路,提高检测精度;采用低功耗传感器与电源管理方案,延长系统续航(若采用电池供电);
  2. 软件优化:加入数据异常检测机制,过滤传感器误触发数据;优化 WiFi 重连逻辑,提升网络稳定性;
  3. 功能扩展:增加手机 APP 自定义参数阈值(如报警浓度、光照阈值);支持多人学习时长统计与排名;集成空调控制接口,实现温湿度联动调节。

六、总结

本系统基于立创・ESP32S3 开发板,实现了自习室环境监测、智能灯光控制、学习时长统计、SmartConfig 配网及危险气体报警五大核心功能,硬件电路简洁易搭建,软件逻辑模块化易维护。系统兼顾了实用性与智能化,可有效改善自习室学习环境、提升管理效率,同时降低运维成本,适用于高校自习室、社区书房、付费自习室等多种场景,具有较高的推广价值。
 
 
因程序源码中有私有链接已经删除并标注,后续可以提供统一固件或者私信本人添加权限,免费使用服务器!!
小程序部分提供源码,上传git后补充进来,希望和小程序大佬们一块优化,共建开源社区。(协议部分也将在git中提供)。
小程序仓库地址:稍等,暂无更新到这里或见评论。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
3_-smart-config_-wifi-ESP32-1060-V101007.zip
6
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航