『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 12593|回复: 112

[硬件DIY] 惠桔和家亲X1S智能插座“免拆”烧录esphome接入HA

  [复制链接]

1

主题

6

帖子

124

积分

论坛DIY达人

积分
124
金钱
118
HASS币
10
发表于 2024-5-11 19:15:32 | 显示全部楼层 |阅读模式
本帖最后由 tianqiraf 于 2024-5-11 19:49 编辑

惠桔和家亲X1S智能插座免拆烧录esphome指南来啦!

闲鱼上超便宜的智能插座:惠桔和家亲X1S智能插座,带电量统计,只能用和家亲APP控制。5个75块钱包邮。拆开后发现是cb2s模组,不过芯片用的是BK7231M,目前的烧录工具似乎还没适配,只能当BK7231N来刷,不过也是可以烧录esphome固件,接入HA没有问题
尝试通过截取MQTT消息的方式接入HA,最后发现还是直接烧录更简单。

拆了两个我算是发现了,这玩意只要拆开了,不管拆得多好,都装不牢固,只能用胶水粘紧,非常难受,最终发现免拆烧录的办法,无私分享出来,希望插座不会涨价。。。


1.jpg



拆开后的芯片图:

2.jpg


3.jpg

免拆烧录指南:
首先至少要拆一个,不然后面就是纯纯瞎戳。这里也放一下拆机后的烧录点位

4.jpg



重点来了,这个插座里CB2S模组的焊点全都在插座正面,意味着可以从正面打孔来烧录固件。
找根钢丝,用打火机烧热,就可以烫出洞来,多烫几个就可以连成线。位置可以参考我的图。然后用4根杜邦线按上去,从下到上依次是芯片的3V3、GND、TX1、RX1,连上usb转ttl就可以开始烧录。

建议先用itchiptool的get chip info功能验证杜邦线是否正确连接到芯片上的焊点。整个操作比较考验耐心,费手指,没连上的话就多捅捅,熟练了只要15分钟就能完成烫洞+烧录。


(本来只想烫4个洞,但是杜邦线死活按不对位置,没有烧录探针,不知道会不会更方便)


5.jpg


6.jpg


敲重点,准备BK7231flasher(我的版本1.1.6),itchiptool(我的版本4.11.1)
1. BK7231flasher选择BK7231N型号,备份并烧录
2. 从esphome上获取后缀为rbl的固件,esphome中开发板型号选generic-bk7231n-qfn32-tuya,配置在后面。
3. itchiptool 写入rbl,起始地址设为0x11000,偏移0x0,写入长度默认不改。
4. itchiptool 写入之前备份的原厂固件,后缀bin,芯片选beken72xx,起始地址0x0,偏移0x0,写入长度0x11000
搞定!


不进行1的话,itchiptool似乎无法刷入其它固件。3、4步的关键可能就在原固件的bootloader,所以刷入rbl后,再用原固件的bootloader来覆盖。
买了5个拆了2个,打孔刷了3个,目前未发现任何问题,而且打孔小,不影响外观,很完美。

其实还有另一种情况:
BK7231flasher 写入OPENBK固件;itchiptool 写入rbl, 起始地址0x0;itchiptool 写入uf2固件
也是能正常工作,没有问题,但就是无法ota,显示ota成功但是实际没变化,当时在这里卡了好久。


最后附上esphome配置:

esphome:
  name: "x1s"
  friendly_name: "x1s"
  platformio_options:
    board_build.bkcrypt_coeffs: "00000000000000000000000000000000"
    board_build.bkota.key: "0123456789ABCDEF0123456789ABCDEF"
    board_build.bkota.iv: "0123456789ABCDEF"
    board_flash.download: "0x132000+0xA6000"
    board_flash.kvs: "0x1D8000+0x8000"
    board_flash.calibration: "0x1E0000+0x1000"
    board_flash.tlv: "0x1E1000+0x1000"
    board_flash.net: "0x1E2000+0x1000"
    board_flash.userdata: "0x1E3000+0x1D000"

bk72xx:
  board: generic-bk7231n-qfn32-tuya

logger:

# web_server:

captive_portal:

mdns:

api:

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:

substitutions:
  voltage_divider: "800.4735172433958"
  current_resistor: "0.0010788674067058845"
  current_multiply: "0.4667266199455673"

preferences:
  flash_write_interval: 10min


status_led:
  pin:
    number: P11
    inverted: True

output:
  - platform: gpio
    id: led1
    pin:
      number: P10
      inverted: True

switch:
  - platform: gpio
    pin: P8
    name: "Relay"
    id: relay
    restore_mode: RESTORE_DEFAULT_OFF
    on_turn_on:
      - output.turn_on: led1
    on_turn_off:
      - output.turn_off: led1

binary_sensor:
- platform: gpio
   pin:
      number: P24
      mode: INPUT_PULLUP
      inverted: true
   name: "Switch"
   filters:
     - delayed_on_off: 100ms
   on_press:
     then:
       - switch.toggle: relay

sensor:
  - platform: hlw8012
    model: BL0937
    current_resistor: ${current_resistor}
    voltage_divider: ${voltage_divider}

    sel_pin:
      number: P26
      inverted: true

    cf_pin:
      number: P6
      inverted: true

    cf1_pin:
      number: P7
      inverted: true

    current:
      name: "Current"
      accuracy_decimals: 3
      filters:
          - multiply: ${current_multiply}
    voltage:
      name: "Voltage"
      accuracy_decimals: 2
    power:
      name: "Power"
      id: my_power
      accuracy_decimals: 2
    energy:
      name: "Energy"
      accuracy_decimals: 2

    update_interval: 5s

  - platform: wifi_signal
    name: "WiFi Signal"
    update_interval: 1min

  - platform: uptime
    name: Uptime
    update_interval: 1min

参考链接:
惠桔和家亲X1S智能插座拆机,改装esphome,接入HA - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)
support for BK7231M(CB2S) · Issue #262 · libretiny-eu/libretiny · GitHub

评分

参与人数 4金钱 +46 HASS币 +10 收起 理由
dest16 + 6 高手,这是高手!
+ 20 + 10 感谢楼主分享!
隔壁的王叔叔 + 12 高手,这是高手!
inevitab + 8 高手,这是高手!

查看全部评分

回复

使用道具 举报

24

主题

579

帖子

2683

积分

金牌会员

Rank: 6Rank: 6

积分
2683
金钱
2104
HASS币
0
发表于 2024-5-11 19:28:03 | 显示全部楼层
大佬流批
不过这种还是不买比较好
盲操还是太困难
回复

使用道具 举报

1

主题

6

帖子

124

积分

论坛DIY达人

积分
124
金钱
118
HASS币
10
 楼主| 发表于 2024-5-11 19:50:12 | 显示全部楼层
图片传了几十次,总算传上去了,都快脑溢血了
回复

使用道具 举报

16

主题

178

帖子

926

积分

高级会员

Rank: 4

积分
926
金钱
748
HASS币
0
发表于 2024-5-11 20:31:24 | 显示全部楼层
这操作太牛逼了,还得会“腹腔镜”烧录
回复

使用道具 举报

43

主题

202

帖子

925

积分

高级会员

Rank: 4

积分
925
金钱
723
HASS币
0
发表于 2024-5-11 22:22:09 | 显示全部楼层
本帖最后由 inevitab 于 2024-5-11 22:28 编辑

感谢分享,用你的方法成功了。

请忽略最后一张图上面电压值过低,是因为我当前用烧录器供电的。


屏幕截图 2024-05-11 220208.png 屏幕截图 2024-05-11 220554.png 屏幕截图 2024-05-11 221848.png 屏幕截图 2024-05-11 222006.png

全新的三个,就是在等你的教程再开干:

屏幕截图 2024-05-11 222755.png

回复

使用道具 举报

15

主题

406

帖子

2730

积分

金牌会员

Rank: 6Rank: 6

积分
2730
金钱
2324
HASS币
0
发表于 2024-5-12 00:19:07 | 显示全部楼层
我覺得還是拆開燒錄好 再黏回去比較適合我這個手殘的人
回复

使用道具 举报

34

主题

709

帖子

4693

积分

论坛元老

Rank: 8Rank: 8

积分
4693
金钱
3974
HASS币
50
发表于 2024-5-12 07:46:41 | 显示全部楼层
厉害了,,不过这操作难度太高了
回复

使用道具 举报

43

主题

202

帖子

925

积分

高级会员

Rank: 4

积分
925
金钱
723
HASS币
0
发表于 2024-5-12 10:02:41 | 显示全部楼层
不用将CEN引脚接地进入烧录模式吗?
回复

使用道具 举报

1

主题

6

帖子

124

积分

论坛DIY达人

积分
124
金钱
118
HASS币
10
 楼主| 发表于 2024-5-12 19:26:43 | 显示全部楼层
inevitab 发表于 2024-5-12 10:02
不用将CEN引脚接地进入烧录模式吗?

不需要,看到提示后,重新上电,也可以进入烧录模式
回复

使用道具 举报

146

主题

2266

帖子

7000

积分

元老级技术达人

积分
7000
金钱
4729
HASS币
30
发表于 2024-5-13 16:07:09 | 显示全部楼层
搞的跟微创手术一样,牛逼
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 04:55 , Processed in 0.097154 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表