小米健康云開放平臺(tái)用戶文檔
小米健康云開放平臺(tái)用戶文檔
現(xiàn)階段本產(chǎn)品只對(duì)小米生態(tài)鏈企業(yè)及合作伙伴正式開放.
1. 概述
小米健康云是一個(gè)構(gòu)建在小米云平臺(tái)之上的開放平臺(tái),它可以存儲(chǔ)并管理用戶的各種設(shè)備收集到的運(yùn)動(dòng)健身數(shù)據(jù).這些數(shù)據(jù)由用戶使用的各種設(shè)備收集并處理,然后通過(guò)應(yīng)用程序上傳到小米健康云進(jìn)行存儲(chǔ)和管理.
小米健康云的主要功能:
能夠存儲(chǔ)來(lái)自任何可穿戴設(shè)備或者傳感器的數(shù)據(jù) 存儲(chǔ)的數(shù)據(jù)能夠被任何應(yīng)用程序訪問(wèn) 用戶升級(jí)設(shè)備或者應(yīng)用程序時(shí),數(shù)據(jù)使用不受影響 支持用戶權(quán)限管理,保護(hù)用戶隱私如果用戶有一個(gè)能夠采集健身運(yùn)動(dòng)數(shù)據(jù)的設(shè)備, 那么小米健康云的使用流程和場(chǎng)景如下
用戶確定該設(shè)備能夠采集到的數(shù)據(jù)種類,然后選取小米健康云已定義好的相對(duì)應(yīng)的若干數(shù)據(jù)類型 針對(duì)每種選定的數(shù)據(jù)類型,分別創(chuàng)建相應(yīng)的數(shù)據(jù)源(DataSource),并獲得相應(yīng)的數(shù)據(jù)源Id 采集數(shù)據(jù)并把每個(gè)數(shù)據(jù)都標(biāo)記相應(yīng)的數(shù)據(jù)源Id,然后上傳到小米健康云 如果用戶需要下載使用這些數(shù)據(jù),也可以使用相應(yīng)的數(shù)據(jù)源Id到小米健康云下載數(shù)據(jù)2. 基本概念
小米健康云定義了一組概念, 這些概念用來(lái)描述數(shù)據(jù)組織格式和用戶活動(dòng).
數(shù)據(jù)源(DataSource)數(shù)據(jù)源是對(duì)用戶數(shù)據(jù)的描述. 小米健康云使用數(shù)據(jù)源來(lái)標(biāo)識(shí)用戶上傳的數(shù)據(jù), 每個(gè)數(shù)據(jù)都必須有且只有一個(gè)數(shù)據(jù)源標(biāo)識(shí). 所以用戶在上傳一組數(shù)據(jù)時(shí), 必須先創(chuàng)建一個(gè)數(shù)據(jù)源或者使用已有的數(shù)據(jù)源,為這組數(shù)據(jù)進(jìn)行標(biāo)識(shí).同理, 用戶在下載數(shù)據(jù)時(shí),也需要指定下載哪個(gè)數(shù)據(jù)源標(biāo)識(shí)的數(shù)據(jù).
數(shù)據(jù)源從4個(gè)方面對(duì)數(shù)據(jù)進(jìn)行標(biāo)識(shí)
數(shù)據(jù)源的一些基本信息: 數(shù)據(jù)源名稱, 數(shù)據(jù)源類型等 采集數(shù)據(jù)的設(shè)備信息: 設(shè)備型號(hào), 名稱, UID等 上傳數(shù)據(jù)的應(yīng)用程序信息: 應(yīng)用程序名稱, 版本號(hào)等 數(shù)據(jù)類型信息: 對(duì)應(yīng)到具體的數(shù)據(jù)類型 數(shù)據(jù)類型(DataType)數(shù)據(jù)類型是小米健康云上傳,下載以及存儲(chǔ)的基本數(shù)據(jù)組織格式. 用戶在使用小米健康云之前,必須要確定自己設(shè)備采集到的數(shù)據(jù)種類,然后選取小米健康云定義好的數(shù)據(jù)類型來(lái)組織這些數(shù)據(jù). 接下來(lái)才能創(chuàng)建相應(yīng)的數(shù)據(jù)源, 上傳下載自己的數(shù)據(jù).
目前用戶只能使用小米健康云定義好的數(shù)據(jù)類型, 不能自定義數(shù)據(jù)類型. 如果用戶確實(shí)有使用自定義數(shù)據(jù)類型的需求, 請(qǐng)聯(lián)系我們: DevFit@xiaomi.com. 目前新的數(shù)據(jù)類型只能線下添加, 然后重新部署并發(fā)布服務(wù).
設(shè)備(Device)設(shè)備描述用戶采集數(shù)據(jù)時(shí)的傳感器設(shè)備信息, 也是原始數(shù)據(jù)來(lái)源.
應(yīng)用程序(Application)應(yīng)用程序描述了創(chuàng)建數(shù)據(jù)源的應(yīng)用程序信息, 也可以描述上傳下載用戶數(shù)據(jù)所使用的應(yīng)用程序信息.
數(shù)據(jù)點(diǎn)(DataPoint)數(shù)據(jù)點(diǎn)描述的是某個(gè)時(shí)刻或者某個(gè)時(shí)間間隔內(nèi),設(shè)備采集到的數(shù)據(jù), 這些數(shù)據(jù)需要符合某個(gè)數(shù)據(jù)類型. 每個(gè)數(shù)據(jù)點(diǎn)都必須要有一個(gè)采集該數(shù)據(jù)時(shí)的時(shí)間戳(EndTime), 如果數(shù)據(jù)點(diǎn)是瞬時(shí)數(shù)據(jù), 則不需要提供起始時(shí)間(startTime); 如果數(shù)據(jù)點(diǎn)表示某個(gè)時(shí)間間隔內(nèi)的數(shù)據(jù),則需要提供該間隔時(shí)段的起始時(shí)間(StartTime).
每個(gè)數(shù)據(jù)點(diǎn)在上傳到服務(wù)器時(shí), 都必須為其標(biāo)識(shí)一個(gè)數(shù)據(jù)源Id信息,表示該數(shù)據(jù)點(diǎn)屬于哪個(gè)數(shù)據(jù)源. 實(shí)際上, 用戶在和服務(wù)器交互管理數(shù)據(jù)點(diǎn)時(shí), 任何操作都必須提供數(shù)據(jù)源Id信息.
數(shù)據(jù)集(Dataset)數(shù)據(jù)集是客戶端和服務(wù)器交互操作數(shù)據(jù)點(diǎn)時(shí)的數(shù)據(jù)結(jié)構(gòu)概念. 由于每個(gè)數(shù)據(jù)點(diǎn)通常都比較小, 而且數(shù)據(jù)點(diǎn)的采集頻率比較高, 所以每采集到一個(gè)數(shù)據(jù)點(diǎn)就上傳到服務(wù)器一次, 或者下載數(shù)據(jù)點(diǎn)時(shí)一個(gè)一個(gè)下載, 都會(huì)對(duì)服務(wù)器造成很大壓力. 因此, 小米健康云使用數(shù)據(jù)集來(lái)組織零散的數(shù)據(jù)點(diǎn), 以數(shù)據(jù)集為單位和服務(wù)器交互.
比如上傳數(shù)據(jù)點(diǎn)時(shí), 用戶需要采集到一定數(shù)量的數(shù)據(jù)點(diǎn), 然后把這些數(shù)據(jù)點(diǎn)組織成一個(gè)數(shù)據(jù)集, 再把這個(gè)數(shù)據(jù)集上傳到服務(wù)器. 下載時(shí)也是先指定數(shù)據(jù)源信息和時(shí)間范圍, 然后到服務(wù)器下載一個(gè)數(shù)據(jù)集.
3. 數(shù)據(jù)格式
該部分會(huì)詳細(xì)描述各個(gè)數(shù)據(jù)格式的字段信息和組織格式.
Application - 應(yīng)用程序Application描述創(chuàng)建數(shù)據(jù)源的應(yīng)用程序信息, 也可以描述上傳下載用戶數(shù)據(jù)所用的應(yīng)用程序信息
字段名稱 類型 選填 說(shuō)明 name String required 應(yīng)用程序名稱. 該名稱并不要求唯一, 同一用戶可以在多個(gè)數(shù)據(jù)源中使用相同的應(yīng)用程序名稱. packageName String optional 應(yīng)用程序的包名 detailsUrl String optional 回調(diào)URL, 用戶可以通過(guò)該URL查看應(yīng)用程序詳細(xì)信息 os String optional 該應(yīng)用程序所運(yùn)行的系統(tǒng)平臺(tái)名稱, 比如安卓, iOS version String optional 應(yīng)用程序版本號(hào). 如果應(yīng)用程序的更新影響到了數(shù)據(jù)的計(jì)算方式, 那么用戶應(yīng)該更新此版本號(hào). DataPoint - 數(shù)據(jù)點(diǎn)DataPoint是小米健康云對(duì)運(yùn)動(dòng)健身數(shù)據(jù)的最小存儲(chǔ)單位, 也是數(shù)據(jù)采集單位. 每個(gè)data point表示某個(gè)時(shí)間點(diǎn)或時(shí)間間隔內(nèi)的數(shù)據(jù)記錄
字段名稱 類型 選填 說(shuō)明 dataTypeName String required 數(shù)據(jù)類型名稱,該數(shù)據(jù)類型名稱是DataType的名稱,并且只能是小米健康云內(nèi)置的DataType的名稱,目前不支持用戶自定義擴(kuò)展的數(shù)據(jù)類型. startTimeNanos Long optional DataPoint的起始時(shí)間, timestamp類型. 有的DataType表示一個(gè)時(shí)間間隔的數(shù)據(jù),此時(shí)需要DataPoint提供startTimeNanos, 而有的DataType表示瞬時(shí)數(shù)據(jù), 此時(shí)不需要DataPoint提供startTimeNanos endTimeNanos Long required DataPoint截止時(shí)間, timestamp類型. 所有DataTypes都要求提供endTimeNanos computationTimeMillis Long optional DataPoint的計(jì)算時(shí)間戳, timestamp類型. 這個(gè)字段用于傳輸過(guò)程中的版本檢查, 如果用戶需要用一個(gè)DataPoint a替換小米健康云中已存在的DataPoint b. 則必須保證a的computationTimeMillis比b的computationTimeMillis新. 同時(shí)還需要保證a的computationTimeMillis必須存在, 另外如果b沒(méi)有設(shè)置computationTimeMillis, 則認(rèn)為其一定比a要舊. modifiedTimeMillis Long optional 表示datapoint最后一次被修改的時(shí)間 originDataSourceId String optional 如果datapoint包含在一個(gè)derived數(shù)據(jù)源的dataset中, 那么用戶需要提供該字段的值, 來(lái)表明是哪個(gè)數(shù)據(jù)源最初創(chuàng)建了這個(gè)datapoint rawTimestampNanos Long optional 從設(shè)備傳感器讀取該data point數(shù)據(jù)時(shí)的數(shù)據(jù), 讀取raw類型數(shù)據(jù)時(shí)的時(shí)間. value Value required 該data point所攜帶的值, 可能是多個(gè)值, 取決于data point所屬數(shù)據(jù)類型是一維還是多維. data point包含的value數(shù)量和類型必須和其所屬的DataType保持一致. Dataset - 數(shù)據(jù)集數(shù)據(jù)集是客戶端和服務(wù)器交互操作數(shù)據(jù)點(diǎn)時(shí)的數(shù)據(jù)結(jié)構(gòu)概念
字段名稱 類型 選填 說(shuō)明 dataSourceId String required 數(shù)據(jù)源Id, 該值為創(chuàng)建DataSource時(shí)返回的DataStreamId. 用戶在創(chuàng)建DataSource后, 需要存儲(chǔ)返回報(bào)文中的dataStreamId, 并在后面的dataset中使用該dataStreamId minStartTimeNs Long required 如果Dataset所包含的DataPoint有startTimeNanos, 那么該值為這個(gè)Dataset所有DataPoint的最小startTimeNanos, 否則該值為這個(gè)Dataset所有DataPoint的最小endTimeNanos maxEndTimeNs Long required 該值為這個(gè)Dataset所有DataPoint的最大endTimeNanos nextPageToken String optional 數(shù)據(jù)集的分頁(yè)標(biāo)識(shí). 在一次用戶請(qǐng)求中, 當(dāng)符合條件的data point數(shù)量過(guò)多(超過(guò)1000個(gè))時(shí), 服務(wù)端只會(huì)在返回的dataset中填充1000個(gè)data point, 然后設(shè)置一個(gè)nextPageToken標(biāo)識(shí). 當(dāng)用戶繼續(xù)請(qǐng)求后面的數(shù)據(jù)時(shí), 需要攜帶這個(gè)nextPageToken作為分頁(yè)標(biāo)識(shí), 服務(wù)端會(huì)依據(jù)該分頁(yè)標(biāo)識(shí)從下一頁(yè)開始掃描數(shù)據(jù). point DataPoint required 該dataset攜帶的數(shù)據(jù)點(diǎn)列表, 關(guān)于數(shù)據(jù)點(diǎn)的具體文檔請(qǐng)參考DataPoint文檔 DataSource - 數(shù)據(jù)源<數(shù)據(jù)源是對(duì)用戶數(shù)據(jù)的描述. 小米健康云使用數(shù)據(jù)源來(lái)標(biāo)識(shí)用戶上傳的數(shù)據(jù), 每個(gè)數(shù)據(jù)都必須有且只有一個(gè)數(shù)據(jù)源標(biāo)識(shí)/p>
字段名稱 類型 選填 說(shuō)明 name String optional 數(shù)據(jù)源名,對(duì)于同一個(gè)用戶而言,name是可以重復(fù)的. 數(shù)據(jù)源名稱是人類可讀的,應(yīng)該有實(shí)際含義的 type Integer required 數(shù)據(jù)源類型,目前數(shù)據(jù)源類型只有兩種:raw和derived.由于數(shù)據(jù)是通過(guò)app讀取傳感器設(shè)備,然后再經(jīng)由該app上傳到MiFitStore,所以如果app對(duì)數(shù)據(jù)進(jìn)行了加工處理.那么數(shù)據(jù)源類型應(yīng)該是derived,否則應(yīng)該是raw. 數(shù)據(jù)源類型是枚舉值:rawderived在創(chuàng)建數(shù)據(jù)源的時(shí)候,應(yīng)該提供其枚舉整型值,而非字符串, 具體請(qǐng)參考DataSourceType文檔 dataStreamId String optional 數(shù)據(jù)源ID值,該值是由服務(wù)端生成,對(duì)于同一用戶,數(shù)據(jù)源的dataStreamId是唯一的.用戶在創(chuàng)建數(shù)據(jù)源時(shí),不需要提供dataStreamId.服務(wù)端在創(chuàng)建數(shù)據(jù)源成功后,會(huì)在返回報(bào)文中包含dataStreamId.用戶應(yīng)該從返回報(bào)文中獲取該數(shù)據(jù)源的dataStreamId,然后在后續(xù)和該數(shù)據(jù)源的相關(guān)交互中,提供該dataStreamId. dataStreamName String optional 數(shù)據(jù)流名稱,對(duì)于同一用戶而言,數(shù)據(jù)流名稱可以重復(fù). 數(shù)據(jù)流名稱對(duì)應(yīng)的是采集數(shù)據(jù)的傳感器的名稱 dataType DataType required 數(shù)據(jù)源標(biāo)識(shí)數(shù)據(jù)的數(shù)據(jù)類型, 具體請(qǐng)參考DataType文檔 device Device required 數(shù)據(jù)源標(biāo)識(shí)數(shù)據(jù)的設(shè)備信息, 具體請(qǐng)參考Device文檔 application Application required 數(shù)據(jù)源標(biāo)識(shí)數(shù)據(jù)的應(yīng)用程序信息,具體請(qǐng)參考Application文檔 DataSourceType - 數(shù)據(jù)源類型
DataSourceType描述的是應(yīng)用程序是否對(duì)傳感器采集的數(shù)據(jù)進(jìn)行加工.傳感器采集的數(shù)據(jù)是raw類型數(shù)據(jù),這些數(shù)據(jù)需要通過(guò)app上傳到MiFitStore.如果app在上傳數(shù)據(jù)之前,對(duì)傳感器采集到的數(shù)據(jù)進(jìn)行了加工處理,那么DataSourceType應(yīng)該設(shè)置為derived,否則應(yīng)該為raw
類型值 類型名稱 1 raw 2 derived DataType - 數(shù)據(jù)類型DataType定義了數(shù)據(jù)被收集, 存儲(chǔ)和使用的schema. DataType只是用來(lái)定義數(shù)據(jù)被收集, 存儲(chǔ)和展示的格式, 并不定義數(shù)據(jù)如何被收集和展示.
小米健康云提供了豐富的數(shù)據(jù)類型, 同一種類數(shù)據(jù)可以用不同數(shù)據(jù)類型來(lái)表示, 這取決于數(shù)據(jù)如何展示. 例如: 數(shù)據(jù)類型com.xiaomi.micloud.fit.step_count.delta表示兩次讀取之間的走路步數(shù)(新增的步數(shù)); 而數(shù)據(jù)類型com.google.step_count.cumulative表示從開始起的總步數(shù).
每種數(shù)據(jù)類型可包含若干個(gè)數(shù)據(jù)字段(每個(gè)字段就是一個(gè)field), 并且根據(jù)字段數(shù)量可分為一維數(shù)據(jù)類型和多維數(shù)據(jù)類型. 一維數(shù)據(jù)類型只包含一個(gè)字段; 而多維數(shù)據(jù)類型(比如表示位置的location類型, 就有l(wèi)atitude, longitude和accuracy等多個(gè)字段)的每個(gè)字段都代表一個(gè)維度. 同一數(shù)據(jù)類型的每個(gè)字段都有一個(gè)唯一名稱, 字段也定義了數(shù)據(jù)的格式(int, float).
數(shù)據(jù)類型也可以分為瞬時(shí)值類型和非瞬時(shí)值類型, 瞬時(shí)值數(shù)據(jù)類型指某個(gè)時(shí)間點(diǎn)采集的數(shù)據(jù), 而非瞬時(shí)值數(shù)據(jù)類型表示某個(gè)時(shí)間段采集的數(shù)據(jù). 瞬時(shí)值數(shù)據(jù)類型對(duì)應(yīng)的data point只需要設(shè)置endTime, 而不需要設(shè)置startTime; 非瞬時(shí)值數(shù)據(jù)類型對(duì)應(yīng)的data point需要同時(shí)設(shè)置startTime和endTime.
數(shù)據(jù)類型名稱 數(shù)據(jù)類型描述 TYPE_ACTIVITY_SAMPLE(com.xiaomi.micloud.fit.activity.sample) 瞬時(shí)值, 多維數(shù)據(jù)類型
每個(gè)data point代表當(dāng)前activity的瞬時(shí)樣本值, 該data point有兩個(gè)字段:activity: 一個(gè)表示activity類型的整數(shù)值(每個(gè)activity類型都用一個(gè)整數(shù)常量來(lái)表示)confidence: 是一個(gè)介于0.0-100.0之間的float值. 如果這個(gè)confidence未知, 那么可以使用一個(gè)負(fù)數(shù)來(lái)表示該字段的值如果同一時(shí)刻多個(gè)activity被探測(cè)到, 并且每個(gè)activity有不同的confidence值, 那么可以使用多個(gè)data points來(lái)表示. 這些data point使用相同的timestamp, 但是值不相同 TYPE_ACTIVITY_SEGMENT
(com.xiaomi.micloud.fit.activity.segment) 非瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point代表一個(gè)持續(xù)的時(shí)間間隔和一個(gè)activity整數(shù)值
一個(gè)activity的多個(gè)data points的起止時(shí)間不能有重疊, 但是可以不連續(xù). 如果兩個(gè)activities同時(shí)發(fā)生, 最顯著的那個(gè)被選擇, 另一個(gè)被舍棄. TYPE_BASAL_METABOLIC_RATE
(com.xiaomi.micloud.fit.calories.bmr) 瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示用戶休息時(shí), 能量消耗的基礎(chǔ)代謝率. 單位是 kcal/day(千卡/天) TYPE_BODY_FAT_PERCENTAGE
(com.xiaomi.micloud.fit.body.fat.percentage) 瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示一次測(cè)試結(jié)果. 該測(cè)量結(jié)果表示人體總脂肪量和身體重量之間的比值 TYPE_CALORIES_EXPENDED
(com.xiaomi.micloud.fit.calories.expended) 非瞬時(shí)值,一維數(shù)據(jù)類型
每個(gè)data point表示該數(shù)據(jù)點(diǎn)起止時(shí)間間隔內(nèi)消耗的卡路里的數(shù)量, 單位是千卡. 該數(shù)據(jù)值是float類型.
startTime和endTime都需要賦值, 表示所消耗卡路里的時(shí)間間隔 TYPE_CYCLING_PEDALING_CADENCE
(com.xiaomi.micloud.fit.cycling.cadence) 瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示針對(duì)騎自行車時(shí)蹬踏速率的一次瞬時(shí)測(cè)量, 這個(gè)速率是每分鐘的曲柄轉(zhuǎn)速. TYPE_CYCLING_PEADING_CUMULATIVE
(com.xiaomi.micloud.fit.cycling.pedaling.cumulative) 非瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示從計(jì)數(shù)開始到當(dāng)前時(shí)間的腳踏板旋轉(zhuǎn)數(shù). 當(dāng)使用這個(gè)數(shù)據(jù)類型時(shí), 每次旋轉(zhuǎn)都可以被計(jì)算多次, 因?yàn)槊總€(gè)data point的值都是單調(diào)遞增的. 如果想要計(jì)算某個(gè)時(shí)間間隔內(nèi)的旋轉(zhuǎn)數(shù), 應(yīng)該使用間隔時(shí)間截止時(shí)刻的值減去間隔時(shí)間開始時(shí)刻的值
注意: 在實(shí)際操作中, 數(shù)據(jù)源有可能會(huì)重置count為0. 如果可行的話, 數(shù)據(jù)源在創(chuàng)建data point時(shí), 應(yīng)該把data point的startTime設(shè)置成本次開始計(jì)數(shù)時(shí)的時(shí)間點(diǎn). 相應(yīng)的, 如果某個(gè)data point的值是0, 這也就表明此時(shí)計(jì)數(shù)被重置了 TYPE_CYCLING_WHEEL_REVOLUTION
(com.xiaomi.micloud.fit.cycling.wheel_revolution.cumulative) 非瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示從計(jì)數(shù)開始到當(dāng)前時(shí)間的車輪旋轉(zhuǎn)數(shù), 具體細(xì)節(jié)請(qǐng)參考TYPE_CYCLING_PEADING_CUMULATIVE TYPE_CYCLING_WHEEL_RPM
(com.xiaomi.micloud.fit.cycling.wheel.revolutions) 瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示針對(duì)騎自行車時(shí)車輪旋轉(zhuǎn)速率的一次瞬時(shí)測(cè)量, 這個(gè)速率是每分鐘的車輪旋轉(zhuǎn)次數(shù) TYPE_DISTANCE_DELTA
(com.xiaomi.micloud.fit.distance.delta) 非瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示從上一次讀取到現(xiàn)在所經(jīng)過(guò)的距離, 單位是米. 某個(gè)時(shí)間段內(nèi)走過(guò)的距離可以通過(guò)計(jì)算該時(shí)間段內(nèi)所有data points的值來(lái)獲得.
data point的startTime是該段距離開始時(shí)的時(shí)間, 該data point的startTime必須等于或者大于前一個(gè)data point的endTime TYPE_HEART_RATE_BPM
(com.xiaomi.micloud.fit.heart_rate.bpm) 瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示一次心跳的瞬時(shí)測(cè)量值, 該值是測(cè)量時(shí)刻往前一分鐘的心跳數(shù) TYPE_HEIGHT
(com.xiaomi.micloud.fit.height) 瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示用戶身高的一次測(cè)量值, 單位是米 TYPE_LOCATION_SAMPLE
(com.xiaomi.micloud.fit.location.sample) 瞬時(shí)值, 多維數(shù)據(jù)類型
每個(gè)data point表示測(cè)量瞬間用戶所在的位置, 該data point有4個(gè)字段:latitude: 表示緯度的float值, 單位是度longitude: 表示經(jīng)度的float值, 單位是度accuracy: 表示精度的float值, 單位是米altitude: 表示海拔高度的float值, 單位是米. 大多數(shù)移動(dòng)設(shè)備在提供海拔信息時(shí), 測(cè)量的海拔數(shù)據(jù)會(huì)有25米左右的偏差. 所以為了提高精度, 可以使用多次測(cè)量的平均值; 或者使用另一個(gè)可以精確測(cè)量海拔高度的數(shù)據(jù)源,. 如果海拔信息不能檢測(cè)到, 可以不設(shè)置該字段 TYPE_LOCATION_TRACK
(com.xiaomi.micloud.fit.location.track) 非瞬時(shí)值, 多維數(shù)據(jù)類型
每個(gè)data point表示一個(gè)track的一部分, 這個(gè)data point可能沒(méi)有精確的時(shí)間戳
它的字段和TYPE_LOCATION_SAMPLE是一樣的. 二者的區(qū)別是: location.sample擁有精確的時(shí)間戳, 而location.track擁有的是不精確的一個(gè)時(shí)間間隔. location.sample表示某個(gè)時(shí)間點(diǎn)用戶所在的位置, 而location.track表示某個(gè)時(shí)間間隔期間, 用戶所在的位置. 對(duì)于location.track來(lái)說(shuō), startTime必須設(shè)置, 即使它的startTime和endTime是一樣的
location.track可以用于記錄用戶在某次活動(dòng)過(guò)程中的運(yùn)動(dòng)軌跡 TYPE_POWER_SAMPLE
(com.xiaomi.micloud.fit.power.sample) 瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示對(duì)功率的一次瞬時(shí)測(cè)量, 單位是瓦特. 字段值是float型 TYPE_SPEED
(com.xiaomi.micloud.fit.speed) 瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示一個(gè)地面上的瞬時(shí)速率, 單位是米/秒. 該值表示速度的標(biāo)量值, 所以不可能是負(fù)值 TYPE_STEP_COUNT_CADENCE
(com.xiaomi.micloud.fit.step.count.cadence) 瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示對(duì)步頻的一次測(cè)量值, 該步頻是指每分鐘的步數(shù).
步頻是針對(duì)兩只腳的和, 如果某個(gè)傳感器只能測(cè)量一只腳的步頻, 那么data point的值應(yīng)該是這個(gè)傳感器測(cè)量值的兩倍 TYPE_STEP_COUNT_DELTA
(com.xiaomi.micloud.fit.step.count.delta) 非瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示從上次測(cè)量時(shí)刻到本次測(cè)量時(shí)刻之間, 走路的步數(shù). 在使用這個(gè)數(shù)據(jù)類型時(shí), 每一步只能被計(jì)算一次, 只要把一個(gè)時(shí)間段內(nèi)的數(shù)據(jù)都加在一起, 就能很容易計(jì)算出這個(gè)時(shí)間段內(nèi)走路的總步數(shù)
例如, 某個(gè)人一共走了5步, 做了3次測(cè)量. 測(cè)量值有可能是[1,2,2]
startTime和endTime都需要設(shè)置, startTime必須小于或者等于endTime TYPE_WEIGHT
(com.xiaomi.micloud.fit.weight) 瞬時(shí)值, 一維數(shù)據(jù)類型
每個(gè)data point表示測(cè)量時(shí)刻用戶的體重, 單位是千克 Device - 設(shè)備
Device描述采集用戶運(yùn)動(dòng)健身數(shù)據(jù)的設(shè)備信息
字段名稱 類型 選填 manufacturer String required model String required version String required uid String required type Integer required DeviceType - 設(shè)備類型DeviceType是指采集運(yùn)動(dòng)健身相關(guān)數(shù)據(jù)的設(shè)備類型. 小米健康云定義了一些設(shè)備類型, 目前設(shè)備類型不支持用戶自定義擴(kuò)展. 對(duì)于小米健康云未定義的設(shè)備, 應(yīng)該使用unknown類型. 注意: 設(shè)備類型是枚舉類型.
類型值 類型名稱 1 unknown 2 phone 3 tablet 4 watch 5 chest_strap 6 scale 7 band4. SDK下載與接入使用說(shuō)明
SDK運(yùn)行平臺(tái) 發(fā)布日期 下載連接 系統(tǒng)版本約束 接入使用說(shuō)明 Android 2015-07-19 點(diǎn)擊下載 最低支持: Android2.2 Android SDK使用說(shuō)明 iOS 2015-07-19 點(diǎn)擊下載 最低支持: iOS 5.0 iOS SDK使用說(shuō)明5. FAQ
在集成使用過(guò)程中遇到任何問(wèn)題, 請(qǐng)聯(lián)系我們:DevFit@xiaomi.com. 也可以添加QQ群: 385428920, 群中會(huì)有工程師解答您的問(wèn)題.
相關(guān)知識(shí)
小米健康云開放平臺(tái)用戶文檔
小米健康云開放平臺(tái)iOS SDK使用指南
心理健康云平臺(tái)
衛(wèi)生云計(jì)算平臺(tái)及健康檔案系統(tǒng)介紹
健康云管理平臺(tái)
平安健康云以金融級(jí)別安全保障 構(gòu)建開放式電子病歷平臺(tái)
基于云計(jì)算技術(shù)的全民健康檔案數(shù)字化平臺(tái)構(gòu)建
微信開放文檔
上海健康云平臺(tái)
哈爾濱通過(guò)健康云平臺(tái)建立電子健康檔案
網(wǎng)址: 小米健康云開放平臺(tái)用戶文檔 http://m.u1s5d6.cn/newsview1146708.html
推薦資訊
- 1發(fā)朋友圈對(duì)老公徹底失望的心情 12775
- 2BMI體重指數(shù)計(jì)算公式是什么 11235
- 3補(bǔ)腎吃什么 補(bǔ)腎最佳食物推薦 11199
- 4性生活姿勢(shì)有哪些 盤點(diǎn)夫妻性 10425
- 5BMI正常值范圍一般是多少? 10137
- 6在線基礎(chǔ)代謝率(BMR)計(jì)算 9652
- 7一邊做飯一邊躁狂怎么辦 9138
- 8從出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7826