项目简介
本项目是基于ESP32的物联网设备控制系统,借助WiFi或互联网可远程控制照明设备、墙壁插座、HVAC设备等多种电子设备。系统采用Firebase实时数据库实现数据存储与通信,用户能通过移动应用程序或Web界面控制设备。
项目的主要特性和功能
- 支持通过WiFi或互联网控制连接到ESP32的设备输出端口,实现远程开关操作。
- 具备WiFi管理功能,支持软AP模式,用户可通过Web界面配置WiFi凭据并存储在ESP32的EEPROM中,设备重启后自动连接。
- 集成Firebase实时数据库,可实现远程控制,用户能通过移动应用程序实时监控和控制设备状态。
- 自动管理IP地址,ESP32连接WiFi后会获取并上传IP地址到Firebase数据库,方便远程控制。
- 实时同步设备状态(开/关)到Firebase数据库,确保应用程序准确反映设备当前状态。
安装使用步骤
环境准备
- 下载并安装Arduino IDE。
- 安装所需库文件,包括Arduino JSON库(版本6.x或更高)、WiFiManager库(用于WiFi凭据管理)。
配置项目
- 打开项目源代码文件(
.ino
文件)。 - 在代码中配置Firebase项目的API密钥和数据库URL: ```C++
define API_KEY "your_firebase_api_key"
define DATABASE_URL "your_firebase_database_url"
- 确保WiFiManager库的默认SSID和密码已设置为:
SSID: ESP32_WifiManager
密码: 12345678
```
上传代码
- 将ESP32开发板连接到电脑,在Arduino IDE中选择正确的开发板和端口。
- 点击“上传”按钮,将代码上传到ESP32开发板。
WiFi配置
- 设备启动后,若没有存储的WiFi凭据,ESP32将进入软AP模式,创建名为
ESP32_WifiManager
的WiFi热点。 - 使用手机或电脑连接该热点,访问
192.168.4.1
,输入WiFi凭据并保存。 - 设备将重启并尝试连接指定的WiFi网络。
远程控制
- 使用配套的移动应用程序或通过Firebase数据库直接控制设备。
- 应用程序可通过Firebase实时数据库获取设备的IP地址和状态,进行远程控制。
本地控制
- 通过HTTP GET请求控制设备,访问ESP32的IP地址,使用以下URL路径控制设备:
/1
:打开LED1。/0
:关闭LED1。/H
:打开LED2。/L
:关闭LED2。
注意事项
- 确保WiFi网络使用WPA2加密,保障网络安全。
- 修改WiFi凭据时,可按下ESP32的BOOT按钮清除EEPROM中的凭据,重新进入软AP模式。
- 使用Firebase时,确保API密钥和数据库URL正确,防止数据泄露。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】