当前位置: 首页 > news >正文

HomeAssistant 蓝牙室内定位终极指南:Bermuda 从零到一实现房间级追踪

HomeAssistant 蓝牙室内定位终极指南:Bermuda 从零到一实现房间级追踪

【免费下载链接】bermudaBermuda Bluetooth/BLE Triangulation / Trilateration for HomeAssistant项目地址: https://gitcode.com/gh_mirrors/be/bermuda

你的客厅里明明坐着人,感应灯却理直气壮地黑着脸——这大概是很多 HomeAssistant 玩家的共同记忆。Bermuda 是一款开源的 HomeAssistant 蓝牙定位集成,它借助多个蓝牙代理接收到的信号强度做三角测量,把"在家/不在家"的二元判断,升级成"人具体在哪个房间"的精细定位,让你的自动化第一次拥有真正的"方位感"。

痛点:你的自动化,为什么总比你的脚步慢半拍

大多数家庭玩过基于 WiFi 或蓝牙的存在检测:手机连上路由器,人就"在家";断开,人就"离家"。这套方案有个尴尬的盲区——在家,不等于在客厅

于是你会看到这样的日常:人已经走进卧室,卧室灯却纹丝不动;人已经出门上班,客厅的空调还要再吹上半小时。传统追踪给不了"房间"这一维信息,自动化只能靠猜,而靠猜的智能家居,永远差点意思。

方案:Bermuda 的思路,是给家里装一双"会算数"的耳朵

Bermuda 的原理并不神秘。它会收集家里各个蓝牙代理收到的信号强度(RSSI,也就是"这个设备离我有多近"的数值),再根据信号随距离衰减的规律,估算出设备与每个代理之间的距离。当多个代理同时"听见"同一台设备时,就能交叉判断出它到底在哪个区域——这正是 Trilateration(三角测量)这个名字的由来,也是它被叫作"蓝牙三角定位"的原因。

Bermuda 集成主界面:设备与实体数量一目了然,蓝牙定位状态尽在掌握

这套方案最大的好处是:不需要给每台设备装 App、不需要额外的定位网关,凡是能发 BLE 广播的东西——手机、手表、信标、温湿度计——都能纳入房间级追踪体系。

上手:5 分钟列出你的硬件清单

先别急着装软件,把三样东西备齐,整个过程比想象中轻量:

  • HomeAssistant 本体:建议保持较新版本,老版本可能缺少蓝牙后端支持。
  • 至少一个蓝牙代理(信号采集点),三选一:
    • ESP32 开发板(比如 D1-Mini32)刷 ESPHome 固件并开启bluetooth_proxy组件,便宜可靠,是社区的主力选择;
    • Shelly Plus 及更新型号,启用蓝牙代理功能后同样能干活;
    • 主机自带的 USB 蓝牙适配器不推荐——它没法给广播包打时间戳,定位精度大打折扣,只适合最简单的在家/离家判断。
  • 一台想追踪的 BLE 设备:手机、智能手表、钥匙信标都可以。

📌 小贴士:代理越多,定位越准。想让每个房间都有"判断力",客厅、卧室、走廊最好各有一台信号覆盖。

安装:三步装好,再说说手动方案

HACS 安装(推荐)——只需几步即可完成:

  1. 打开 HACS,搜索 "Bermuda";
  2. 找到 Bermuda BLE Trilateration,点击安装;
  3. 重启 HomeAssistant。

手动安装同样不复杂:在 HA 配置目录下建好custom_components/bermuda文件夹,把项目对应目录里的文件放进去再重启即可。习惯命令行的话,也可以直接把仓库 clone 到该目录:

git clone https://gitcode.com/gh_mirrors/be/bermuda custom_components/bermuda

实战:把第一台设备"请"进 Bermuda

重启后,在"设置 → 设备与服务"里添加 Bermuda。进入配置页,你会看到它"听见"的所有蓝牙设备列表,勾选想追踪的那台并保存,Bermuda 就会为它生成两个核心传感器:

  • Area(区域):设备当前所在房间,是自动化最常用的判断依据;
  • Distance(距离):设备距离最近代理的估算米数,能看出人的走动趋势。

设备详情页:区域、距离、与各代理的测距结果一览无余

这样做的好处是:想实现"进门开灯",直接写一条"区域变为客厅"的自动化即可,不用再靠一堆"在家"状态拼凑逻辑,代码量瞬间清爽。

进阶:三个让定位"脱胎换骨"的能力

1. 绑定 Person,实现家庭成员位置追踪。Bermuda 会为设备生成device_tracker实体,在"设置 → 人员"里把它挂到对应的人名下,HomeAssistant 就能自动推算每个人的在家/离家状态。全家人出门后自动关空调、关灯,一条规则就能覆盖。

2. 搞定"随机 MAC 地址"设备(iOS / Android 玩家的痛点)。现在的手机出于隐私保护会定期更换蓝牙地址,传统按 MAC 追踪的方式直接失效。Bermuda 支持 IRK(可解析密钥)方案:先在 HomeAssistant 的 Private BLE Device 组件里登记设备密钥,Bermuda 就能自动解析出它的真实身份,随机地址从此不再是难题。

3. 追踪 iBeacon 信标。像按 UUID 广播的信标设备,Bermuda 也能以"信标设备"的形式纳入追踪,特别适合盯贵重物品、宠物,或者给汽车做一个"已停回车库"的判断。

想深挖实现原理的读者,可以翻一翻 custom_components/bermuda/coordinator.py,距离计算与区域判定的核心算法都在这里。

调优:把"大概准"调成"非常准"

Bermuda 在配置页和 custom_components/bermuda/const.py 中暴露了几个关键参数,值得按自家环境微调:

  • 环境衰减系数:墙面、家具越多,信号衰减越快,适当调大数值;
  • 1 米处参考 RSSI:不同芯片默认值有差异,可对照实测结果校准;
  • 最大追踪半径:超出即视为"离开",能有效滤掉邻居家设备的干扰;
  • 超时时间:多久没听到信号就标记为离开;
  • 平滑采样数:采样越多,距离变化越平缓,但响应越慢。

另外,Bermuda 还提供了bermuda.dump_devices服务,在"开发者工具 → 服务"里调用,就能导出每台设备与每个代理之间的原始数据。排查"为什么定位不准"时,这份数据就是最直接的证据。

避坑:常见问题排查清单

  • 距离一直显示 Unknown:通常是代理根本没收到该设备的广播。先确认设备蓝牙是否开启、与代理之间是否有遮挡,再看看代理本身是否工作正常。
  • 区域判断总是慢半拍:试试把更新间隔调小、平滑采样数调低,代价是传感器数据量变大、数据库涨得快,注意权衡。
  • 代理提示"未分配区域":每个代理都应归属到某个 HomeAssistant 区域(房间),否则它收集的信号无法参与区域判定,界面上也会给出相应提醒。
  • USB 蓝牙适配器定位飘:这不是设置问题,而是硬件先天不足,建议直接换 ESP32 代理。

结语:现在就去给自动化装上"方位感"

从"人在家"到"人在客厅",Bermuda 用一套无需昂贵硬件的方案,把存在检测往前推进了一大步。无论你想省电、防盗,还是单纯想让灯追着人走,它都能提供全新的自动化思路。按上面的步骤装上、绑定第一台设备,今晚就能感受到房间级蓝牙定位带来的变化——动手试试吧。🚀

【免费下载链接】bermudaBermuda Bluetooth/BLE Triangulation / Trilateration for HomeAssistant项目地址: https://gitcode.com/gh_mirrors/be/bermuda

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4103864.html

相关文章:

  • 【单片机毕业设计】基于 DHT11 传感器的单片机温湿度智能预警系统设计 基于 STM32 或 51 单片机的温湿度参数可调报警装置与 APP 开发(024403)
  • 写作压力小了!2026年最值得拥有的专业降AI率软件
  • AI Agent 是怎么选中正确 Skill 的?一文拆解“意图理解→向量检索→LLM 决策”全流程
  • 3个技巧,用Loop径向菜单把Mac窗口管理效率翻倍
  • 免费 OBS 抠像插件 obs-backgroundremoval 完整使用教程:告别绿幕,一个插件搞定直播背景
  • Obsidian Kanban插件完整指南:WIP限制与看板存档管理从入门到精通
  • AmplifyJS 源码解析:amplify.store 特性检测与 JSON 序列化设计
  • 实测数据公开:Voxtral-Mini-4B-Realtime-2602-NPU 在昇腾910B4上的吞吐量与延迟报告
  • 零基础打造ESP32无人机:5个关键步骤快速实现组装与首飞
  • 从零复现 gr00t17-lerobot-libero_goal-640:20,000 步微调 GR00T N1.7 的完整训练管线指南
  • Chat2DB:免费开源的数据库客户端,一次装好管 40+ 种数据库,还能让 AI 替你写 SQL
  • Una UI配置完全指南:nuxt.config与app.config的12个关键配置项
  • eSearch 离线 OCR 终极指南:截屏提取文字,再一键翻译搜索
  • AMD ROCm环境搭建指南:为Instella-MoE-16B-A3B-Midtrain铺平第一条路
  • Gridism 是什么?一个简单到极致的响应式 CSS 网格框架完整指南
  • 8月19日AI格局日报:OpenAI暂停RL训练+世界机器人大会开幕+港股双雄暴跌+Groq转型Neocloud+Cursor Origin上线+俄亥俄核废墟变8GW AI工厂
  • ppfuzz 实战技巧:如何高效批量扫描 1000+ URL 的 7 个方法
  • 用 BenchmarkTools.jl 构建基准测试套件:BenchmarkGroup 组织与 @tagged 过滤技巧
  • meteor-collection-hooks触发条件清单:find/findOne钩子在Meteor 3中的完整方法对照
  • 文件解包工具终极指南:一款万能解压工具搞定500+格式
  • 遗嘱继承律所联系方式推荐 提供遗嘱订立继承服务 2026年官方咨询渠道及办理流程介绍
  • GNOME 桌面防休眠完整指南:Caffeine 扩展安装与自动化设置
  • 抖音视频怎么保存到本地?免费无水印批量下载工具,新手 10 分钟就能搞定
  • 性能分析怎样控制采样开销
  • KMS_VL_ALL_AIO 激活脚本全攻略:一个文件如何把 Windows 和 Office 的授权打理得明明白白
  • 终极指南:用 Notepad-- 十六进制编辑破解 5 类二进制文件难题
  • Mac运行Windows软件不再折腾:Whisky免费开源方案从装到跑全记录
  • 个人微信API调用失败:登录掉线与回调排查
  • macOS 菜单栏终极救星:免费开源 Ice 三步搞定图标收纳,刘海不再挡图标
  • mapreduce的工作原理