快轉到主要內容

用第三方Gadgetbridge開源APP與小米手錶配對,完全握有你的健康資料,捍衛隱私權

· 民國114年乙巳年
·
切換繁體/簡體
分類   智慧型手機 手機APP分享
標籤   OpenStreetMap Android Free Software Xiaomi
目錄

透過沒有追蹤器的第三方手錶APP,擺脫對手錶原廠APP的依賴!

購買智慧手錶或者智慧手環的時候,有無考慮過隱私問題呢?是否APP要求登入帳號才能夠使用手錶?小米就是一例,限定用自家的APP才可以使用,不能給第三方分享資料。

如果想要對穿戴式裝置獲得更多控制權該怎麼辦呢?有一群開發者製作了開源的Gadgetbridge APP,能夠繞過許多智慧手錶APP連線,並逆向實現了原本手錶的大部分功能。使用者能夠改用這個APP接收手錶的資料,資料不會傳給第三方,可以自由匯出,同時捍衛隱私權。

比較:小米運動健康APP與Gadgetbridge APP的界面。雖然後者有點醜醜的,但是該有的功能都有,甚至有些資料的統計圖表更為詳細。

Gadgetbridge讓資料完全掌握在你手上,能夠任意匯出,比如紀錄運動軌跡的.gpx檔案,自由用其他軟體讀取運動路徑。

這篇文章Ivon將介紹Gadgetbridge的功能,以及分享如何與智慧手錶配對,以小米手錶為例。

1. Gadgetbridge特色功能
#

  1. 擺脫智慧手錶官方APP的束縛。Gadgetbridge能夠解放你的手錶,讓收集到的資料自由的轉移。 Gadgetbridge支援大部分手錶資料,譬如步數、心率、血氧濃度、卡路里、GPS運動軌跡、睡眠時間、打電話、接收通知等等。依照品牌不同,實現的功能也不同,需要看官方文件支援度。

  2. Gadgetbridge支援許多品牌的智慧手錶,例如小米HyperOS、Amazfit、Nothing、華為、Sony、Pine64 Infinite Time、Fossil、Pebble、Garmin等等。可惜的是尚不支援WearOS,因此Pixel Watch和Samsung Watch的就不能用了。Apple Watch當然不支援。

  3. Gadgetbridge收集的資料全部都離線儲存在本機,不會上傳到第三方伺服器(假設手錶沒有獨立上網功能的話啦)。但這也意味著你得自行備份資料,沒有帳號能夠雲端同步。

  4. Gadgetbridge與其他開源的APP協作,打造開源又尊重隱私的生態系,包括用OsmAnd~導航和紀錄運動軌跡,透過Catima同步載具條碼,Breezy Weather同步天氣等等。

Gadgetbridge適合追求隱私的人使用,所以勢必得犧牲跨裝置同步的便利性。如果你是米家忠實用戶,那就不要用這個APP自作虐。

2. 安裝Gadgetbridge APP
#

Gadgetbridge僅支援Android系統。Gadgetbridge原始碼託管在Codeberg,覺得界面中文翻譯怪怪的可以到這裡貢獻。

  1. 建議下載F-Droid的版本,不要用Play商店版的Bangle.js Gadgetbridge,權限會受限。

  2. 開啟後,Gadgetbridge會申請一大堆權限,這是正常的。

Android 12以上版本可能有些權限無法申請,需要進入Android多工畫面,點選Gadgetbridge APP圖示,按右上角「解除受限制的設定」才能繼續。

Gadgetbridge有時候會被系統殺掉背景程式,導致與手錶斷線,建議開啟電源無限制模式。

  1. 然後就能開始配對了。

3. Gadgetbridge與小米手錶配對
#

我的手錶是紅米Redmi Watch 5 Lite,根據Gadgetbridge官方文件,功能大部分正常。不過它需要一組金鑰配對,所以一定得先用小米運動健康APP初始化,產生金鑰,再將那組金鑰轉移給Gadgetbridge APP使用,然後就可以移除。

至於這個金鑰要如何取得,Gadgetbridge官方文件建議從ADB讀取APP log。

  1. 照小米官網指示,到Google Play下載小米運動健康APP,與手錶完成配對。目前小米運動健康(com.xiaomi.wearable)的版本為3.37.2

  2. 將手機接上電腦,啟用ADB偵錯。

  3. 下載Platform Tools,使用adb shell指令,讀取小米運動健康APP的log,這個檔案應該是位於/sdcard/Android/data/com.xiaomi.wearable/files/log/

adb shell cat /sdcard/Android/data/com.xiaomi.wearable/files/log/Transfer.device.log | grep token
  1. 應該會印出一串英數,把deviceInfo後面的token的數值記錄下來
deviceInfo = {"accessType":0,"address":"","createBondWithoutDialog":false,"deviceName":"Redmi Watch 5 Lite   ","did":"","isAppActive":true,"isConnectActive":true,"model":"lchz.watch.n65bgl","productId":"0","productName":"Redmi Watch 5 Lite","proxyConnectionFirst":false,"region":"TW","requestBond":false,"retryStrategy":0,"token":"金鑰","type":6,"userId":""}
  1. 回到手機,將小米運動健康APP強制停止。

  2. 到Android系統的藍芽設定裡面解除配對,才能給Gadgetbridge配對手錶

  3. 開啟Gadgetbridge,在「裝置」界面對手錶長按,輸入配對金鑰,格式為0x金鑰

  4. 之後點一下列表中的手錶圖示,Gadgetbridge應該就能連線到手錶了。

  5. 配對完成之後小米運動健康APP就能解除安裝,也可以留著方便未來更新韌體。

  6. Gadgetbridge的手錶連線狀態會一直顯示在通知欄,不想看到的就長按把連接狀態關掉。

4. 查看Gadgetbridge的統計資料
#

從裝置列表的手錶圖示上面的設定圖示點選進入,這裡能夠查看統計圖表。Gadgetbridge可能不會一直在背景與手錶保持連線,有時候要手動按同步鈕下載資料。

Gadgetbridge預設會接收所有APP的通知,並傳到手錶。點Gadgetbridge左上角 → 設定 → 通知,裡面有白名單模式「允許來自所選應用程式的通知」,也就是只允許特定APP傳送通知。

開啟「請勿打擾」,讓手錶的通知設定與手機的勿擾模式同步。

點Gadgetbridge左上角 → 資料管理,設定定時匯出Gadgetbridge資料。這些資料主要是Gadgetbridge的程式設定還有手錶統計的資料,算是Gadgetbridge APP的備份,目前沒有其他APP能讀取。不過大部分資料以SQL儲存,用電腦工具讀取便能轉成CSV表格。

5. 分享天氣到小米手錶
#

小米手錶的天氣資訊是由手機端APP提供的,Gadgetbridge沒有天氣功能,需要外接。

  1. 安裝Breezy Weather,這個APP能從多個來源獲取天氣資訊,不需要付費

  2. 在APP設定 → 小工具與動態桌布,開啟分享資料給Gadgetbridge,手錶端就能顯示天氣了。

6. 追蹤小米手錶運動軌跡
#

我的這支小米手錶可以獨立運作,透過GPS紀錄運動軌跡,再將資料傳到手機。

  1. 在手錶上面開啟應用程式選單,開始運動。之後由Gadgetbridge同步手錶的資料。

  2. 點Gadgetbridge左上角 → 設定 → 地圖,選取一個資料夾。並依照指示,手動到MapsForge下載台灣的地圖,然後放到資料夾。

  3. 之後點選Gadgetbridge裝置列表,點選走路圖示,才能顯示手錶紀錄到的地圖路徑。

另外一種檢視軌跡的方式:在這個界面點選分享,儲存.gpx檔案,匯出Gadgetbridge的.gpx資料。

再開啟OsmAnd~,側邊欄 → 我的地圖,匯入.gpx檔,便能將運動軌跡顯示在OpenStreetMap上面。

要是手錶不支援GPS的話,也可以讓Gadgetbridge呼叫OpenTracks APP,自動用手機GPS開始紀錄路徑。這款APP是Google地圖時間軸的開源替代品,允許使用者追蹤路線並存檔為.kmz檔案。這份資料裡面除了GPS路線圖之外,還可以加入中途停靠站,嵌入景點照片。

使用例子:爬山的時候走到一定距離就標記一個點,並拍照紀念。結束之後就能得到含有地圖標記的旅遊紀錄。

7. 更換小米手錶的錶盤
#

在Gadgetbridge裝置列表界面,點上傳圖示進入檔案上傳介面。

如果切換到Gadgetbridge之前已經下載過錶盤,則可以切換現有的錶盤。要用新的得手動找錶盤.bin檔案。

小米手錶有官方開發的EasyFace自製錶盤。專有軟體,僅支援Windows。預設中文版太舊,Releases處的英文版支援更多新手錶型號。

或者使用第三方開發的Mi-Create,支援Windows,開放原始碼。

Gadgetbridge不能任意更換錶盤背景圖片(即使錶盤支援自訂圖片),這方面還是得用小米官方APP。

8. 如何更新小米手錶韌體
#

Gadgetbridge的裝置設定頁面能夠上傳韌體更新。

但除非你有辦法搞到更新檔,否則沒有辦法從Gadgetbridge更新。

建議將手錶與Gadgetbridge暫時中斷連線,再回到小米健康APP裡面更新韌體。

參考資料
#

相關文章

F-Droid與開源Android APP推薦列表
分類   智慧型手機 手機APP分享
標籤   F-Droid Android Free Software Android TV
Obtainium,以RSS訂閱方式下載手機開源APP,替代F-Droid商店
分類   智慧型手機 手機APP分享
標籤   Free Software F-Droid Android Github RSS Feed
Android與iOS如何開啟.odt檔?手機版LibreOffice APP分享 ~ Collabora Office
分類   智慧型手機 手機APP分享
標籤   LibreOffice Android IOS Microsoft Office Termux

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。