斐讯DC1插座利用ESPHome自制固件方式接入开源智能家居平台
WHY
众所周知的原因,斐讯服务器已经不能正常访问,插座的APP控制已经无法正常实现,需要有另外的方式实现插座的控制。
已有的方法为内网劫持实现,具体可参考这里。
这次要实现的是通过一个自定义的固件,来完整实现DC1联网控制。
为什么选择ESPHome制作固件
ESPHome是一个只需写几行配置文件就可以实现ESP8266/ESP32接入智能家居系统的强大开源项目。其极高的可扩展性和易用性是本次选择的主要原因。
已支持接入的开源智能家居平台
以下排序随机,不分优劣。合适自己的就好。
1、Home Assistant
Home Assistant 是一款基于 Python 的智能家居开源系统,支持众多品牌的智能家居设备,可以轻松实现设备的语音控制、自动化等。
接入方法
- 按照TTL接线方法接线
- 按照固件编译及刷固件方法更新固件
- Home Assistant中[设置]-[集成]-添加esphome组件
- 输入dc1对应的ip地址
- 配置lovelace
2、ioBroker
ioBroker是基于nodejs的物联网的集成平台,为物联网设备提供核心服务、系统管理和统一操作方式。
接入方法
ioBroker相关接入问题可以加QQ群776817275咨询
3、其他支持mqtt的平台
理论上来说,只要是支持mqtt的平台都可以实现接入。
接入方法
添加对应的topic
TODO LIST
- 分析硬件,获得主要芯片的资料
- 确定各引脚对应关系
- 获得原版固件的log信息(启动、控制)
- 控制实现推演
- 用逻辑分析仪分析U7的I2C数据
- 分析U7的IO逻辑
- 编写U7控制驱动程序
- 电量统计芯片CSE7766功能的实现
- 编写测试固件
- 按钮及网络控制功能完善
- 断电记忆功能完善
- MQTT接入完善
- 迁移IO驱动以支持ESPHome 1.14 (感谢老妖)
可能存在的BUG
- 可能会出现开关重置的现象,大致是因为wifi模块重启造成,配置文件默认重启功能已禁用
正在进行中
- 如果没有其他特别的情况,本项目正式完结。
开发过程回顾
1、已知的一些硬件资料
WiFi模组
WiFi模组型号为芯海CSM64F02,经过分析,这款模组和乐鑫的ESP-WROOM-02是一样的。
U7
IO扩展芯片,具体型号暂时未知,经过逻辑分析仪的逻辑分析(感谢killadm和老妖),可能是cat9554的变种(山寨版)。
U11
电量统计芯片,具体型号为CSE7766。
继电器
继电器型号为永能家用继电器YX201系列的产品,控制电压为5V。
2、各芯片引脚对应关系
主控制板正面
主控制板背面
致谢
以下排名不分先后,为随机。
- killadm:导出原始固件,提供WiFi芯片对比图,主控制板WiFi模块、U7移除后的PCB照片,U7逻辑分析数据采集
- 老妖:U7驱动编写,U7逻辑分析
- 实验幼儿园小二班扛把子:测试引脚走向
- Heller、巴山耗子:初期资料整理
- 风中的summer:提供清晰的电路板照片、拆机过程照片
- OttoWinter:esphome的作者
感谢各位使用本方法的玩家,欢迎加入QQ群776817275
免责申明
以上纯属个人爱好,因为使用上述方法造成的任何问题,不承担任何责任。
部分图片来源于网络,如果涉及版权,请通知删除。