華米 Amazfit 運動手表跑步數(shù)據(jù)導出到悅跑圈

我去年買了個表(真的!這句不是罵人的),是小米旗下的華米出品的 Amazfit 運動手表,小米手環(huán)也是華米團隊的產(chǎn)品,小米曾經(jīng)僅憑小米手環(huán)一款產(chǎn)品就占據(jù)了全球可穿戴設備市場四分之一的出貨量,價格屠夫的剽悍可見一斑。

我對智能手表的要求主要有三點:

  1. 便宜(窮啊,沒辦法┑( ̄Д  ̄)┍)
  2. 續(xù)航時間長(像 iWatch 那樣不到兩天就得充電實在不能忍受?。?/li>
  3. 有獨立 GPS 模塊(不連接手機就可以記錄跑步數(shù)據(jù))

華米手表基本滿足了我的要求,其宣稱的“扔掉手機去跑步”的口號深得我心。我平時就喜歡跑步,每次一般都要跑上10公里,帶個手機在口袋里晃來晃去實在不爽,用臂包固定在手臂上也不舒服。最理想的狀態(tài)就是除了運動手表和藍牙耳機之外啥也不帶,這樣跑著才爽快。

用了幾次后發(fā)現(xiàn),還是不能愉快地扔掉手機,因為華米手表的運動數(shù)據(jù)不能導出到悅跑圈,甚至不支持導出為 .tcx 、.gpx 等通用格式。悅跑圈的數(shù)據(jù)分析和跑步愛好者社區(qū)要比小米系的 App 好太多,我早已習慣在上面記錄和累積跑步數(shù)據(jù),總不能為了悅跑圈再帶個手機吧。于是我就上網(wǎng)尋找可以把跑步數(shù)據(jù)從華米手表導出到悅跑圈的方法,還真給找到了,不過是曲線救國,方法比較繁瑣,寫篇文章記錄一下。總的來說,就是從手表導出數(shù)據(jù),用軟件生成通用的格式文件,導入佳明的網(wǎng)站,再從佳明網(wǎng)站同步到頌拓網(wǎng)站,最后在悅跑圈 App 里同步頌拓的跑步數(shù)據(jù)。

1. 用 adb 備份手表數(shù)據(jù)

用 adb (Android Debug Bridge,谷歌官方 Android 系統(tǒng)調(diào)試工具,了解刷機的朋友很熟悉了,就不贅述了)備份手表數(shù)據(jù),首先用數(shù)據(jù)線鏈接手表和電腦,我習慣先在命令行界面運行 adb devices 查看一下,List of devices attached 下面出現(xiàn)一串數(shù)字和 device,就說明手表已經(jīng)連接好了。

C:\>adb devices
List of devices attached
52352008        device

然后運行以下命令,把數(shù)據(jù)導出為 export_data.ab

C:\>adb backup -noapk com.huami.watch.sport -f export_data.ab
Now unlock your device and confirm the backup operation.

命令行界面出現(xiàn)提示:Now unlock your device and confirm the backup operation.這時手表屏幕如下面左圖所示,在觸摸屏上點右面備份我的數(shù)據(jù),稍等片刻,手表屏幕上顯示備份已完成,如下面右圖所示:

image.png

這時在當前文件夾下就生成了一個 export_data.ab 文件,這是 Android 系統(tǒng)備份文件的格式。

2. 用 abe.jar 解壓備份文件

abe 全稱 Android Backup Extractor[1],是一個 Java 軟件,需要先安裝 Java 才能運行。安裝 Java 后運行以下命令:

C:\>java -jar abe.jar unpack export_data.ab export_data.tar

在當前文件夾生成了一個 export_data.tar 文件,這是 Linux 的壓縮文件格式,用解壓軟件解壓,在子文件夾 db 下可以找到 sport_data.db 文件,這是一個數(shù)據(jù)庫文件,包含著手表的跑步數(shù)據(jù)。

這兩步是通用的,用這個方法可以在不解鎖不 root 的情況下從 Android 手機或設備中導出數(shù)據(jù)以供他用。如果是 root 了的設備,則直接可以通過adb pull命令導出文件:

adb pull /data/data/com.huami.watch.sport/databases/sport_data.db

3. 用 Amazfit Exporter 讀取數(shù)據(jù)庫文件

Amazfit Exporter[2] 是一個開源的 Python 軟件,源代碼發(fā)表在 Github 上,在 Github 上搜索一下,類似的還有 Amazfit GPX Export 、AmazfitWatch Export 等其他項目,但仍然好使的貌似只有這個了。

從 Github 下載源代碼文件,在當前文件夾下新建 data 文件夾,安裝好 Python 后運行amazfit_exporter_cli.py,再按一次回車確認:

py amazfit_exporter_cli.py sport_data.db data
The last time it was sync: 1970-01-01 08:00:00
Press <Enter> to accept, 0 to resync everything>>
2016-09-14 19:46:06 activity:running syncing...
2016-09-16 19:01:14 activity:running syncing...
......
2017-06-16 07:33:15 activity:trail running syncing...
2017-08-15 19:09:06 activity:running syncing...

命令執(zhí)行完以后,在 data 文件夾下生產(chǎn)了許多用時間命名的 .tcx 格式文件,如 20170815_110906Z.tcx。還有一個 lstupd.txt 的文件記錄著本次導出的時間,下次執(zhí)行命令的時候就只導出新記錄了。如果還想導出全部記錄,只需刪除該文件即可。

4. 把文件上傳到佳明網(wǎng)站

登陸 Garmin Connect[3]網(wǎng)站,點擊右上角 上傳或?qū)霐?shù)據(jù),上傳 .tcx 文件,就可以在網(wǎng)站上查看跑步記錄了。

image

如果上傳出現(xiàn)錯誤,可以通過 GPS Visualizer[4]網(wǎng)站把 .tcx 轉為 .gpx,然后再上傳到 Garmin Connect。

5. 用 MXActivityMover 把跑步記錄從佳明同步到頌拓

打開 Suunto Movescount[5]網(wǎng)站,注冊賬號并登陸。下載 MXActivityMover[6]軟件,即 mxamfx.jar,打開軟件,在Settings>Configuration中填入 Activity ID和 Garmin Connect 的賬號信息并保存:

image

打開 Garmin Connect 上的某一活動,可以在地址欄獲取形如https://connect.garmin.cn/modern/activity/19070941的網(wǎng)址,最后的數(shù)字即為 Activity ID。

理論上可以通過 Activity ID 或 .tcx 文件將跑步記錄同步到 Suunto Movescount。

image

我試了 Activity ID,沒有成功,用第3步得到的 .tcx 文件也沒有成功。只有從 Garmin Connect 導出的 .tcx 文件,用 MXActivityMover 打開,點擊Send成功同步到了 Suunto Movescount。

注意:需要在 Suunto Movescount 設置里Connections欄對 MXActivityMover 進行授權才能同步成功。

6. 在悅跑圈 App 中同步頌拓的跑步記錄

在悅跑圈 App 功能>鏈接運動設備中選擇頌拓,輸入賬號密碼即可同步數(shù)據(jù)到悅跑圈了,同樣也需要在 Suunto Movescount 的設置里對悅跑圈進行授權。

至此,終于通過繁瑣的步驟實現(xiàn)了華米手表數(shù)據(jù)同步到悅跑圈,跑步不用再帶手機開悅跑圈了,只需隔段時間同步一次即可。

后來發(fā)現(xiàn),華米手表新出的開發(fā)板 Rom 已經(jīng)支持導出 .gpx 格式了,恭喜華米走出了這開放的一步,不再像以前那樣封閉。希望用戶可以簡單方便地在各平臺互通共享自己的數(shù)據(jù),而不僅僅囿于某一廠商。技術的樂趣在于折騰!


  1. https://github.com/nelenkov/android-backup-extractor ?

  2. https://github.com/citsai/amazfit_exporter ?

  3. https://connect.garmin.cn/modern ?

  4. http://www.gpsvisualizer.com/convert_input?convert_format=gpx ?

  5. http://www.movescount.cn ?

  6. http://www.movescount.cn/zh/connect/mxactivitymover ?

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容