本帖最后由 cheny95 于 2023-3-13 11:10 编辑
本帖旨在探索、学习,请在保护好设备与自身安全的前提下进行尝试。
注意:
1. 拆机可能无法还原安装,需要胶水粘合。
2. 刷机后无法米家,会修改为esphome驱动的方式,但是在 HA 里可以拿到按钮触发的事件
3. 注意断电及自身安全
本帖的视频教程,请前往 【手摸手】告别米家,拥抱HomeAssistant~手摸手带你刷机,把领普自发电门铃接入HA (记得一键三连)
本帖的文字教程在我的 github 仓库,供查阅和配置文件下载 领普自发电门铃G6L-WIFI版基于ESPHome的定制化组件
正文开始:
首先是外观,一个接收器、一个发射器,透过443发射,然后主控用 esp32接收。
发射器是不需要电池的,用的法拉第原理,电子线圈感应电之类的,我找了一张拆开的接收器的图,实际上就是线圈+磁铁,在按下的时候会瞬间有电
正常接入米家后,按门铃会收到通知
想接入 HA 的话,需要用插件,按照常规思想,WIFI 的设备使用 xiaomi miot auto 去接入,但是发现接入后,只能调个音量或者一个开关,拿不到事件
所以,这条路我放弃了,但是我想到,既然是443的,就好奇用什么去控制,然后查阅了一些资料,用的是 SZY8039B 这个门铃芯片,就突发奇想去拆机。(注意,拆机后需要用胶水粘合)
拆机过程
这里是超声波焊接的 ,撬开后还原需要用胶水
看到主板正面
ESP32芯片放大特写
背部有3.3V 和 GND 的供电,刷机的时候使用这个去供电
然后正面有 RXD0、TXD0、IO0、GND、3.3V。
有些这些针脚,基本上就可以自己刷机了。
刷机准备!
1. 刷机前,保证你的电脑有ch340驱动,然后先把 RXD0,TXD0和 GND 引出线路,与 ttl 转usb 链接。 你可以按照我上面说的用背面的3.3v 单独供电,也可以使用刷机焊盘下面的3.3V(图二)(可能不稳定)
注意,门铃电路板的 TX 和 RX 要 转接板的 TX 和 RX 翻过来接入,放两张图供参考。然后先别插入电脑。
然后,需要把 ESP32启动到刷机模式
需要短接芯片的右下角2个针脚与 GND
我用万用表测试了,右边最下面的和焊盘 IO0是通的,所以,我的方案是先连接右下角的2个针脚,然后再短接 io0和 GND,这样会更方便。可以参考上面发的那个图。
一切准备就绪,刷机顺序是:
- 将 GND、TXD0、RXD0 连接到串口转 USB 适配器(确保将 ESP 的 RXD0 连接到适配器的 TX(或 TXD)引脚,将 ESP 的 TXD0 连接到适配器的 RX(或 RXD)引脚)
- 将您的串口转 USB 适配器连接到您的计算机,记下它显示的端口(取决于您的操作系统,这可能类似于 COM0 或 /dev/ttyUSB0)
- 将右下角的2个焊盘(如上所述)短接至 GND
- 使用电路板背面的 3.3V 和 GND 焊盘为门铃供电
- 运行 esphome run doorbell.yaml(将“doorbell.yaml”替换为您的 YAML 文件名称)
- 编译完成后,系统会提示您选择如何执行更新; 选择您的串口转 USB 适配器
- 刷机完成后,拔掉门铃的5V电源,去掉右下角那对引脚和GND的短接,重新上电即可正常开机
- ESP32 应该启动并连接到您在 yaml 文件中配置的 WiFi 网络; 然后您可以将它添加到您的 Home Assistant 并开始将它集成到您的家庭自动化中!
刷机过程略,但是注意,安装依赖与编译是比较慢的,需要我的网络和机器整体都还行,都需要10分钟,供参考。
然后配置发射器
刷入 ESPHome(启用转储程序)后,使用“esphome logs doorbell.yaml”连接(通过串口或 wifi)到 ESP32 并查看日志输出。 按其中一个按钮应该会产生如下日志消息: [remote.linptech_g6l:068]: Received Linptech G6L: address=0x123456 然后,您可以在配置文件里的remote_receiver区域 (参见 doorbell.yaml)中使用 address= 之后的部分(包括 0x 前缀)。
最后,在 HA 里的服务里,可以看到以下服务(如果您你没改我的刷机文件的话): Service name | Description | Parameter 1 | Parameter 2 | Parameter 3 | esphome.doorbell_play_tune | Play a tune/chime | 乐曲 [int, 1-40] | 音量 [int, 1-8] | 模式 [int, 1-4] | esphome.doorbell_stop_playing | Stop the tune/chime, if one is currently playing | | | |
mode 参数不是特别有用,因为在 G6L-WIFI 中,LED 连接到 ESP32 而不是 SZY8039B。 因此,模式 1、2 和 4 播放音乐而模式 3 不播放(这没什么用)。 请注意,所有服务名称上的 doorbell 前缀是您的 ESPHome 节点的名称,如您的 yaml 文件的 esphome: 块中所定义。 如果这些服务没有出现在 Home Assistant 中,请尝试重新启动门铃,以便它重新连接到 Home Assistant。
然后,最后接入后是这样
老规矩,喜欢折腾的,可以考虑一起交流,是 xiaomi miot auto作者的交流群
|