找回密码
 立即注册

微信扫码登录

搜索
查看: 851|回复: 21

[硬件DIY] ch592f做了一个bthome接入ha的按钮

[复制链接]

89

主题

540

回帖

4499

积分

论坛元老

积分
4499
金钱
3870
HASS币
30
发表于 2025-7-25 10:16:34 | 显示全部楼层 |阅读模式
本帖最后由 silas3082 于 2025-7-25 11:05 编辑

一、背景

从一开始玩ha就想着要是能自己做一个能接入ha的无线开关就好了

最开始使用的是esp8266,从1688上买的外壳,使用espnow+mqtt的方式接入ha

1000001075.png 1000001076.png


方法是可行,可是后来发现esp8266并没有那么低功耗,一块2032电池用不了几天就没电了

听说esp32低功耗方面管理的很好,但是如果使用esp32 成本会高不少,于是没研究

终于在逛立创开源平台的时候发现减熵大佬的BTHome格式的CH592低功耗门磁+照度+温湿度+无线按钮项目(https://oshwhub.com/entropy/btho ... i-du-wu-xian-an-niu),发现大佬已经实现了通过bthome把门磁,按钮,温湿度,照度接入ha
二、设计

于是在大佬项目的基础上,只保留了按钮,重新设计了pcb

1000001077.png 1000001078.png


并给按钮设计了一个3D外壳,使其真正成为一个按钮


1000001080.png 1000001079.png

微信图片_2025-07-25_101906_623.jpg


1000000908.jpg 1000000909.jpg


三、接入流程


参照原作者写的,已经很具体了。(这里我刷原代码需要填写bthome加密密钥,填入之后ha上边提示错误,索性把加密密钥去了,可以直接添加了)
接入 Home Assistant
硬件: 使用 ESP32 开发板/模块。
软件: 在 ESPHome 固件中启用 bluetooth_proxy 组件。
# ESPHome 配置示例
bluetooth_proxy:
esp32_ble_tracker:
  scan_parameters:
    interval: 320ms 
    window: 320ms  #设置该值等于interval,最大限度提高广播数据主动侦听时间,提高捕捉概率

流程:
将烧录了 ESPHome(含 bluetooth_proxy)的 ESP32 设备添加到 Home Assistant。
Home Assistant 会自动发现附近的 BTHome 蓝牙设备。
发现设备后,在 Home Assistant 界面输入设备的 BTHome 加密密钥 即可完成添加(我上传的代码中已经去掉了输入密钥的流程,可直接添加)。
注意: 偶尔可能出现密钥正确但添加失败的情况,通常稍等片刻重试即可成功。

四.低功耗


低功耗方面作者说是平均工作电流: ~6uA
1000001081.png
以上来自原作者数据,我没有具体测试,从报告看,一节2032可以用1142天,非常牛逼plus了,去掉光照,温湿度,门磁估计会更高
五、功能测试
按钮可以实现单击,双击,三击,长按,双击长按,三击长按等多种功能,有电池电压显示(电压我用万用表测试2.8v,显示3.2v,可能有点差距)


1000001069.png 1000001068.png 1000001067.png 1000001066.png 1000001065.png 1000001064.png

六、视频演示






无线按钮源码.rar

2.51 MB, 下载次数: 17

售价: 5 金钱  [记录]

3D外壳.rar

155.05 KB, 下载次数: 5

售价: 5 金钱  [记录]

ProPrj_BTHome格式的CH592无线按钮_2025-07-25.rar

292.28 KB, 下载次数: 12

售价: 5 金钱  [记录]

CH592固件.rar

133.63 KB, 下载次数: 15

售价: 5 金钱  [记录]

评分

参与人数 4金钱 +60 收起 理由
litchiate + 16 感谢楼主分享!
隔壁的王叔叔 + 12 论坛有你更精彩!
DDDear + 12 高手,这是高手!
sorrypqa + 20 高手,这是高手!

查看全部评分

回复

使用道具 举报

7

主题

53

回帖

975

积分

高级会员

积分
975
金钱
915
HASS币
0
发表于 2025-7-25 10:56:23 | 显示全部楼层
本帖最后由 mqs000 于 2025-7-26 17:35 编辑

请问楼主  CH592的代码是自己刷入的吗
回复

使用道具 举报

61

主题

1516

回帖

7288

积分

元老级技术达人

积分
7288
金钱
5706
HASS币
60
发表于 2025-7-25 10:59:15 | 显示全部楼层
本帖最后由 sorrypqa 于 2025-7-25 12:27 编辑

不错!谢谢大佬的分享!BTHome开始满地开花了。再多放个固件吧,源码那玩意有时用起来太麻烦了,BThome是传感器的最佳方案,不像zigbee那样有3个单点故障点,zigbee网关、Z2M服务和MQTT服务任何一个出现异常,所有设备全部罢工,BTHome没有单点故障,因为不需要MQTT服务,也不需要指定网关,信号范围内任意蓝牙代理都能同时使用,任意一个坏掉都不影响、而且支持多HA协同工作,也支持漫游,BTHome的遥控器从公司拿到家里,从1楼拿到22楼,都能即按即用,它还能与ESPHome设备直连通讯,无需HA直控ESPHome设备的任意动作,zigbee可不行。
回复

使用道具 举报

89

主题

540

回帖

4499

积分

论坛元老

积分
4499
金钱
3870
HASS币
30
 楼主| 发表于 2025-7-25 11:03:23 | 显示全部楼层
mqs000 发表于 2025-7-25 10:56
请问楼主  CH592的代码是自己刷如的吗

对,买来的芯片没有程序,有对应的刷入软件,通过串口工具可以刷
回复

使用道具 举报

89

主题

540

回帖

4499

积分

论坛元老

积分
4499
金钱
3870
HASS币
30
 楼主| 发表于 2025-7-25 11:06:28 | 显示全部楼层
sorrypqa 发表于 2025-7-25 10:59
不错!谢谢大佬的分享!BTHome开始满地开花了。再多放个固件吧,源码那玩意有时用起来太麻烦了 ...

听了大佬的建议,固件已打包上传
回复

使用道具 举报

181

主题

2747

回帖

9241

积分

元老级技术达人

积分
9241
金钱
6298
HASS币
80
发表于 2025-7-25 11:07:23 | 显示全部楼层
esp32续航有这么牛逼?我有点怀疑
回复

使用道具 举报

89

主题

540

回帖

4499

积分

论坛元老

积分
4499
金钱
3870
HASS币
30
 楼主| 发表于 2025-7-25 11:09:36 | 显示全部楼层
bugensui 发表于 2025-7-25 11:07
esp32续航有这么牛逼?我有点怀疑

主控是ch592f
回复

使用道具 举报

61

主题

1516

回帖

7288

积分

元老级技术达人

积分
7288
金钱
5706
HASS币
60
发表于 2025-7-25 11:10:35 | 显示全部楼层
silas3082 发表于 2025-7-25 11:06
听了大佬的建议,固件已打包上传

谢谢大佬!
回复

使用道具 举报

89

主题

540

回帖

4499

积分

论坛元老

积分
4499
金钱
3870
HASS币
30
 楼主| 发表于 2025-7-25 11:12:08 | 显示全部楼层

我这小玩意在大佬的项目面前就是玩具,和大佬学习
回复

使用道具 举报

61

主题

1516

回帖

7288

积分

元老级技术达人

积分
7288
金钱
5706
HASS币
60
发表于 2025-7-25 11:13:43 | 显示全部楼层
bugensui 发表于 2025-7-25 11:07
esp32续航有这么牛逼?我有点怀疑

依靠深度睡眠,ESP32做无线遥控可以很省电的,当然比不上CH592f这类低功耗蓝牙
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-8-2 14:46 , Processed in 1.221454 second(s), 8 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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