项目简介
本项目实现了基于ESP8266 MCU的窗帘电机控制器,用户可通过通用红外遥控器手动控制窗帘开关,也能借助HomeAssistant网关远程遥控窗帘。与传统产品相比,该项目成本低、完全开源且教育性强。
项目的主要特性和功能
- 成本低:零部件采购与3D打印外壳总成本低于50元,是市售商品的1/4 - 1/5。
- 完全开放:电路、代码及外壳CAD模型全开源,零部件均可在市面采购,可随意修改添加新功能。
- 教育性强:结构简单,适合亲子动手DIY。
- 远程控制:支持通过HomeAssistant网关进行远程控制。
- 手动控制:支持通过通用红外遥控器进行手动控制。
安装使用步骤
1. 硬件组装
- 按接线图用杜邦线连接各部件,测试功能正常后拆线继续组装。
- 用4枚M3x4的沉头自攻螺丝将NodeMCU板背面朝上固定在外壳内,使MicroUSB口卡在底部长方形开孔中。
- 用热熔胶将DRV8833模块固定在NodeMCU背面靠近MicroUSB口处。
- 用4枚M3x6的沉头螺丝将减速电机固定在外壳上。
- 按接线图用杜邦线连接各部件,用塑料扎带捆好塞在外壳中。
- 用4枚M3x12的沉头自攻螺丝将背板固定在外壳上。
- 将拉珠牵引轮安装到电机轴上,挂上百叶窗拉珠后找合适安装位置和角度,确保拉珠绷紧不缠绕且升窗器可自由滑入滑出背板固定片,标记位置角度。
- 用膨胀螺丝或3M厚双面胶将背板固定片固定在标记处,拉珠套在升窗器牵引轮上,将升窗器插入背板固定片固定好。
- 从MicroUSB口接入5 - 7.2V外接DC电源,电压越高窗帘升降速度越快。
2. 固件编译与上传
- 在Visual Studio Code中安装PlatformIO IDE插件。
- 打开仓库目录,默认USB串口上传,若使用ArduinoOTA无线上传需修改platformio.ini解开相关设置前的注释。
- 使用PlatformIO的Upload命令(默认快捷键Ctrl + Alt + U)编译上传固件代码。
3. 网络配置
初次上电后等待5秒,用手机搜索形如ESP - xxxxxx的热点并连接,自动跳出无线和MQTT配置界面,填写无线SSID和密码、MQTT服务地址、端口、登录用户名和密码后保存关闭,升窗器将自动连接无线热点及对应的HomeAssistant服务。
4. 行程校准
- 遥控器左右键强制控制电机运动,正常左键升起右键放下,按OK键电机停止。若运动方向相反,顺序按遥控器的0、#两个键设置电机反向运动。
- 控制电机使百叶窗到完全打开位置,顺序按0、1两个键保存该位置;再让百叶窗到完全关闭位置,顺序按0、3两个键保存该位置,行程校准完成。
5. 使用方法
- 遥控器上键:百叶窗完全打开
- 遥控器下键:百叶窗完全关闭
- 遥控器OK键:停止电机
- HomeAssistant服务连接成功后,可在Web或手机App中进行相同控制,也能在HomeAssistant中用自动化规则定时开关百叶窗。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】