最新消息:

FindPhone:不用 Find My,也能靠蓝牙信号强弱在房间里找到手机

佳软 yeeach 106浏览 0评论

 

手机明明就在家里,却怎么也找不到。掉进沙发缝了?压在被子下面?放进抽屉忘了?还是落在隔壁房间?

正常情况下,iPhone 用户可以直接打开 Find My,Android 用户也有类似的 Find My Device 。但如果设备没有登录对应账户、Find My 被 MDM 禁用、设备没有联网,或者你只是想寻找附近某个蓝牙设备,还有没有别的办法?

最近 Github上有一个 开源的轻量级 macOS 命令行工具 findphone 直接把 Mac 当成一个“蓝牙探测器”,根据 Bluetooth RSSI 信号强弱一点点逼近手机。

findphone:https://github.com/ben-z/findphone

 

findphone 项目的诞生很有意思,值得提一提。

2026 年 8 月初,项目开发者在办公室把手机弄丢了。Find My 被公司 MDM 禁用,只能靠肉眼翻找。折腾半小时后,他问 Claude 有没有办法。Claude 建议跟踪蓝牙信号强度,并在大约一分钟内写出了一个实时信号仪表盘。他拿着电脑走来走去,看着数字逐渐升高,最终找到了手机。开发者把这个工具后来开源,名字就叫 findphone。

可以说findphone是当下开源项目领域的真实代表:一个真实痛点 + AI 辅助快速实现 + 开源后继续打磨。

 

findphone 针对的正是设备还在蓝牙范围内(室内大约 10–20 米)的情况。它不依赖苹果的定位网络,也不尝试让手机响铃,只做一件事:用蓝牙 RSSI(接收信号强度)告诉你“更近了还是更远了”。

findphone 的核心原理

RSSI 是接收到的信号强度,单位是 dBm,数值是负数。越接近 0,说明信号越强,设备通常也越近。

findphone 把三种来源的数据统一成一个实时读数,按质量从高到低排序:

  • GATT 连接链路(最优)

一旦与目标设备建立 BLE 连接,就周期性调用 readRSSI(),大约每 0.3 秒获取一次新鲜数据(约 3 次/秒)。这是最稳定、最高频的来源。

  • BLE 广告包(被动扫描)

通过 CoreBluetooth 扫描附近设备。苹果设备会定期旋转 advertising address,且设备名只偶尔出现,所以这个源比较稀疏。

  • 经典蓝牙 RSSI(针对已配对设备)

通过 system_profiler SPBluetoothDataType 读取已配对设备的稳定 public address 及其 RSSI。macOS 会缓存这个值,实际刷新大约 3–12 秒一次。工具只在数值真正变化时才记为有效测量,避免把缓存当成新数据。

显示时使用最近几秒窗口的中位数,而不是平均值,减少偶发反射尖峰的干扰。同时会计算趋势(更近 / 更远 / 平稳),帮助用户判断移动方向。

因为无线信号中的 dBm 通常是负数,数值越接近 0,通常代表接收到的信号越强。

findphone 官方给出了一套非常直观的粗略参考:

-45 dBm   手臂可及的极近距离

-60 dBm  在同一张桌子上

-72 dBm 在同一个房间内

-85 dBm 距离较远或被物体遮挡

<-85 dBm 极远或被严重屏蔽

需要注意:RSSI 只是距离的粗糙代理。墙壁、金属、人体都会大幅衰减信号,所以要看趋势,而不是迷信单个数字。

 

相关衍生项目

findphone 发布后,受其”用信号强度趋势引导寻找“的思路启发,出现了几个相关的开源项目:

Dowser

https://github.com/jusso-dev/dowser

直接基于 findphone 构建,保留原有核心,并扩展到 iPhone / iPad App。手机端增加了震动反馈,体验更接近“探矿杖”。同样支持 Continuity 消息解析,能区分 iPhone、Watch、AirPods、AirTag 等。

 

Superfind

https://github.com/p4r1ch4y/superfind

受 findphone 启发的更工程化实现。Rust 核心 + Linux CLI + Android App。强调传感器融合、置信度计算和“诚实报告”——低置信度就明确告诉用户。Android 端有雷达式界面,Linux 端用大字体显示信号强度。

 

 

device_finder

https://github.com/developerashkan/device_finder

纯 Dart 实现的 RSSI 引擎,带 Kalman 滤波、路径损耗模型和三边定位尝试。提供雷达 UI 和触觉反馈,适合做跨平台移动端方案。

 

 

findphone 局限与适用场景

适合:

设备确定在附近某个房间/办公区

Find My 不可用,但蓝牙开着

想快速用电脑扫描并边走边找

 

不适合:

需要精确坐标或方向

设备已经离开蓝牙范围

想让手机主动响铃

它本质上是一个短距离、被动、基于趋势的接近度仪表盘,而不是完整的定位系统。

 

如果你也经常在办公室或家里找手机,不妨在 Mac 上试一下。下一回再找不到的时候,也许看着那个逐渐升高的 dBm 数字,就能少翻几个抽屉。

常见室内定位技术

在室内环境中,GPS 几乎失效。找丢失的手机、追踪资产、做机器人导航或简单的接近感应,都需要依赖其他无线信号。最常见的方案是利用 蓝牙 RSSI / BLE、Wi-Fi RSSI、精度更高的 UWB(超宽带)以及融合多种无线信号方案。

 

 

 

 

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址