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

标题: ch592f做了一个bthome接入ha的门磁 [打印本页]

作者: silas3082    时间: 2025-8-2 08:00
标题: ch592f做了一个bthome接入ha的门磁
本帖最后由 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


   [attach]72526[/attach][attach]72527[/attach]

[attach]72528[/attach]

二、外壳设计

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

[attach]72529[/attach]
[attach]72530[/attach]
pcb通过M2短螺丝固定在底壳上,上下壳通过卡扣的形式组合在一块

[attach]72531[/attach]
门磁地方开孔表示干簧管位置

[attach]72532[/attach]






[attach]72533[/attach][attach]72534[/attach]


三、接入流程


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

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

四.低功耗


低功耗方面作者说是平均工作电流: ~6uA
[attach]72355[/attach]
以上来自原作者数据,我没有具体测试,从报告看,一节2032可以用1142天,非常牛逼plus了

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




作者: sorrypqa    时间: 2025-8-2 10:12
大佬利用LD2410S低功耗雷达+CH592F做锂电池版的人体存在传感器
作者: silas3082    时间: 2025-8-2 10:27
sorrypqa 发表于 2025-8-2 10:12
大佬利用LD2410S低功耗雷达+CH592F做锂电池版的人体存在传感器

我看行,代码都不用改,需要增加一个低功耗ldo,一个充电芯片和一个2410s
作者: sorrypqa    时间: 2025-8-2 12:00
silas3082 发表于 2025-8-2 10:27
我看行,代码都不用改,需要增加一个低功耗ldo,一个充电芯片和一个2410s

只是低功耗还不行,要超低功耗+超低压差的才行
作者: silas3082    时间: 2025-8-2 12:52
sorrypqa 发表于 2025-8-2 12:00
只是低功耗还不行,要超低功耗+超低压差的才行

要是通过uart传输数据,改得需要大佬修改下代码,让芯片和传感器能互相通讯,要是只用好滴电平就直接接传感器就行。
作者: sorrypqa    时间: 2025-8-2 13:05
silas3082 发表于 2025-8-2 12:52
要是通过uart传输数据,改得需要大佬修改下代码,让芯片和传感器能互相通讯,要是只用好滴电平就直接接传 ...

电平触发足够应付大部分使用场景
作者: shay    时间: 2025-8-4 10:29
蓝牙天线怎么画的啊
作者: silas3082    时间: 2025-8-4 12:53
shay 发表于 2025-8-4 10:29
蓝牙天线怎么画的啊

工程里有,直接直接用就行啊或者复制粘贴到别的工程里
作者: shay    时间: 2025-8-4 15:42
silas3082 发表于 2025-8-4 12:53
工程里有,直接直接用就行啊或者复制粘贴到别的工程里

好的,感谢。想自己画板子,不知道天线怎么处理。原来复制粘贴就行了
作者: silas3082    时间: 2025-8-4 17:00
shay 发表于 2025-8-4 15:42
好的,感谢。想自己画板子,不知道天线怎么处理。原来复制粘贴就行了

做好一起交流一下
作者: hsbn    时间: 7 天前
感谢楼主分享!
作者: lione95678    时间: 5 天前
本帖最后由 lione95678 于 2025-8-7 20:27 编辑

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

作者: silas3082    时间: 4 天前
lione95678 发表于 2025-8-7 20:11
ch592就是焊接对小白很不友好。这应该是最省电也最是最便宜的门磁了。
另外,楼主提到的“就是会出现偶尔按 ...

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




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5