littlebot
Published on 2025-04-13 / 0 Visits
0

【源码】基于ESP8266和Home Assistant的智能窗帘控制系统

项目简介

本项目致力于构建一个智能窗帘控制系统,借助ESP8266微控制器与Home Assistant自动化中心通信,达成窗帘的远程与本地控制。系统涵盖机械和电子两部分,机械部分运用NEMA 17步进电机与3D打印的齿轮箱,电子部分通过ESP8266结合Wi-Fi和MQTT协议实现通信。

项目的主要特性和功能

  • 本地控制:可利用物理按钮控制窗帘升降。
  • 远程控制:能通过Home Assistant或其他MQTT客户端远程操控窗帘。
  • 位置编程:可通过按钮设定窗帘的上下限位置。
  • 软启动和停止:步进电机采用TMC2208驱动器,实现静音操作与软启动/停止功能。
  • Home Assistant集成:完全兼容Home Assistant,支持通过MQTT协议发送窗帘状态和控制命令。

安装使用步骤

1. 硬件准备

  • 3D打印所需的齿轮和外壳。
  • 准备ESP8266开发板、TMC2208步进电机驱动器、NEMA 17步进电机、电源供应器等电子元件。
  • 准备按钮开关、螺丝、导线等辅助材料。

2. 软件安装与配置

a. 安装Arduino IDE

  • 下载并安装Arduino IDE(版本1.8.19或更高)。
  • 安装ESP8266开发板支持,参考此手册
  • 通过Arduino库管理器安装PubSubClient库。

b. 配置项目文件

  • 复制constants.example.h文件并重命名为constants.h
  • 根据你的网络设置调整constants.h中的参数。

c. 编译和上传代码

  • 打开autoblinds.ino文件,编译并上传到ESP8266开发板。
  • 通过串口监视器检查设备是否成功连接到Wi-Fi和MQTT。

3. 机械组装

  • 按照提供的装配步骤,组装3D打印的齿轮和外壳。
  • 将步进电机和驱动器安装到外壳中,并连接到ESP8266开发板。
  • 将窗帘的珠链通过齿轮系统连接到步进电机。

4. 系统测试

  • 通过按钮测试窗帘的上升和下降功能。
  • 通过Home Assistant或其他MQTT客户端测试远程控制功能。
  • 调整步进电机的速度和加速度参数,确保窗帘运动平稳。

5. Home Assistant集成

  • 在Home Assistant的configuration.yaml文件中添加MQTT窗帘配置。
  • 启动MQTT Broker(如Mosquitto)并确保Home Assistant能够通过MQTT协议与设备通信。

下载地址

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