现阶段本产品只对小米生态链企业及合作伙伴正式开放.
小米健康云是一个构建在小米云平台之上的开放平台,它可以存储并管理用户的各种设备收集到的运动健身数据.这些数据由用户使用的各种设备收集并处理,然后通过应用程序上传到小米健康云进行存储和管理.
小米健康云的主要功能:
能够存储来自任何可穿戴设备或者传感器的数据 存储的数据能够被任何应用程序访问 用户升级设备或者应用程序时,数据使用不受影响 支持用户权限管理,保护用户隐私如果用户有一个能够采集健身运动数据的设备, 那么小米健康云的使用流程和场景如下
用户确定该设备能够采集到的数据种类,然后选取小米健康云已定义好的相对应的若干数据类型 针对每种选定的数据类型,分别创建相应的数据源(DataSource),并获得相应的数据源Id 采集数据并把每个数据都标记相应的数据源Id,然后上传到小米健康云 如果用户需要下载使用这些数据,也可以使用相应的数据源Id到小米健康云下载数据小米健康云定义了一组概念, 这些概念用来描述数据组织格式和用户活动.
数据源(DataSource)数据源是对用户数据的描述. 小米健康云使用数据源来标识用户上传的数据, 每个数据都必须有且只有一个数据源标识. 所以用户在上传一组数据时, 必须先创建一个数据源或者使用已有的数据源,为这组数据进行标识.同理, 用户在下载数据时,也需要指定下载哪个数据源标识的数据.
数据源从4个方面对数据进行标识
数据源的一些基本信息: 数据源名称, 数据源类型等 采集数据的设备信息: 设备型号, 名称, UID等 上传数据的应用程序信息: 应用程序名称, 版本号等 数据类型信息: 对应到具体的数据类型 数据类型(DataType)数据类型是小米健康云上传,下载以及存储的基本数据组织格式. 用户在使用小米健康云之前,必须要确定自己设备采集到的数据种类,然后选取小米健康云定义好的数据类型来组织这些数据. 接下来才能创建相应的数据源, 上传下载自己的数据.
目前用户只能使用小米健康云定义好的数据类型, 不能自定义数据类型. 如果用户确实有使用自定义数据类型的需求, 请联系我们: DevFit@xiaomi.com. 目前新的数据类型只能线下添加, 然后重新部署并发布服务.
设备(Device)设备描述用户采集数据时的传感器设备信息, 也是原始数据来源.
应用程序(Application)应用程序描述了创建数据源的应用程序信息, 也可以描述上传下载用户数据所使用的应用程序信息.
数据点(DataPoint)数据点描述的是某个时刻或者某个时间间隔内,设备采集到的数据, 这些数据需要符合某个数据类型. 每个数据点都必须要有一个采集该数据时的时间戳(EndTime), 如果数据点是瞬时数据, 则不需要提供起始时间(startTime); 如果数据点表示某个时间间隔内的数据,则需要提供该间隔时段的起始时间(StartTime).
每个数据点在上传到服务器时, 都必须为其标识一个数据源Id信息,表示该数据点属于哪个数据源. 实际上, 用户在和服务器交互管理数据点时, 任何操作都必须提供数据源Id信息.
数据集(Dataset)数据集是客户端和服务器交互操作数据点时的数据结构概念. 由于每个数据点通常都比较小, 而且数据点的采集频率比较高, 所以每采集到一个数据点就上传到服务器一次, 或者下载数据点时一个一个下载, 都会对服务器造成很大压力. 因此, 小米健康云使用数据集来组织零散的数据点, 以数据集为单位和服务器交互.
比如上传数据点时, 用户需要采集到一定数量的数据点, 然后把这些数据点组织成一个数据集, 再把这个数据集上传到服务器. 下载时也是先指定数据源信息和时间范围, 然后到服务器下载一个数据集.
该部分会详细描述各个数据格式的字段信息和组织格式.
Application - 应用程序Application描述创建数据源的应用程序信息, 也可以描述上传下载用户数据所用的应用程序信息
字段名称 类型 选填 说明 name String required 应用程序名称. 该名称并不要求唯一, 同一用户可以在多个数据源中使用相同的应用程序名称. packageName String optional 应用程序的包名 detailsUrl String optional 回调URL, 用户可以通过该URL查看应用程序详细信息 os String optional 该应用程序所运行的系统平台名称, 比如安卓, iOS version String optional 应用程序版本号. 如果应用程序的更新影响到了数据的计算方式, 那么用户应该更新此版本号. DataPoint - 数据点DataPoint是小米健康云对运动健身数据的最小存储单位, 也是数据采集单位. 每个data point表示某个时间点或时间间隔内的数据记录
字段名称 类型 选填 说明 dataTypeName String required 数据类型名称,该数据类型名称是DataType的名称,并且只能是小米健康云内置的DataType的名称,目前不支持用户自定义扩展的数据类型. startTimeNanos Long optional DataPoint的起始时间, timestamp类型. 有的DataType表示一个时间间隔的数据,此时需要DataPoint提供startTimeNanos, 而有的DataType表示瞬时数据, 此时不需要DataPoint提供startTimeNanos endTimeNanos Long required DataPoint截止时间, timestamp类型. 所有DataTypes都要求提供endTimeNanos computationTimeMillis Long optional DataPoint的计算时间戳, timestamp类型. 这个字段用于传输过程中的版本检查, 如果用户需要用一个DataPoint a替换小米健康云中已存在的DataPoint b. 则必须保证a的computationTimeMillis比b的computationTimeMillis新. 同时还需要保证a的computationTimeMillis必须存在, 另外如果b没有设置computationTimeMillis, 则认为其一定比a要旧. modifiedTimeMillis Long optional 表示datapoint最后一次被修改的时间 originDataSourceId String optional 如果datapoint包含在一个derived数据源的dataset中, 那么用户需要提供该字段的值, 来表明是哪个数据源最初创建了这个datapoint rawTimestampNanos Long optional 从设备传感器读取该data point数据时的数据, 读取raw类型数据时的时间. value Value required 该data point所携带的值, 可能是多个值, 取决于data point所属数据类型是一维还是多维. data point包含的value数量和类型必须和其所属的DataType保持一致. Dataset - 数据集数据集是客户端和服务器交互操作数据点时的数据结构概念
字段名称 类型 选填 说明 dataSourceId String required 数据源Id, 该值为创建DataSource时返回的DataStreamId. 用户在创建DataSource后, 需要存储返回报文中的dataStreamId, 并在后面的dataset中使用该dataStreamId minStartTimeNs Long required 如果Dataset所包含的DataPoint有startTimeNanos, 那么该值为这个Dataset所有DataPoint的最小startTimeNanos, 否则该值为这个Dataset所有DataPoint的最小endTimeNanos maxEndTimeNs Long required 该值为这个Dataset所有DataPoint的最大endTimeNanos nextPageToken String optional 数据集的分页标识. 在一次用户请求中, 当符合条件的data point数量过多(超过1000个)时, 服务端只会在返回的dataset中填充1000个data point, 然后设置一个nextPageToken标识. 当用户继续请求后面的数据时, 需要携带这个nextPageToken作为分页标识, 服务端会依据该分页标识从下一页开始扫描数据. point DataPoint required 该dataset携带的数据点列表, 关于数据点的具体文档请参考DataPoint文档 DataSource - 数据源<数据源是对用户数据的描述. 小米健康云使用数据源来标识用户上传的数据, 每个数据都必须有且只有一个数据源标识/p>
字段名称 类型 选填 说明 name String optional 数据源名,对于同一个用户而言,name是可以重复的. 数据源名称是人类可读的,应该有实际含义的 type Integer required 数据源类型,目前数据源类型只有两种:raw和derived.由于数据是通过app读取传感器设备,然后再经由该app上传到MiFitStore,所以如果app对数据进行了加工处理.那么数据源类型应该是derived,否则应该是raw. 数据源类型是枚举值:rawderived在创建数据源的时候,应该提供其枚举整型值,而非字符串, 具体请参考DataSourceType文档 dataStreamId String optional 数据源ID值,该值是由服务端生成,对于同一用户,数据源的dataStreamId是唯一的.DataSourceType描述的是应用程序是否对传感器采集的数据进行加工.传感器采集的数据是raw类型数据,这些数据需要通过app上传到MiFitStore.如果app在上传数据之前,对传感器采集到的数据进行了加工处理,那么DataSourceType应该设置为derived,否则应该为raw
类型值 类型名称 1 raw 2 derived DataType - 数据类型DataType定义了数据被收集, 存储和使用的schema. DataType只是用来定义数据被收集, 存储和展示的格式, 并不定义数据如何被收集和展示.
小米健康云提供了丰富的数据类型, 同一种类数据可以用不同数据类型来表示, 这取决于数据如何展示. 例如: 数据类型com.xiaomi.micloud.fit.step_count.delta表示两次读取之间的走路步数(新增的步数); 而数据类型com.google.step_count.cumulative表示从开始起的总步数.
每种数据类型可包含若干个数据字段(每个字段就是一个field), 并且根据字段数量可分为一维数据类型和多维数据类型. 一维数据类型只包含一个字段; 而多维数据类型(比如表示位置的location类型, 就有latitude, longitude和accuracy等多个字段)的每个字段都代表一个维度. 同一数据类型的每个字段都有一个唯一名称, 字段也定义了数据的格式(int, float).
数据类型也可以分为瞬时值类型和非瞬时值类型, 瞬时值数据类型指某个时间点采集的数据, 而非瞬时值数据类型表示某个时间段采集的数据. 瞬时值数据类型对应的data point只需要设置endTime, 而不需要设置startTime; 非瞬时值数据类型对应的data point需要同时设置startTime和endTime.
数据类型名称 数据类型描述 TYPE_ACTIVITY_SAMPLEDevice描述采集用户运动健身数据的设备信息
字段名称 类型 选填 manufacturer String required model String required version String required uid String required type Integer required DeviceType - 设备类型DeviceType是指采集运动健身相关数据的设备类型. 小米健康云定义了一些设备类型, 目前设备类型不支持用户自定义扩展. 对于小米健康云未定义的设备, 应该使用unknown类型. 注意: 设备类型是枚举类型.
类型值 类型名称 1 unknown 2 phone 3 tablet 4 watch 5 chest_strap 6 scale 7 band在集成使用过程中遇到任何问题, 请联系我们:DevFit@xiaomi.com. 也可以添加QQ群: 385428920, 群中会有工程师解答您的问题.
相关知识
小米健康云开放平台用户文档
小米健康云开放平台iOS SDK使用指南
心理健康云平台
卫生云计算平台及健康档案系统介绍
健康云管理平台
平安健康云以金融级别安全保障 构建开放式电子病历平台
基于云计算技术的全民健康档案数字化平台构建
微信开放文档
上海健康云平台
哈尔滨通过健康云平台建立电子健康档案
网址: 小米健康云开放平台用户文档 https://m.trfsz.com/newsview1146708.html