请注意:工具也要更新到新版本,否则可能会出现问题!前期因按过重启按钮的,可能导致固件损坏,必须重新线刷!老版本的,可能无法OTA,也要重新线刷一次。
修复诸多问题,现在可以正常使用了!
目前功能情况:
- 断电保持功能正常
- 总开关关闭,其他开关同步关闭
- 总开关关闭的情况下,开启其他开关,总开关会打开
- LOGO灯和总开关联动,同时开、关
- 增加连接的SSID信息,以及当前设备的IP地址
斐讯DC1插座利用ESPHOME自制固件方式接入开源智能家居平台
WHY
众所周知的原因,斐讯服务器已经不能正常访问,插座的APP控制已经无法正常实现,需要有另外的方式实现插座的控制。
已有的方法为内网劫持实现,具体可参考这里。
这次要实现的是通过一个自定义的固件,来完整实现DC1联网控制。
请关注github项目
项目地址
接入方法
- 按照下面的方法更新固件
- Home Assistant中添加esphome组件
- 输入dc1对应的ip地址
- 配置lovelace
更新固件方法
请勿带市电操作!!!危险自负!!!
TTL接线方法
1、拆主控板
用到的工具
拆板步骤
如果插座刚通过电,拆的时候千万不要去摸电路板,电容带电!!!
2、主控板接线
用到的TTL工具
任选一个即可
接线方法
固件编译及刷固件方法
0、前置条件
请确认已经按照本方法连接好TTL工具,并且TTL工具驱动已经正确安装。
1、下载固件配置文件(下方右键另存为)
固件版本定义:
配置文件对应版本更新历史
dc1_homeassistant:
v2019.03.28.002:
编译固件前请更新esphome及esphome-core到最新版本!
1、优化按钮,解决重启问题
dc1_homeassistant_test:
dc1_mqtt:无
dc1_mqtt_test:无
2、修改固件配置文件
按照自己的情况修改配置文件中substitutions内的参数。其他的配置如果不是很了解就不要去修改了。
#--------------------- 只需要改这下面的内容 ---------------------
substitutions:
#WiFi芯片版本,型号中带B的为csm64f02_b,不带B的为csm64f02
board_model: csm64f02
#设备名称(多个dc1改成不一样的)
device_name: phicomm_dc1
#WiFi_SSID名称
wifi_ssid: '2L'
#WiFi密码
wifi_password: '1122334455'
#如果SSID是隐藏的,设置为true
wifi_fast_connect: 'false'
#WiFi离线多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s
wifi_reboot_timeout: 600s
#OTA密码
ota_password: '123456'
#与客户端(如Home Assistant)失去连接多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s
api_reboot_timeout: 600s
#电量统计的数据更新时间,秒s/分钟min/小时h
cse7766_update_interval: 1s
#--------------------- 只需要改这上面的内容 ---------------------
关于WiFi模组版本的选择,请查看下图,找出自己对应的芯片版本即可。
看红色箭头的位置,带B的为csm64f02_b,不带B的为csm64f02
3、搭建编译环境及刷固件
因platformio需要python2.7的环境,所以python2.7为必须。
- 自搭环境版:点此查看
- 免搭建直接用版本:点此查看
MacOS自带python2.7,所以无需再安装。
从此处下载esphome(打开页面后,右上角「 Clone or download 」 → 「 Download ZIP 」),下载后解压缩。
打开终端,执行如下命令:(如需python虚拟环境,请自行配置virtualenv)
# 进入esphome的setup.py所在目录
cd xxxxx
# 编译 esphome
# 如提示权限不足,命令前加上sudo
python setup.py build
# 安装 esphome
python setup.py install
# 进入配置文件所在目录
cd xxxxx
# 编译固件(xxxxx.yaml为你的配置文件名字)
esphome xxxxx.yaml compile
# 刷固件(线刷或者OTA皆可)
esphome xxxxx.yaml upload
-
Linux
与MacOS类似,参考MacOS的方法
-
Docker
docker版本暂无
开发过程回顾
1、已知的一些硬件资料
WiFi模组
WiFi模组使用的是芯海的CSM64F02,经过分析,这款模组和乐鑫的ESP-WROOM-02是一样的。
U7
经过分析,这是一颗IO扩展类的芯片,具体型号暂时未知,可能是cat9554的变种。
U11
这是一颗电量统计用的芯片,具体型号为CSE7766。
继电器
继电器使用的是永能家用继电器YX201系列的产品,控制电压为5V。
2、各芯片引脚对应关系
主控制板正面
主控制板背面
致谢
以下排名不分先后,为随机。
- killadm: 导出原始固件,提供WiFi芯片对比图,主控制板WiFi模块、U7移除后的PCB照片,U7逻辑分析数据采集
- 老妖:U7驱动编写,U7逻辑分析
- 实验幼儿园小二班扛把子: 测试引脚走向
- Heller、巴山耗子: 初期资料整理
- 风中的summer: 提供清晰的电路板照片,拆机过程照片
- OttoWinter:esphome的作者
免责申明
以上纯属个人爱好,因为使用上述方法造成的任何问题,不承担任何责任。
部分图片来源于网络,如果涉及版权,请通知删除。