摘要:当前市场上,智能手表种类繁多,几乎都提供健康监测功能。其中,Apple Watch 凭借在心率监测、睡眠分析和运动追踪等方面的高精确度,始终占据市场领先地位,成为许多消费者的首选。甚至四年前发布的苹果手表,其数据准确性仍然优于许多新推出的竞争产品。
作者 | Abishek Muthian 编译 | 苏宓
出品 | CSDN(ID:CSDNnews)
当前市场上,智能手表种类繁多,几乎都提供健康监测功能。其中,Apple Watch 凭借在心率监测、睡眠分析和运动追踪等方面的高精确度,始终占据市场领先地位,成为许多消费者的首选。甚至四年前发布的苹果手表,其数据准确性仍然优于许多新推出的竞争产品。
然而,独立开发者 Abishek Muthian 表示,他已经对苹果的“封闭生态系统”厌倦了。他无法忍受那些“高高在上”的理想生活式营销,也对苹果限制维修权的政策颇有微词。几年前,他决定不再为 Apple Watch 掏钱。
他转而选择更自由的方案:使用翻新的蓝牙低功耗(BLE)智能手表和翻新手机,同时借助一个活跃的开源社区为这些设备提供支持。
Abishek Muthian 称,通过使用开源项目 Gadgetbridge(https://gadgetbridge.org/),摆脱了智能手表厂商自带的专有 App,完全掌控了手表的数据。而 Lineage OS(一个开源的安卓系统)搭配 microG(一个 Google 服务替代方案)和 F-Droid(开源应用商店),让他进一步可以拥有隐私保护的手机。
闲暇之余,Abishek Muthian 也尝试基于 postmarketOS 的 Linux 智能手机和运行 Asteroid OS 的智能手表,以摆脱传统手机系统生态的束缚。
近日,Abishek Muthian 遇到了一件令他十分难过的事情:他的一位朋友独自一人在国外的酒店里,因不明原因在睡梦中去世。这个悲剧让他不禁产生了一个念头:如果朋友佩戴了智能手表,或许能及时发现生命体征的变化,甚至能收到警报,从而有机会寻求帮助。Abishek Muthian 提到,虽然他现在用的是 Gadgetbridge 兼容的手表,但它没有摔倒检测或 SOS 功能,且健康监测的精确度远不如 Apple Watch。
因此,他决定通过开源应用、兼容协议和第三方服务,来实现 Apple Watch 与 Android 手机的配合使用。
基于此,他将具体的代码和方法在 GitHub 上开源出来:
不用带 iPhone,依然玩转 Apple Watch
Abishek Muthian 买了一块支持蜂窝网络的翻新版 Apple Watch,这款手表拥有他需要的所有健康功能(比如心电图)以及最新的 watchOS 系统。
起初,Abishek Muthian 打算用 Apple 的“儿童模式”(Apple Watch for Kids),通过他老婆的 iPhone 进行设置,因为他自己此前已经弃用了 iPhone。然而,由于儿童模式下不支持一些关键的健康功能,比如心电图等,所以这条路很快被堵死了。
此外,Abishek Muthian 所在国家的电信运营商中,只有一家在“Apple Watch for Kids”计划下支持 Apple Watch 的 eSIM 功能。然而,因为一些限制,Abishek Muthian 在尝试这个服务时,运营商直接停用了他的网络服务。幸运的是,Abishek Muthian 称,「这只是我的副卡,所以影响不大,我决定另寻办法」。
这也让他意识到,没有 iPhone 是没法使用 Apple Watch 的。于是,Abishek Muthian 无奈之下又买了一台翻新的 iPhone,这部手机仍然可以再接收几年的系统更新。虽然 Abishek 没能实现最初不需要买 iPhone 就能用苹果手表的目标,但他还是达到了一个新目标:不用随身带 iPhone,却能在 Android 手机上同步并使用苹果手表的所有功能。
蜂窝网络
Abishek Muthian 通过把他的 Android 手机里的 SIM 卡放进 iPhone 里,再配对到苹果手表,并设置好移动数据,成功让苹果手表支持蜂窝网络功能。
在关闭 Wi-Fi 和蓝牙的情况下,他可以通过苹果手表接打电话,效果很好。但由于 SIM 卡仍然在 Android 手机里,短信功能就无法使用了——比如发送 SOS 信息到紧急联系人(即使他们使用的是 iMessage)。不过,SOS 拨打紧急电话的功能是可以正常使用的。
Apple Watch 和 Android 手机上同时接到的电话
通知功能
让 Apple Watch 从 Android 手机接收通知是最复杂的一步,但很值得,因为通知对效率和省电至关重要。
为此,Abishek Muthian 写了一个 Python 脚本,用 Termux(Android 终端模拟器)读取通知,然后通过 Pushover(推送服务)把通知发送到 Apple Watch 上。
现在,他的 Apple Watch 可以接收到来自 Android 手机的通知消息,比如短信或应用提醒。
从 Android 手机发送的 Apple Watch 通知
日历同步
通过 CalDAV 协议,Abishek Muthian 实现了 Android 手机和 Apple Watch 之间的日历同步。他使用了自建的 Nextcloud 服务器,以及 Fossify Calendar 和 DavX 等开源工具。现在,Android 手机上的日历事件会无缝显示在 Apple Watch 上。
联系人同步
如果苹果手表上的来电只显示电话号码,那会很奇怪。所以,Abishek Muthian 还通过 CardDAV 这个可以互相兼容的协议,把 Android 手机上的联系人同步到 Apple Watch。CardDAV 可以通过 Abishek Muthian 自己搭建的 Nextcloud 服务器,配合像 Fossify Contacts 和 DavX 这样的应用来同步联系人。
任务同步
使用 DAVx 的另一个好处是,可以通过开源任务管理应用(比如 jtxBoard)同步任务。
这些任务会自动同步到 Apple Watch 的日历和提醒应用上,甚至支持显示子任务。
Android 端:在 jtxBoard 应用中查看和管理任务
Apple Watch 端:任务会显示在日历应用和提醒应用中,方便随时查看
最终成果
我现在成功实现了让 Apple Watch 和 Android 手机一起工作。虽然家里仍然需要留一个联网的 iPhone,但我并不需要每天随身携带它。
当然这个项目还有一些可以优化的地方。如果有兴趣的小伙伴,Abishek Muthian 称也可以在 GitHub 项目库里发起讨论,一起完善它。
最后,Abishek Muthian 表示,“这一切都离不开开源社区、互操作协议和那些专注用户需求的小型应用程序。然而,这些生态正面临既得利益者的巨大威胁。”
GitHub 项目地址:https://github.com/abishekmuthian/apple-watch-with-android
来源:CSDN一点号