我去年買了個表(真的!這句不是罵人的)晴竞,是小米旗下的華米出品的 Amazfit 運動手表泌射,小米手環(huán)也是華米團隊的產(chǎn)品,小米曾經(jīng)僅憑小米手環(huán)一款產(chǎn)品就占據(jù)了全球可穿戴設(shè)備市場四分之一的出貨量形入,價格屠夫的剽悍可見一斑。
我對智能手表的要求主要有三點:
- 便宜(窮啊缝左,沒辦法┑( ̄Д  ̄)┍)
- 續(xù)航時間長(像 iWatch 那樣不到兩天就得充電實在不能忍受耙谒臁)
- 有獨立 GPS 模塊(不連接手機就可以記錄跑步數(shù)據(jù))
華米手表基本滿足了我的要求浓若,其宣稱的“扔掉手機去跑步”的口號深得我心。我平時就喜歡跑步蛇数,每次一般都要跑上10公里挪钓,帶個手機在口袋里晃來晃去實在不爽,用臂包固定在手臂上也不舒服耳舅。最理想的狀態(tài)就是除了運動手表和藍牙耳機之外啥也不帶碌上,這樣跑著才爽快。
用了幾次后發(fā)現(xiàn)浦徊,還是不能愉快地扔掉手機馏予,因為華米手表的運動數(shù)據(jù)不能導(dǎo)出到悅跑圈,甚至不支持導(dǎo)出為 .tcx 盔性、.gpx 等通用格式霞丧。悅跑圈的數(shù)據(jù)分析和跑步愛好者社區(qū)要比小米系的 App 好太多,我早已習(xí)慣在上面記錄和累積跑步數(shù)據(jù)冕香,總不能為了悅跑圈再帶個手機吧蛹尝。于是我就上網(wǎng)尋找可以把跑步數(shù)據(jù)從華米手表導(dǎo)出到悅跑圈的方法,還真給找到了悉尾,不過是曲線救國突那,方法比較繁瑣,寫篇文章記錄一下焕襟≡墒眨總的來說饭豹,就是從手表導(dǎo)出數(shù)據(jù)鸵赖,用軟件生成通用的格式文件,導(dǎo)入佳明的網(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ù)線鏈接手表和電腦老赤,我習(xí)慣先在命令行界面運行 adb devices 查看一下,List of devices attached 下面出現(xiàn)一串?dāng)?shù)字和 device制市,就說明手表已經(jīng)連接好了抬旺。
C:\>adb devices
List of devices attached
52352008 device
然后運行以下命令,把數(shù)據(jù)導(dǎo)出為 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ù)
开财,稍等片刻汉柒,手表屏幕上顯示備份已完成
,如下面右圖所示:
這時在當(dāng)前文件夾下就生成了一個 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
在當(dāng)前文件夾生成了一個 export_data.tar 文件,這是 Linux 的壓縮文件格式恤溶,用解壓軟件解壓传货,在子文件夾 db 下可以找到 sport_data.db 文件,這是一個數(shù)據(jù)庫文件宏娄,包含著手表的跑步數(shù)據(jù)问裕。
這兩步是通用的,用這個方法可以在不解鎖不 root 的情況下從 Android 手機或設(shè)備中導(dǎo)出數(shù)據(jù)以供他用孵坚。如果是 root 了的設(shè)備粮宛,則直接可以通過adb pull
命令導(dǎo)出文件:
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 下載源代碼文件,在當(dāng)前文件夾下新建 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 的文件記錄著本次導(dǎo)出的時間,下次執(zhí)行命令的時候就只導(dǎo)出新記錄了因俐。如果還想導(dǎo)出全部記錄拇惋,只需刪除該文件即可。
4. 把文件上傳到佳明網(wǎng)站
登陸 Garmin Connect[3]網(wǎng)站抹剩,點擊右上角 上傳或?qū)霐?shù)據(jù)
撑帖,上傳 .tcx 文件,就可以在網(wǎng)站上查看跑步記錄了澳眷。
如果上傳出現(xiàn)錯誤胡嘿,可以通過 GPS Visualizer[4]網(wǎng)站把 .tcx 轉(zhuǎn)為 .gpx,然后再上傳到 Garmin Connect境蔼。
5. 用 MXActivityMover 把跑步記錄從佳明同步到頌拓
打開 Suunto Movescount[5]網(wǎng)站灶平,注冊賬號并登陸伺通。下載 MXActivityMover[6]軟件,即 mxamfx.jar逢享,打開軟件罐监,在Settings
>Configuration
中填入 Activity ID和 Garmin Connect 的賬號信息并保存:
打開 Garmin Connect 上的某一活動,可以在地址欄獲取形如https://connect.garmin.cn/modern/activity/19070941
的網(wǎng)址瞒爬,最后的數(shù)字即為 Activity ID弓柱。
理論上可以通過 Activity ID 或 .tcx 文件將跑步記錄同步到 Suunto Movescount。
我試了 Activity ID侧但,沒有成功矢空,用第3步得到的 .tcx 文件也沒有成功。只有從 Garmin Connect 導(dǎo)出的 .tcx 文件禀横,用 MXActivityMover 打開屁药,點擊Send
成功同步到了 Suunto Movescount。
注意:需要在 Suunto Movescount 設(shè)置里Connections
欄對 MXActivityMover 進行授權(quán)才能同步成功柏锄。
6. 在悅跑圈 App 中同步頌拓的跑步記錄
在悅跑圈 App 功能
>鏈接運動設(shè)備
中選擇頌拓酿箭,輸入賬號密碼即可同步數(shù)據(jù)到悅跑圈了,同樣也需要在 Suunto Movescount 的設(shè)置里對悅跑圈進行授權(quán)趾娃。
至此缭嫡,終于通過繁瑣的步驟實現(xiàn)了華米手表數(shù)據(jù)同步到悅跑圈,跑步不用再帶手機開悅跑圈了抬闷,只需隔段時間同步一次即可妇蛀。
后來發(fā)現(xiàn),華米手表新出的開發(fā)板 Rom 已經(jīng)支持導(dǎo)出 .gpx 格式了笤成,恭喜華米走出了這開放的一步评架,不再像以前那樣封閉。希望用戶可以簡單方便地在各平臺互通共享自己的數(shù)據(jù)疹启,而不僅僅囿于某一廠商古程。技術(shù)的樂趣在于折騰蔼卡!