littlebot
Published on 2025-04-11 / 2 Visits
0

【源码】基于ESP32的智能家居控制系统

项目简介

ESPecial是一个基于ESP32的智能家居控制系统,为用户提供无需编程技能就能设置复杂任务的解决方案。该项目适用于小型项目、家庭自动化和教育场景,用户可借助它轻松控制ESP32的各类功能,如GPIO控制、自动化任务、视频流、REST API、事件驱动的Web界面、Telegram机器人、MQTT客户端等。

项目的主要特性和功能

  • 自动化:可通过API、MQTT、Telegram机器人或简单引脚事件触发自动化任务,无需编码。支持多种引脚控制,能发送Telegram消息和HTTP请求。
  • ESP - CAM支持:可在界面直接进行视频流传输,并通过自动化任务经Telegram发送图片。
  • REST API:能暴露GPIO和自动化逻辑,可设置引脚的数字/模拟值、模式、频率、分辨率等,还能触发自动化任务、扫描I2C地址和发送I2C命令。
  • 事件驱动的Web界面:采用纯vanilla JS,无需联网。可通过界面设置引脚模式、动作、条件等,无需刷新页面就能获取引脚状态更新。
  • Telegram机器人:能从外部控制ESP32,无需家庭服务器和暴露路由器端口,可通过用户授权列表限制访问。
  • MQTT客户端:可发布/订阅引脚状态和动作。
  • Wi - Fi:设置ESPecial到本地网络简便,先让ESPecial在AP模式下设置WIFI网络,即可访问所有功能并设置ESP32到本地网络。

安装使用步骤

安装

简单方式

  1. 确保ESP32已准备好,安装Arduino板管理器。

手动方式

  1. 复制或下载本项目到本地目录。
  2. 添加ArduinoJSON v6、PubSubClient、UniversalTelegramBot、ESPAsyncWebServer、AsyncTCP这些依赖库到Arduino库中。
  3. 上传代码到ESP32,选择Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)分区方案。
  4. 按照此指南上传Web服务器文件到SPIFF分区。

使用

Wi - Fi连接

  1. 打开ESP32,连接到名为ESP32的AP,密码为p@ssword2000
  2. 访问http://especial.local进入Web界面。
  3. 在设置页面中,切换到Station模式(STA),输入Wi - Fi网络的SSID和密码。

Web界面

  1. 界面响应式,可在智能手机上使用。
  2. 添加第一个引脚处理程序,选择引脚并设置模式。
  3. 保存设置后,可通过界面控制引脚状态。

自动化

  1. 设置基于引脚状态或Telegram/MQTT/API事件触发的自动化任务。
  2. 添加动作,如设置引脚值、发送Telegram消息、发送HTTP请求等。

REST API

  1. 通过API触发引脚状态和自动化任务。
  2. 示例:http://your.ip.local.ip/gpio/value?pin=5&value=1设置引脚5为高电平。

Telegram机器人

  1. 创建Telegram机器人并获取Token。
  2. 在ESPecial设置页面中输入Token并激活Telegram机器人。
  3. 通过Telegram控制ESP32的引脚和自动化任务。

ESP - CAM

如果使用ESP - CAM板,可在界面中直接流式传输视频,并通过自动化任务经Telegram发送图片。

MQTT客户端

  1. 配置MQTT客户端,设置MQTT代理地址、用户名和密码。
  2. 设置主题,ESP32将监听和发布引脚状态。

OTA更新

  1. ESPecial会通知是否有新版本可用。
  2. 在设置面板中选择新版本进行更新。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】