数据交换功能(新)

10.1功能概述

当在App发起运动时,手环会从App产生的运动数据计算心率和卡路里返回App实现数据交换; 当手环发起运动时,手环产生的运动数据定时发送到App,实时展示运动数据。交换数据是以时间作为唯一参照,交换过程需要通过运动开始时间判断当前活动数据,如果时间对应不了,则无法交换数据。

10.2初始化运动数据

参数 说明 备注
v2Model 当前交互v2数据模型 IDOV2DataExchangeModel
v3Model 当前交互v3数据模型 IDOV3DataExchangeModel
isV3ActivityExchange 是否为v3活动数据交换 bool (否则为v2活动数据交换)
exchangeStatus 数据交换过程状态 Enum (IDO_EXCHANGE_DATA_STATUS)
isNewDataExchange 是否使用新的数据交互 内部使用,区分旧的数据交换方法
delegate 代理对象 id
  • IDOV2DataExchangeModel
参数 说明 备注
day int
hour int
minute int
second int
sportType 运动类型

当功能表 v3SportsType、set100SportSort 支持,运动类型从48开始,1-29运动类型为v2协议

运动类型参照 IDOSportTypes文件说明
targetType 目标类型 int
0x00:无目标, 0x01:重复次数,单位:次,
0x02:距离,单位:米, 0x03:卡路里, 单位:大卡,
0x04:时长,单位:分钟, 0x05: 步数, 单位:步
targetValue 目标数值 int
forceStart 是否强制开始 int
retCode 进入运动状态 0:成功;
1:设备已经进入运动模式失败;
2: 设备电量低失败;
3:手环正在充电
4:正在使用Alexa
5:通话中
calories 卡路里 int (单位:J)
distance 距离 int (单位:米)
durations 持续时间 int (单位:分钟)
step 步数 int (单位:步)
avgHrValue 平均心率 int
maxHrValue 最大心率 int
burnFatMins 脂肪燃烧时长 int (分钟)
aerobicMins 心肺锻炼时长 int (分钟)
limitMins 极限锻炼时长 int (分钟)
isSave 是否存储 BOOL
status 状态 0:全部有效,
1:距离无效,
2: gps 信号弱
curHrValue 当前心率 int
hrValueSerial 序列号 int
intervalSecond 心率间隔 int
hrValues 心率数据 array str json
  • IDOV3DataExchangeModel
参数 说明 备注
day int
hour int
minute int
second int
sportType 运动类型

当功能表 v3SportsType、set100SportSort 支持,运动类型从48开始,1-29运动类型为v2协议

运动类型参照 IDOSportTypes文件说明
planType 计划类型 int
0x01:跑步计划3km ,
0x02:跑步计划5km ,
0x03:跑步计划10km ,
0x04:半程马拉松训练(二期) ,
0x05:马拉松训练(二期)
actionType 动作类型 int
1快走;
2慢跑;
3中速跑;
4快跑 ;
5结束课程运动 (还要等待用户是否有自由运动);
6课程结束后自由运动 (此字段当operate为0x05起作用)
errorCode 错误码 int 0x00:成功 其他失败
targetType 目标类型 int
0x00:无目标, 0x01:重复次数,单位:次,
0x02:距离,单位:米, 0x03:卡路里, 单位:大卡,
0x04:时长,单位:分钟, 0x05: 步数, 单位:步
targetValue 目标数值 int
forceStart 是否强制开始 int 0:不强制,1:强制
retCode 代码 0:成功;
1:设备已经进入运动模式失败;
2: 设备电量低失败;
3:手环正在充电
4:正在使用Alexa
5:通话中
dataVersion 数据版本 int
curHrValue 当前心率 int
calories 卡路里 int (单位:J)
distance 距离 int (单位:米)
durations 持续时间 int (单位:分钟)
step 步数 int (单位:步)
swimPosture 泳姿 int 0x00 : 混合泳;
0x01 : 自由泳;
0x02 : 蛙泳;
0x03 : 仰泳;
0x04 : 蝶泳;
status 进入运动状态 开始:1,暂停:2, 结束:3,0:无效状态
isSave 是否存储 BOOL
realTimeSpeed app计算显示实时速度 单位km/h 100倍 15秒一个记录 int
realTimePace app计算显示实时配速 int (单位s)
intervalSecond 心率间隔 int
heartRateCount 心率个数 int
hrValues 心率数据 array str json
warmUpSecond 热身锻炼时长 int (秒钟)
anaeroicSecond 无氧锻炼时长 int (秒钟)
fatBurnSecond 燃脂锻炼时长 int (秒钟)
aerobicSecond 有氧锻炼时长 int (秒钟)
limitSecond 极限锻炼时长 int (秒钟)
avgHrValue 平均心率 int
maxHrValue 最大心率 int
warmUpValue 热身运动值 int
burnFatValue 脂肪燃烧运动值 int
aerobicValue 有氧运动值 int
limitValue 极限运动值 int
anaerobicValue 无氧运动值 int
avgSpeed 平均速度 km/h
maxSpeed 最大速度 km/h
avgStepFrequency 平均步频 int
maxStepFrequency 最大步频 int
avgStepStride 平均步幅 int
maxStepStride 最大步幅 int
kmSpeed 平均公里配速 int
fastKmSpeed 最快公里配速 int
kmSpeedCount 公里配速个数 int
kmSpeeds 公里配速集合 array
mileCount 英里配速 个数 array
mileCount 英里配速 个数 int
mileSpeeds 英里配速集合 array
stepsFrequencyCount 步频个数 int
stepsFrequencys 步频集合 array
trainingEffect 有氧训练效果 单位:无 范围 1.0 ~ 5.0 (*10倍)
anaerobicTrainingEffect 无氧训练效果 单位:无 范围 1.0 ~ 5.0 (*10倍)
vo2Max 最大摄氧量 单位:毫升/公斤/分钟; 范围 0-80
actionDataCount 本次动作训练个数 int
inClassCalories 课程内运动热量 单位千卡
completionRate 动作完成率 0—100
hrCompletionRate 心率控制率 0—100
recoverTime 恢复时长 单位小时(app收到该数据之后,每过一小时需要自减一)
grade 摄氧量等级 0x01:低等 0x02:业余 0x03:一般 0x04:平均
0x05:良好 0x06:优秀 0x07:专业
actionData 动作完成内容 array
type : 动作类型 1快走;2慢跑; 3中速跑;4快跑
heart_con_value : 每个动作心率控制
time : 动作完成时间 单位秒
goal_time :动作目标时间
trainingOffset 训练的课程日期偏移 int 从0开始
countHour 运动倒计时 int
countMinute 运动倒计时分 int
countSecond 运动倒计时秒 int
trainingYear 训练课程年份 int
trainingMonth 训练课程月份 int
trainingDay 训练课程日期 int
time 动作目标时间 int 单位秒
lowHeart 心率范围低值 int
heightHeart 心率范围高值 int
  • app 发起运动开始
  • IDOAppStartExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    targetType 目标类型 0x00:无目标,
    0x01:重复次数,单位:次,
    0x02:距离,单位:米,
    0x03: 卡路里, 单位:大卡,
    0x04:时长,单位:分钟,
    0x05: 步数, 单位:步
    targetValue 目标数值 int
    forceStart 是否强制开始 0:不强制,1:强制
+ (BOOL)appStartSportCommandWithModel:(IDOAppStartExchangeModel *)model
                                error:(NSError **)error;
  • app 发起运动结束
  • IDOAppEndExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    durations 持续时间 单位:秒钟
    calories 距离 单位:米
    step 步数 单位:步
    isSave 是否存储 bool
+ (BOOL)appEndSportCommandWithModel:(IDOAppEndExchangeModel *)model
                              error:(NSError **)error;
  • app 发起运动暂停
  • IDONewDataExchangeModel

    参数 说明 备注
    day int
    hour int
    minute int
    second int
    sportType 运动类型 int 参照上面表格
+ (BOOL)appPauseSportCommandWithModel:(IDONewDataExchangeModel *)model
                                error:(NSError **)error;
  • app 发起运动恢复
  • IDONewDataExchangeModel

    参数 说明 备注
    day int
    hour int
    minute int
    second int
    sportType 运动类型 int 参照上面表格
+ (BOOL)appRestoreSportCommandWithModel:(IDONewDataExchangeModel *)model
                                  error:(NSError **)error;
  • app 发起v2运动交换过程
  • IDOV2AppIngDataExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    status 状态 0:全部有效, 1:距离无效, 2: gps 信号弱
    distance 距离 单位:米
    calories 卡路里 单位:J
    durations 持续时间 单位:秒钟
+ (BOOL)v2_appIngSportCommandWithModel:(IDOV2AppIngDataExchangeModel *)model
                                 error:(NSError **)error;
  • app 发起v3运动交换过程
  • IDOV3AppIngDataExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    dataVersion 数据版本 运动计划版本号为0x20,
    不需要传sportType
    distance 距离 单位:米
    calories 卡路里 单位:J
    durations 持续时间 单位:秒钟
    signalFlag gps信号强弱 0: 表示信号弱, 1: 表示信号强
    realTimeSpeed app计算显示实时速度 单位km/h 100倍 15秒一个记录
+ (BOOL)v3_appIngSportCommandWithModel:(IDOV3AppIngDataExchangeModel *)model
                                 error:(NSError **)error;
  • ble 发起运动结束回复
  • IDOBleEndReplyExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    distance 距离 单位:米
    calories 卡路里 单位:J
    durations 持续时间 单位:秒钟
    errorCode 运动数据交换错误码 0:成功; 其他失败
+ (BOOL)bleEndSportReplyCommandWithModel:(IDOBleEndReplyExchangeModel *)model
                                   error:(NSError **)error;
  • ble 发起运动暂停回复
  • IDOBlePauseReplyExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    errorCode 运动数据交换错误码 0:成功; 其他失败
+ (BOOL)blePauseSportReplyCommandWithModel:(IDOBlePauseReplyExchangeModel *)model
                                     error:(NSError **)error;
  • ble 发起运动恢复回复
  • IDOBlePauseReplyExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    errorCode 运动数据交换错误码 0:成功; 其他失败
+ (BOOL)bleRestoreSportReplyCommandWithModel:(IDOBleRestoreReplyExchangeModel *)model
                                       error:(NSError **)error;
  • app 运动计划操作
  • IDOAppOperatePlanExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    operate 操作码 0x01:开始运动 ,
    0x02:暂停运动 ,
    0x03:恢复运动 ,
    0x04:结束运动
    0x05: 切换动作
    trainingOffset 训练的课程日期偏移 从0开始
    actionType 动作类型 1快走;
    2慢跑;
    3中速跑;
    4快跑 ;
    5结束课程运动 (还要等待用户是否有自由运动);
    6课程结束后自由运动 (此字段当operate为0x05起作用)
    planType 计划类型 0x01:跑步计划3km ,
    0x02:跑步计划5km ,
    0x03:跑步计划10km ,
    0x04:半程马拉松训练(二期) ,
    0x05:马拉松训练(二期)
    errorCode 错误码 0x00:成功 其他失败(下发操作不需要赋值)
+ (BOOL)appPlanSportCommandWithModel:(IDOAppOperatePlanExchangeModel *)model
                               error:(NSError **)error;
  • ble 运动计划操作回复
  • IDOBleOperatePlanReplyExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    operate 操作码 0x01:开始运动 ,
    0x02:暂停运动 ,
    0x03:恢复运动 ,
    0x04:结束运动
    0x05: 切换动作
    actionType 动作类型 1快走;
    2慢跑;
    3中速跑;
    4快跑 ;
    5结束课程运动 (还要等待用户是否有自由运动);
    6课程结束后自由运动 (此字段当operate为0x05起作用)
    planType 计划类型 0x01:跑步计划3km ,
    0x02:跑步计划5km ,
    0x03:跑步计划10km ,
    0x04:半程马拉松训练(二期) ,
    0x05:马拉松训练(二期)
    errorCode 错误码 0x00:成功 其他失败(下发操作不需要赋值)
+ (BOOL)blePlanSportReplyCommandWithModel:(IDOBleOperatePlanReplyExchangeModel *)model
                                    error:(NSError **)error;
  • 获取v3心率数据
+ (BOOL)v3_getActivityHrDataWithError:(NSError **)error;
  • v3运动结束后获取活动数据
+ (BOOL)v3_getActivityEndDataWithError:(NSError **)error;

10.3代理协议回调

  • app运动开始ble回复
  • IDOAppStartReplyExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    retCode 进入运动状态 0:成功;
    1:设备已经进入运动模式失败;
    2: 设备电量低失败;
    3:手环正在充电
    4:正在使用Alexa
    5:通话中
- (void)appStartSportReplyWithModel:(IDOAppStartReplyExchangeModel *)model errorCode:(int)errorCode;
  • app运动暂停ble回复
  • IDOAppPauseReplyExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    errorCode 错误码 0:成功 其他失败
- (void)appPauseSportReplyWithModel:(IDOAppPauseReplyExchangeModel *)model errorCode:(int)errorCode;
  • app运动恢复ble回复
  • IDOAppRestoreReplyExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    errorCode 错误码 0:成功 其他失败
- (void)appRestoreSportReplyWithModel:(IDOAppRestoreReplyExchangeModel *)model errorCode:(int)errorCode;
  • app运动结束ble回复
  • IDOAppEndReplyExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    errorCode 错误码 0:成功 其他失败
    distance 距离 单位:米
    calories 卡路里 单位:J
    step 步数 单位:步
    avgHrValue 平均心率 int
    maxHrValue 最大心率 int
    burnFatMins 燃烧脂肪时长 int
    aerobicMins 有氧时长 int
    limitMins 极限时长 int
- (void)v2_appEndSportReplyWithModel:(IDOAppEndReplyExchangeModel *)model errorCode:(int)errorCode;
  • v2 app运动交互中ble回复
  • IDOV2AppIngReplyExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    status 状态码 0:全部有效,
    1:距离无效,
    2: gps 信号弱
    curHrValue 当前心率 int
    distance 距离 单位:米
    calories 卡路里 单位:J
    step 步数 单位:步
    hrValueSerial 序列号 int
    intervalSecond 心率间隔 int
    hrValues 心率数据 array
- (void)v2_appIngSportReplyWithModel:(IDOV2AppIngReplyExchangeModel *)model errorCode:(int)errorCode;
  • v3 app运动交互中ble回复
  • IDOV3AppIngReplyExchangeModel

    参数 说明 备注
    IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
    dataVersion 数据版本 运动计划版本号为0x20
    curHrValue 当前心率 int
    distance 距离 单位:米
    calories 卡路里 单位:J
    step 步数 单位:步
    durations 持续时间 单位:秒钟
    swimPosture 泳姿 0x00 : 混合泳;
    0x01 : 自由泳;
    0x02 : 蛙泳;
    0x03 : 仰泳;
    0x04 : 蝶泳;
    status 手环返回的状态 开始:1,暂停:2, 结束:3,0:无效状态
    status 手环返回的状态 开始:1,
    暂停:2,
    结束:3,
    0:无效状态
    kmSpeed 平均公里配速 int
    realTimeSpeed app计算显示实时速度 单位km/h 100倍 15秒一个记录
    realTimePace app计算显示实时配速 单位 s
    anaerobicTrainingEffect 无氧训练效果 单位:无 范围 1.0 ~ 5.0 (*10倍)
    trainingEffect 有氧训练效果 单位:无 范围 1.0 ~ 5.0 (*10倍)
    countHour 运动倒计时 int
    countMinute 运动倒计时分 int
    countSecond 运动倒计时秒 int
- (void)v3_appIngSportReplyWithModel:(IDOV3AppIngReplyExchangeModel *)model errorCode:(int)errorCode;
  • v3 app运动结束后获取心率数据
  • IDOHrDataExchangeModel
参数 说明 备注
IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
intervalSecond 心率间隔 int
heartRateCount 心率个数 int
hrValues 心率数据 心率集合
- (void)v3_appSportHrReplyWithModel:(IDOHrDataExchangeModel *)model errorCode:(int)errorCode;
  • v3 app运动结束后返回数据
  • IDOV3SportEndDataExchangeModel
参数 说明 备注
IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
year 年份 int
month 月份 int
dataVersion 数据版本 运动计划版本号为0x20(32)
planType 计划类型 int
0x01:跑步计划3km ,
0x02:跑步计划5km ,
0x03:跑步计划10km ,
0x04:半程马拉松训练(二期) ,
0x05:马拉松训练(二期)
intervalSecond 心率间隔 int
calories 卡路里 int (单位:J)
distance 距离 int (单位:米)
durations 持续时间 int (单位:分钟)
step 步数 int (单位:步)
warmUpSecond 热身锻炼时长 int (秒钟)
anaeroicSecond 无氧锻炼时长 int (秒钟)
fatBurnSecond 燃脂锻炼时长 int (秒钟)
aerobicSecond 有氧锻炼时长 int (秒钟)
limitSecond 极限锻炼时长 int (秒钟)
avgHrValue 平均心率 int
maxHrValue 最大心率 int
warmUpValue 热身运动值 int
burnFatValue 脂肪燃烧运动值 int
aerobicValue 有氧运动值 int
limitValue 极限运动值 int
anaerobicValue 无氧运动值 int
avgSpeed 平均速度 km/h
maxSpeed 最大速度 km/h
avgStepFrequency 平均步频 int
maxStepFrequency 最大步频 int
avgStepStride 平均步幅 int
maxStepStride 最大步幅 int
kmSpeed 平均公里配速 int
fastKmSpeed 最快公里配速 int
kmSpeedCount 公里配速个数 int
kmSpeeds 公里配速集合 array
mileCount 英里配速 个数 array
mileCount 英里配速 个数 int
mileSpeeds 英里配速集合 array
stepsFrequencyCount 步频个数 int
stepsFrequencys 步频集合 array
trainingEffect 有氧训练效果 单位:无 范围 1.0 ~ 5.0 (*10倍)
vo2Max 最大摄氧量 单位:毫升/公斤/分钟; 范围 0-80
actionDataCount 本次动作训练个数 int
inClassCalories 课程内运动热量 单位千卡
completionRate 动作完成率 0—100
hrCompletionRate 心率控制率 0—100
recoverTime 恢复时长 单位小时(app收到该数据之后,每过一小时需要自减一)
grade 摄氧量等级 0x01:低等 0x02:业余 0x03:一般 0x04:平均
0x05:良好 0x06:优秀 0x07:专业
actionData 动作完成内容 array
type : 动作类型 1快走;2慢跑; 3中速跑;4快跑
heart_con_value : 每个动作心率控制
time : 动作完成时间 单位秒
goal_time :动作目标时间
trainingOffset 训练的课程日期偏移 int 从0开始
- (void)v3_appEndSportReplyWithModel:(IDOV3SportEndDataExchangeModel *)model errorCode:(int)errorCode;
  • ble停止app运动
  • IDOBleEndExchangeModel
参数 说明 备注
IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
distance 距离 单位:米
calories 卡路里 单位:J
step 步数 单位:步
isSave 是否存储 bool
avgHrValue 平均心率 int
maxHrValue 最大心率 int
burnFatMins 脂肪燃烧时长 (分钟) int
aerobicMins 有氧锻炼时长(分钟) int
limitMins 极限锻炼时长(分钟) int
- (void)bleEndAppSportWithModel:(IDOBleEndExchangeModel *)model errorCode:(int)errorCode;
  • ble暂停app运动
  • IDONewDataExchangeModel
参数 说明 备注
IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
- (void)blePauseAppSportWithModel:(IDONewDataExchangeModel *)model errorCode:(int)errorCode;
  • ble恢复app运动
  • IDONewDataExchangeModel
参数 说明 备注
IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
- (void)bleRestoreAppSportWithModel:(IDONewDataExchangeModel *)model errorCode:(int)errorCode;
  • app操作运动计划返回
  • IDOAppOperatePlanExchangeModel
参数 说明 备注
IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
operate 操作类型 0x01:开始运动 ,
0x02:暂停运动 ,
0x03:恢复运动 ,
0x04:结束运动
0x05: 切换动作
trainingOffset 训练的课程日期偏移 int 从0开始
actionType 动作类型 1快走;
2慢跑;
3中速跑;
4快跑
planType 计划类型 0x01:跑步计划3km ,
0x02:跑步计划5km ,
0x03:跑步计划10km ,
0x04:半程马拉松训练(二期) ,
0x05:马拉松训练(二期)
errorCode 错误码 int 0x00:成功 其他失败
- (void)appOperatePlanReplyWithModel:(IDOAppOperatePlanExchangeModel *)model errorCode:(int)errorCode;
  • ble操作运动计划返回
  • IDOBleOperatePlanExchangeModel
参数 说明 备注
IDONewDataExchangeModel 父类属性 day、hour、minute、second、sportType
operate 操作类型 0x01:开始运动 ,
0x02:暂停运动 ,
0x03:恢复运动 ,
0x04:结束运动
0x05: 切换动作
actionType 动作类型 1快走;
2慢跑;
3中速跑;
4快跑
planType 计划类型 0x01:跑步计划3km ,
0x02:跑步计划5km ,
0x03:跑步计划10km ,
0x04:半程马拉松训练(二期) ,
0x05:马拉松训练(二期)
errorCode 错误码 int 0x00:成功 其他失败
trainingYear 训练课程年份 int
trainingMonth 训练课程月份 int
trainingDay 训练课程日期 int
time 动作目标时间 int 单位秒
lowHeart 心率范围低值 int
heightHeart 心率范围高值 int
- (void)bleOperatePlanWithModel:(IDOBleOperatePlanExchangeModel *)model errorCode:(int)errorCode;
Copyright © 2015-2020 IDO. All rights reserved. all right reserved,powered by Gitbook修订时间: 2023-12-18 10:04:13

results matching ""

    No results matching ""