项目简介
本项目是基于Arduino ESP8266框架构建的智能家居恒温器系统。借助MQTT协议与服务器通信,利用WebSocket和Web前端实现双向数据交换。具备传感器数据采集、实时温度控制、日程安排设定以及OTA(Over - The - Air)更新等功能。
项目的主要特性和功能
- 传感器数据采集:可采集多种传感器数据,像温度、湿度等,并通过MQTT协议把数据传至服务器。
- 实时温度控制:依据当前温度、设定点温度和设定的温度范围,实时调控恒温器的开关状态。
- 日程安排设定:用户能通过Web前端设置恒温器的日程安排,系统会按日程自动调整温度设定。
- WebSocket通信:通过WebSocket协议和Web前端双向通信,实现实时数据更新与命令发送。
- OTA更新:支持通过OTA方式更新固件,便于用户远程更新系统。
安装使用步骤
1. 安装PlatformIO
请参考 PlatformIO安装文档 进行安装。
2. 复制项目
使用以下命令复制本项目到本地:
bash
3. 编译项目
进入项目目录并编译代码:
bash
$ cd ESP8266_Thermostat
$ pio run
4. 上传固件
- 将ESP8266开发板进入bootloader模式(按下复位按钮),然后上传主程序:
bash $ pio run -t upload
- 再次将ESP8266进入bootloader模式,然后上传文件系统:
bash $ pio run -t uploadfs
5. 配置系统
在 src/data/config.json
文件中配置WiFi、MQTT、NTP和SMTP等参数。示例如下:
json
{
"wifi": {
"mode": 0,
"ssid": "your_wifi_ssid",
"password": "your_wifi_password"
},
"mqtt": {
"server": "your_mqtt_server",
"user": "your_mqtt_user",
"password": "your_mqtt_password",
"port": 1883
},
"ntp": {
"tz": 7200
},
"smtp": {
"server": "smtp.gmail.com",
"login": "your_email",
"password": "your_email_password",
"from": "your_email",
"port": 465
}
}
6. 测试与调试
在本地测试代码功能,并通过串行端口调试代码。
7. 连接服务器
确保恒温器能够连接到MQTT服务器,并配置正确的服务器地址、用户名和密码。
8. Web前端
访问Web前端,通过WebSocket与恒温器进行通信,进行温度设定、查看状态等操作。
注意:使用前,请确保了解并遵循所有硬件和软件的安装和配置步骤,以及所有安全操作指南。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】