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

【源码】基于ESPIDF和Home Assistant的智能风扇控制器

项目简介

本项目为物联网项目,目标是打造一个可控制小型USB供电桌面风扇的控制器。该控制器支持物理按钮操控与互联网远程控制,同时具备自动模式,能依据温度和人体存在情况智能调控风扇。风扇借助MQTT实现远程通信和数据收集,并将数据发送至运行Home Assistant的本地服务器。

项目的主要特性和功能

  1. 支持物理按钮和远程互联网两种控制风扇的方式。
  2. 具备自动模式,可根据温度和人体存在状态自动调节风扇。
  3. 集成温湿度传感器和人体运动传感器,实现环境数据采集。
  4. 可作为WiFi接入点,通过网页服务器接收WiFi和服务器地址信息,并保存到非易失性存储,断电重启后自动连接。
  5. 利用MQTT协议将数据传输至本地Home Assistant服务器。
  6. Home Assistant自动保存数据,支持数据可视化展示,可通过脚本实现设备自动化控制。

安装使用步骤

硬件准备

获取ESP32开发板、USB转Micro B线、DHT11温湿度传感器、PIR运动传感器、继电器模块、LED、开关、USB母头、电阻、电容、树莓派4和USB风扇等硬件,按电路原理图进行连接。

软件环境准备

  1. IDE安装:若使用Ubuntu系统,通过命令 sudo snap install --classic code 安装Visual Studio Code。
  2. SDK和工具安装:安装ESP-IDF SDK,参考官方文档操作;运行 sudo apt install flex bison 安装Flex和Bison;确保用户属于“dialout”组,若不属于,运行 sudo usermod -a -G dialout $USER 并重启计算机。
  3. 环境初始化:若ESP-IDF安装在默认路径,运行 . $HOME/esp/esp-idf/export.sh 初始化环境。

编译和上传代码

将ESP32开发板通过USB连接到计算机,运行 idf.py build 编译程序,再运行 idf.py flash 将程序烧录到ESP32。

平台配置

  1. MQTT代理安装:在树莓派上运行 sudo apt install mosquitto 安装Mosquitto MQTT代理,再运行 mosquitto -d 启动。
  2. Home Assistant安装:在树莓派上安装Docker,参考官方文档操作;按照Home Assistant官方步骤在容器中安装Home Assistant。
  3. MQTT集成:访问Home Assistant实例,进入设置 -> 设备与服务,添加MQTT集成,按屏幕提示完成设置。

运行和测试

程序烧录完成后,将USB线连接到任意USB电源插座。风扇控制器连接到MQTT代理后,会自动出现在Home Assistant中,可通过物理按钮或Home Assistant远程控制风扇,查看温湿度等数据。

下载地址

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