本帖最后由 bugensui 于 2025-6-21 11:53 编辑
一直在研究,判断离家、回家、或者家庭成员是否在家,目前有2种常用方式:1、路由器集成或者ping集成检测手机的wifi,这个是最简单的,我的华硕路由器自带,但是ping wifi有短板,如果手机息屏后一段时间了,就检测不到。2.使用ble扫描手机或者手环的蓝牙信标或者说信号,ps:我家里没有装智能门锁。
早前就了解到ESPresense项目,是利用esp32的ble扫描移动设备的蓝牙,早前是为了给苹果用的,现在官网是说也支持安卓手机,论坛里都说的很神奇,我上周花了几天测试了下,并不好用,我只需要判断手机是否在家,不需要精确到哪个房间,因为判断在哪个房间,那更加不稳定。
测试的手机:1、iphone ,2,华为mate系列,不是原生鸿蒙OS,应该是鸿蒙4.0。我用了一块esp32开发板,到ESPresense官网,刷了他的系统,配置了mqtt,也顺便获取了2歩手机的irk蓝牙秘钥,接入ha后,确实能检测在家,离家,可是也是跟ping wifi一样,晚上睡觉了,手机息屏了。那段时间,就是离家,但是当我在床上点亮屏幕后,过一会有就显示在家,我测试了好几天,都是这样,但是当我外出,然后下班回家开门后,确实能快速准确的反馈在家。
测试了2种部署方式,都是一样的,息屏不行,有的时候,还是华为手机更快,苹果慢,真奇怪。
1,按照ESPresense官网的介绍,搭配ha的MQTT room presence集成接入2个手机,这个时候,刷了ESPresense的esp32需要是开机,因为他是由ESPresense这个专属设备报告手机蓝牙信号。
2,不用ESPresense这个专属设备扫描信号,这个设备可以关机,只用到他刚刚获取到的irk蓝牙秘钥,因为我家里有很多esp设备刷了esphome,我在家里入户门人体存在设备上(他是esp32的芯片),添加了几行代码,一样能检测,不过息屏时间长了,还是一样显示不在家
- platform: ble_presence
irk: 684*************a
name: "huawei"
timeout: 120s
蓝牙信标扫描这个,大家也是这样的吗,还是手机息屏后就杀应用了, |