Apple Find My 服务以及围绕Find My 体系构建的AirTag等硬件及应用是Apple生态最牛的服务之一。但由于Apple产品的封闭性,Android及各种类AirTag的蓝牙硬件设备都无法直接使用Apple Find My网络。
开源社区在OpenHaystack 基础上,做了大量努力,以支持非Apple硬件能够使用Apple Find My网络。
在 Apple Find My Device 替代方案 中推荐过Find My Device开源工具 Macless-Haystack。
Macless-Haystack 是一个基于OpenHaystack,无须真实Mac设备或虚拟机的情况下,实现自定义FindMy网络的轻松部署和使用的工具。
Macless-Haystack支持ESP32 和 NRF5x 低功耗蓝牙芯片,动手能力强的可以用现成的ESP32 或 NRF5x 打造自己的AirTag。
由于标准的ESP32 和 NRF5x 芯片并未针对类AirTag 的Find My这样的应用场景做任何优化。
go-haystack 是一个开源Find My类项目,通过在主流的基于nRF SoftDevice、ESP32、RP2040等硬件上写入针对Find My网络优化后的固件,从而支持通过 Apple“Find My”网络跟踪个人蓝牙设备。无需苹果硬件!
在固件支持上,go-haystack使用了 TinyGo 和 TinyGo Bluetooth package 。
在Find My网络支持上,go-haystack基于 OpenHaystack 和 Macless-Haystack。
go-haystack支持的低功耗蓝牙比较广泛,可以在如下硬件上运行:
- 使用 nRF SoftDevice 的 Adafruit Bluefruit 主板 – https://github.com/tinygo-org/bluetooth?tab=readme-ov-file#adafruit-bluefruit-boards
- 使用 nRF SoftDevice 的 BBC Microbit – https://github.com/tinygo-org/bluetooth?tab=readme-ov-file#bbc-microbit
- 其他 Nordic Semi SoftDevice 主板 – https://github.com/tinygo-org/bluetooth?tab=readme-ov-file#flashing-the-softdevice-on-other-boards
- 使用带有 ESP32 协处理器的 NINA-FW 的主板 – https://github.com/tinygo-org/bluetooth?tab=readme-ov-file#esp32-nina
- 使用 CYW43439 协处理器的 RP2040 Pico-W 等主板 – https://github.com/tinygo-org/bluetooth?tab=readme-ov-file#cyw43439-rp2040-w
go-haystack 还可以在任何具有蓝牙硬件的 Linux 上运行,例如 Raspberry Pi 或其他嵌入式系统。
喜欢折腾的同学动手搞起来!
项目地址:https://github.com/hybridgroup/go-haystack
Hacker News讨论:https://news.ycombinator.com/item?id=42665367