项目简介
本项目致力于构建一个智能窗帘控制系统,借助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】