找回密码
 立即注册

微信扫码登录

搜索
查看: 573|回复: 12

[硬件DIY] ch592f做了一个bthome接入ha的门磁

[复制链接]

90

主题

554

回帖

4657

积分

论坛元老

积分
4657
金钱
4013
HASS币
30
发表于 2025-8-2 08:00:34 | 显示全部楼层 |阅读模式
本帖最后由 silas3082 于 2025-8-5 16:23 编辑

    之前做了一个bthome接入ha的按钮(https://bbs.hassbian.com/thread-29910-1-1.html),使用起来效果还不错,就是会出现偶尔按钮按下,ha那里没有反应的情况,需要多按几次才行。经过测试,门磁可以实施变化状态,门磁和按钮的硬件端都是一样的,区别就是按钮使用的是bthome中的event,门磁使用的是door,具体什么原因我也不知道。于是又做了一个门磁,并保留了按钮的功能,改变了pcb的形状,并且重新设计了外壳。

再次感谢减熵大佬的BTHome格式的CH592低功耗门磁+照度+温湿度+无线按钮项目(https://oshwhub.com/entropy/btho ... i-du-wu-xian-an-niu)的开源项目
一、PCB设计

在原来按钮的基础上增加门磁,并且增加两个0402电阻(虚拟)作为引脚选择的触点

PB13按钮、PB10门磁,用哪一个就把哪一个0R电阻短接,分为下边四个场景:

用门磁:都不用短接,空着
用按钮:
    使用13端口,短接PB13;
    使用10端口,短接PB10门磁
用按钮+门磁:短接PB13


    wechat_2025-08-02_072826_476.png wechat_2025-08-02_072858_026.png

wechat_2025-08-02_073042_907.png

二、外壳设计

外壳重新设计成方形的,方便放门磁开关,并且保留原来的按钮,在上盖上加上一个一体的按钮,不用额外增加零部件

wechat_2025-08-02_073926_945.png
wechat_2025-08-02_073958_546.png
pcb通过M2短螺丝固定在底壳上,上下壳通过卡扣的形式组合在一块

wechat_2025-08-02_074021_467.png
门磁地方开孔表示干簧管位置

wechat_2025-08-02_074120_011.png






微信图片_20250802074943_5.jpg 微信图片_20250802074943_6.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

以上来自原作者数据,我没有具体测试,从报告看,一节2032可以用1142天,非常牛逼plus了

forum.png
五、功能测试
按钮可以实现单击,双击,三击,长按,双击长按,三击长按等多种功能
门磁可以实时反应门的开关状态
可以根据实际情况选择性的使用门磁、按钮或者门磁+按钮



门磁加按钮3D外壳.rar

54.34 KB, 下载次数: 6

CH592固件.rar

133.63 KB, 下载次数: 4

门磁无线按钮源码.rar

2.51 MB, 下载次数: 9

ProPrj_BTHome格式的CH592门磁_2025-08-02.rar

390.23 KB, 下载次数: 11

评分

参与人数 1金钱 +12 收起 理由
DDDear + 12 大佬高产

查看全部评分

回复

使用道具 举报

90

主题

554

回帖

4657

积分

论坛元老

积分
4657
金钱
4013
HASS币
30
 楼主| 发表于 7 天前 | 显示全部楼层
lione95678 发表于 2025-8-7 20:11
ch592就是焊接对小白很不友好。这应该是最省电也最是最便宜的门磁了。
另外,楼主提到的“就是会出现偶尔按 ...

592f串口和esp32通讯不会写。正准备做一个带网口的蓝牙网关,把蓝牙和网络分开
回复

使用道具 举报

33

主题

282

回帖

1974

积分

金牌会员

积分
1974
金钱
1654
HASS币
40
发表于 2025-8-7 20:11:38 | 显示全部楼层
本帖最后由 lione95678 于 2025-8-7 20:27 编辑

ch592就是焊接对小白很不友好。这应该是最省电也最是最便宜的门磁了。
另外,楼主提到的“就是会出现偶尔按钮按下,ha那里没有反应的情况,需要多按几次才行”的问题,可能是esp32的原因,因为esp32在同时使用wifi和蓝牙时,好像有个所谓的周期问题。
楼主可以试一下接收端使用ch592f,使用官方的蓝牙Observer例程,(Observer:观察者角色例程,定时扫描),然后通过串口连接esp32,通过判断bthome的信息来实现自动化
回复

使用道具 举报

hsbn 手机认证

0

主题

10

回帖

91

积分

注册会员

积分
91
金钱
81
HASS币
0
发表于 2025-8-5 09:09:02 | 显示全部楼层
感谢楼主分享!
回复

使用道具 举报

90

主题

554

回帖

4657

积分

论坛元老

积分
4657
金钱
4013
HASS币
30
 楼主| 发表于 2025-8-4 17:00:05 | 显示全部楼层
shay 发表于 2025-8-4 15:42
好的,感谢。想自己画板子,不知道天线怎么处理。原来复制粘贴就行了

做好一起交流一下
回复

使用道具 举报

shay 手机认证

16

主题

295

回帖

1742

积分

金牌会员

积分
1742
金钱
1426
HASS币
20
发表于 2025-8-4 15:42:54 | 显示全部楼层
silas3082 发表于 2025-8-4 12:53
工程里有,直接直接用就行啊或者复制粘贴到别的工程里

好的,感谢。想自己画板子,不知道天线怎么处理。原来复制粘贴就行了
回复

使用道具 举报

90

主题

554

回帖

4657

积分

论坛元老

积分
4657
金钱
4013
HASS币
30
 楼主| 发表于 2025-8-4 12:53:40 | 显示全部楼层
shay 发表于 2025-8-4 10:29
蓝牙天线怎么画的啊

工程里有,直接直接用就行啊或者复制粘贴到别的工程里
回复

使用道具 举报

shay 手机认证

16

主题

295

回帖

1742

积分

金牌会员

积分
1742
金钱
1426
HASS币
20
发表于 2025-8-4 10:29:35 | 显示全部楼层
蓝牙天线怎么画的啊
回复

使用道具 举报

61

主题

1533

回帖

7616

积分

元老级技术达人

积分
7616
金钱
6017
HASS币
60
发表于 2025-8-2 13:05:29 | 显示全部楼层
silas3082 发表于 2025-8-2 12:52
要是通过uart传输数据,改得需要大佬修改下代码,让芯片和传感器能互相通讯,要是只用好滴电平就直接接传 ...

电平触发足够应付大部分使用场景
回复

使用道具 举报

90

主题

554

回帖

4657

积分

论坛元老

积分
4657
金钱
4013
HASS币
30
 楼主| 发表于 2025-8-2 12:52:23 | 显示全部楼层
sorrypqa 发表于 2025-8-2 12:00
只是低功耗还不行,要超低功耗+超低压差的才行

要是通过uart传输数据,改得需要大佬修改下代码,让芯片和传感器能互相通讯,要是只用好滴电平就直接接传感器就行。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-15 03:08 , Processed in 0.171722 second(s), 16 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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