3 个蓝牙代理钉住手机在哪个房间:Bermuda 蓝牙定位实战
【免费下载链接】bermudaBermuda Bluetooth/BLE Triangulation / Trilateration for HomeAssistant项目地址: https://gitcode.com/gh_mirrors/be/bermuda
想用手机找猫的时候,你其实也不确定手机在客厅还是卧室——传统蓝牙追踪只能告诉你"在家"。Bermuda 是 Home Assistant 的蓝牙定位集成:靠各房间的蓝牙代理分别测量设备 RSSI 信号强度,用三角测量反推出设备所在的房间,再变成能直接写进自动化的实体。
需要准备什么硬件
- Home Assistant(最新版):集成跑在 HA 的蓝牙后端之上
- 刷了 ESPHome 的 ESP32 开发板(如 D1-Mini32),启用
bluetooth_proxy:十几块一块,上墙方便,每个房间放一台 - Shelly Plus(Gen2 或更高):开启蓝牙代理功能即可,家里已有 Shelly 开关就不用再买硬件
- 要追踪的 BLE 设备:手机、手表、iBeacon 贴纸、温度计都行
- 不推荐:HA 主机的 USB 蓝牙适配器——信号包没有时间戳,只适合"在家/不在家"
HACS 一键装完
- HACS 里搜 "Bermuda",安装并重启 Home Assistant
- 设备与服务 → 添加集成 → 搜 "Bermuda BLE Trilateration"
- 点 Configure,在发现的设备列表里勾选要追踪的设备,实体自动生成
手动安装:把 custom_components/bermuda/ 整个目录拷进配置目录再重启即可。
它到底能做什么
- 原理一句话:每台代理测一次距离,三角测量 + 最强信号归属房间。算法在 coordinator.py,想折腾可以看。
- 设备类型:标准 BLE 按 MAC 直接追;iBeacon 按 UUID 聚合;随机 MAC 的手机(iOS/Android)需先在 HA 的 "Private BLE Device" 组件里配好,Bermuda 会通过 IRK 自动接管可解析地址。
- 生成的实体:sensor 有 Area(哪个房间)、Distance、到每台代理的距离;device_tracker 可挂到"人员"上,把房间级追踪变成在家/不在家。
两个能直接抄的自动化
- 人进卧室 → 亮灯:触发条件用 Area 传感器(设备面板里叫 Area)状态变为"卧室",动作为打开卧室灯。
- 全家出门 → 关空调布防:所有 device_tracker 报 Not Home(默认 30 秒收不到信号即判定离开),关闭空调并启动安防模式。
距离不准怎么调
先看三个选项(默认值在 const.py):ref_power(1 米处的 RSSI,默认 -55 dBm)、attenuation(衰减系数,默认 3,墙多就调大)、max_area_radius(最大追踪半径,默认 20 米)。
距离总是 Unknown → 检查代理有没有分配 Area,没分配区域的代理不参与定位;距离抖得厉害 → 调大 smoothing_samples 或放慢 update_interval;想看原始数据 → 开发者工具里调bermuda.dump_devices服务,可按 MAC 过滤。
Bermuda 只干一件事:把蓝牙信号变成能进自动化的房间级定位,不需要 UWB 和固定定位硬件。装上它,挑一部手机,五分钟就能看到第一个 Area 数据点。
【免费下载链接】bermudaBermuda Bluetooth/BLE Triangulation / Trilateration for HomeAssistant项目地址: https://gitcode.com/gh_mirrors/be/bermuda
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考