项目简介
本项目为物联网项目,目标是打造一个可控制小型USB供电桌面风扇的控制器。该控制器支持物理按钮操控与互联网远程控制,同时具备自动模式,能依据温度和人体存在情况智能调控风扇。风扇借助MQTT实现远程通信和数据收集,并将数据发送至运行Home Assistant的本地服务器。
项目的主要特性和功能
- 支持物理按钮和远程互联网两种控制风扇的方式。
- 具备自动模式,可根据温度和人体存在状态自动调节风扇。
- 集成温湿度传感器和人体运动传感器,实现环境数据采集。
- 可作为WiFi接入点,通过网页服务器接收WiFi和服务器地址信息,并保存到非易失性存储,断电重启后自动连接。
- 利用MQTT协议将数据传输至本地Home Assistant服务器。
- Home Assistant自动保存数据,支持数据可视化展示,可通过脚本实现设备自动化控制。
安装使用步骤
硬件准备
获取ESP32开发板、USB转Micro B线、DHT11温湿度传感器、PIR运动传感器、继电器模块、LED、开关、USB母头、电阻、电容、树莓派4和USB风扇等硬件,按电路原理图进行连接。
软件环境准备
- IDE安装:若使用Ubuntu系统,通过命令
sudo snap install --classic code
安装Visual Studio Code。 - SDK和工具安装:安装ESP-IDF SDK,参考官方文档操作;运行
sudo apt install flex bison
安装Flex和Bison;确保用户属于“dialout”组,若不属于,运行sudo usermod -a -G dialout $USER
并重启计算机。 - 环境初始化:若ESP-IDF安装在默认路径,运行
. $HOME/esp/esp-idf/export.sh
初始化环境。
编译和上传代码
将ESP32开发板通过USB连接到计算机,运行 idf.py build
编译程序,再运行 idf.py flash
将程序烧录到ESP32。
平台配置
- MQTT代理安装:在树莓派上运行
sudo apt install mosquitto
安装Mosquitto MQTT代理,再运行mosquitto -d
启动。 - Home Assistant安装:在树莓派上安装Docker,参考官方文档操作;按照Home Assistant官方步骤在容器中安装Home Assistant。
- MQTT集成:访问Home Assistant实例,进入设置 -> 设备与服务,添加MQTT集成,按屏幕提示完成设置。
运行和测试
程序烧录完成后,将USB线连接到任意USB电源插座。风扇控制器连接到MQTT代理后,会自动出现在Home Assistant中,可通过物理按钮或Home Assistant远程控制风扇,查看温湿度等数据。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】