ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

三步搞定房间级蓝牙定位:Bermuda BLE Trilateration 的 HomeAssistant 终极实战指南

三步搞定房间级蓝牙定位:Bermuda BLE Trilateration 的 HomeAssistant 终极实战指南 三步搞定房间级蓝牙定位Bermuda BLE Trilateration 的 HomeAssistant 终极实战指南【免费下载链接】bermudaBermuda Bluetooth/BLE Triangulation / Trilateration for HomeAssistant项目地址: https://gitcode.com/gh_mirrors/be/bermuda晚上七点你抱着快递盒走到家门口。门锁识别了指纹客厅灯却没反应。你腾出手解锁手机走进玄关灯这才慢悠悠亮起来——就差这几秒归家的幸福感打了对折。问题出在哪市面多数 HomeAssistant 蓝牙追踪方案只能告诉你手机在家判断不了手机在哪个房间。于是进门亮灯这种基础自动化只能靠门磁或人体传感器曲线救国。Bermuda BLE Trilateration 就是冲着这个痛点来的一个开源的 HomeAssistant 蓝牙定位集成把设备位置精度从在家/不在家提升到客厅/卧室/书房让灯在你真正踏入房间的那一刻亮起。一句话说清它是什么Bermuda 用多个蓝牙代理Bluetooth Proxy收到的信号强度做比对把任意 BLE 设备的实时位置精确到房间Area级别同时生成距离传感器、设备追踪器还能联动 HomeAssistant 的人员Person功能。它和普通蓝牙追踪最大的区别在于别人用单个接收器做有信号 在家的粗判断Bermuda 把多个代理的信号放在一起比大小谁最强就判定设备在谁附近。硬件成本几乎为零体验却完全不同。谁适合用三类用户与四个高价值场景先对号入座看看你是不是它的目标用户智能家居折腾党追求人进灯亮、人走灯灭不想再买一堆人体传感器随身物品追踪者手机、手表、钥匙扣、钱包贴片丢哪了心里有数已有 ESP32 / Shelly 设备的玩家让手头硬件物尽其用不用额外投资这四个场景里它价值最大场景效果进门亮灯、离房关空调以房间为触发单位而非全屋贵重物品防丢明确显示物品在哪个房间、距离多近家人房间级追踪配合 Person 功能实时知道家人在哪手环/手表状态联动睡觉自动切夜间模式起床自动恢复从零到一5 分钟跑通最小可用配置不用看几十页文档按这条动线走基本能一次跑通准备 → 安装 → 配置 → 首次生效。第 1 步准备硬件3 样就够运行最新版 HomeAssistant 的主机至少 1 个蓝牙代理ESP32 开发板刷 ESPHome 固件并启用bluetooth_proxy组件或 Shelly Plus 及以上设备USB 蓝牙适配器能用但不推荐它不带时间戳只适合粗定位1 台要追踪的 BLE 设备手机、手表、信标都行第 2 步安装集成推荐走 HACS打开 HACS → 搜索 Bermuda → 安装 → 重启 HomeAssistant。不依赖 HACS 的话可以手动装先git clone仓库 https://gitcode.com/gh_mirrors/be/bermuda 把custom_components/bermuda整个文件夹复制到 HomeAssistant 配置目录下的custom_components里再重启。第 3 步添加并勾选设备进入设置 → 设备与服务 → 添加集成搜索 Bermuda BLE Trilateration。添加成功后点击 CONFIGURE在配置弹窗里勾选你想追踪的蓝牙设备——系统会自动列出它能看到的所有 BLE 设备。安装完成后在 HomeAssistant 的设备与服务界面即可看到 Bermuda 集成及其管理的设备、实体第 4 步验证首次生效打开设备详情页观察 Area区域传感器。如果代理正常且已分配区域这里会从 Unknown 变成具体的房间名距离传感器也会显示米数。看到这两项你的房间级定位就已经跑起来了。原理拆解一台收音机听不出方向三台可以打个比方你站在客厅中间拍手离你最近的收音机听到的声音最大。换到蓝牙世界拍手声就是设备持续广播的 BLE 数据包收音机就是各个蓝牙代理声音大小就是信号强度RSSI。Bermuda 的处理逻辑只有三步信号转距离每个代理把听到的 RSSI 换算成距离公式在custom_components/bermuda/util.py的rssi_to_metres10^((ref_power - rssi) / (10 * attenuation))其中ref_power是 1 米处的参考信号强度attenuation是环境衰减系数最近者胜同一个设备如果被多个代理听到Bermuda 比较各代理上报的距离判定设备属于距离最小的那个代理所在的房间平滑防抖单次信号会抖动Bermuda 引入时间窗口和采样平滑smoothing_samples避免房间判定在几秒内来回横跳核心调度逻辑在custom_components/bermuda/coordinator.py每 1.05 秒处理一轮数据响应速度足够日常自动化使用。用表格对比一下它和传统方案的差距对比项传统蓝牙追踪Bermuda判断维度单个接收器有无信号多代理信号强度比对输出粒度在家 / 不在家精确到房间 距离米额外硬件无1 个以上蓝牙代理随机 MAC 设备基本无解支持 iBeacon 与 IRK自动化价值只能做离家触发房间级精细触发实战演示让灯在你进门那一刻亮起下面这个案例可以完整复现全程不需要写一行代码。场景目标手机进入书房 → 台灯自动亮手机离开书房 → 3 分钟后关灯。配置过程在设置 → 区域里给书房、客厅等每个房间命名并把对应的蓝牙代理设备分配进去回到 Bermuda 的 CONFIGURE勾选你的手机到设置 → 自动化新建两条自动化一条监听sensor.手机_area变为书房时开灯另一条监听它离开书房时延迟 3 分钟关灯用之前 vs 用之后时刻用之前用之后走进书房灯不亮得手动或靠人体传感器手机一进房间台灯立刻亮起离开书房灯常亮容易忘关3 分钟后自动熄灭不浪费电人在客厅无法区分房间容易误触发判定精准各房间自动化互不干扰设备详情页清晰展示当前区域、与各蓝牙代理的距离等实时传感器数据是排查定位问题的第一现场进阶调优三个让定位更准的实用技巧基础跑通后想再提升精度记住这三招技巧 1校准参考电平与环境衰减默认ref_power-55 dBm和attenuation3只是通用起点不代表你的家居环境。拿着手机在代理 1 米处实测 RSSI把真实值填进参考电平如果距离普遍偏大或偏小微调衰减系数。适用场景距离数值明显失真时。注意每次改动后观察 10 分钟左右再下结论别急着来回调。技巧 2调整平滑采样数custom_components/bermuda/const.py里的smoothing_samples默认 20。如果房间判定频繁跳变把它调大如 30~40换来更稳的结果如果希望响应更快可以调小。适用场景定位结果飘忽不定时。注意数值过大人快速穿过房间时响应会明显变慢。技巧 3给每个代理分配独立区域善用诊断服务定位不准的头号原因其实是代理没分配区域——它再准也没地方可归。去设置 → 区域逐个核对。排查时调用 HomeAssistant 开发者工具里的bermuda.dump_devices服务它会返回每个设备与各代理的原始距离数据问题一目了然。适用场景某个房间一直判错或显示 Unknown 时。避坑速查症状 → 原因 → 对策把新手最常见的翻车现场整理成速查表遇到问题直接对号入座症状原因对策距离一直显示 Unknown代理没收到该设备的广播检查设备蓝牙是否开启、代理与设备间是否有厚墙/金属遮挡Area 永远是同一个房间只有一个代理或代理没分配到具体区域增加代理数量并在设置 → 区域给每个代理指派房间房间判定来回跳单次信号抖动平滑不足调大smoothing_samples或缩短代理间的重叠覆盖Android 手机完全追踪不到手机使用随机 MAC 地址用 HomeAssistant 的 Private BLE Device 配置 IRK或改用 iBeacon 信标距离数值普遍偏大/偏小参考电平与环境衰减不合实际按技巧 1做一次 1 米实测校准集成看不到任何设备代理没被 HA 蓝牙后端接管确认 ESPHome 已启用bluetooth_proxy且代理本身在 HA 里在线写在最后你的下一步定位这件事以前是高级玩家的玩具现在一个免费开源集成就能做到房间级精度。Bermuda 的价值不在于多炫的技术而在于它把人在哪这个信息变成了任何自动化都能直接使用的标准实体。下一步很简单打开 HACS搜 Bermuda装一个代理把你的手机勾进配置——然后等晚上回家看那盏灯会不会在你踏进玄关的瞬间亮起。它会亮的。【免费下载链接】bermudaBermuda Bluetooth/BLE Triangulation / Trilateration for HomeAssistant项目地址: https://gitcode.com/gh_mirrors/be/bermuda创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进