{IDO数据交换接口说明}

1.功能概述

提供发起数据交换、监听BLE设备的回复及BLE设备发起的数据交换的能力。

2.接口能力

1.查询是否支持V3运动数据交换:

1.1 功能概括:

无。

1.2 API ID:

bool get supportV3ActivityExchange;

1.3 API参数说明:

@return:bool 支持功能表,fasle:不支持,true:支持。

2.查询数据交换状态:

2.1 功能概括:

无。

2.2 API ID:

ExchangeStatus? get status;

2.3 API参数说明:

@param:ExchangeStatus 数据交换状态,包括:

enum ExchangeStatus {
  init                = 0,   /// 初始化
  appStart            = 1,   /// app发起开始
  appStartReply       = 2,   /// app发起开始 ble回复
  appEnd              = 3,   /// app发起结束
  appEndReply         = 4,   /// app发起结束 ble回复
  appPause            = 5,   /// app发起暂停
  appPauseReply       = 6,   /// app发起暂停 ble回复
  appRestore          = 7,   /// app发起恢复
  appRestoreReply     = 8,   /// app发起恢复 ble回复
  appIng              = 9,   /// app发起交换

  appIngReply         = 10,  /// app发起交换 ble回复
  getActivity         = 11,  /// 获取最后运动数据
  getActivityReply    = 12,  /// 获取最后运动数据 ble回复
  getHr               = 13,  /// 获取一分钟心率
  getHrReply          = 14,  /// 获取一分钟心率 ble回复
  getActivityGps      = 15,  /// 获取活动GPS
  getActivityGpsReply = 16,  /// 获取活动GPS ble回复
  appStartPlan        = 17,  /// app开始运动计划
  appStartPlanReply   = 18,  /// app开始运动计划 ble回复
  appPausePlan        = 19,  /// app暂停运动计划

  appPausePlanReply   = 20,  /// app暂停运动计划 ble回复
  appRestorePlan      = 21,  /// app恢复运动计划
  appRestorePlanReply = 22,  /// app恢复运动计划 ble回复
  appEndPlan          = 23,  /// app结束运动计划
  appEndPlanReply     = 24,  /// app结束运动计划 ble回复
  appSwitchAction     = 25,  /// app切换动作
  appSwitchActionReply= 26,  /// app结束运动计划 ble回复
  appBlePause         = 27,  /// app发起的运动 ble发起暂停
  appBlePauseReply    = 28,  /// app发起的运动 ble发起暂停 app回复
  appBleRestore       = 29,  /// app发起的运动 ble发起恢复

  appBleRestoreReply  = 30,  /// app发起的运动 ble发起恢复 app回复
  appBleEnd           = 31,  /// app发起的运动 ble发起结束
  appBleEndReply      = 32,  /// app发起的运动 ble发起结束 app回复
  bleStart            = 33,  /// ble发起的运动 ble发起开始
  bleStartReply       = 34,  /// ble发起的运动 ble发起开始 app回复
  bleEnd              = 35,  /// ble发起的运动 ble发起结束
  bleEndReply         = 36,  /// ble发起的运动 ble发起结束 app回复
  blePause            = 37,  /// ble发起的运动 ble发起暂停
  blePauseReply       = 38,  /// ble发起的运动 ble发起暂停 app回复
  bleRestore          = 39,  /// ble发起的运动 ble发起恢复

  bleRestoreReply     = 40,  /// ble发起的运动 ble发起恢复 app回复
  bleIng              = 41,  /// ble发起的运动 ble发起交换
  bleIngReply         = 42,  /// ble发起的运动 ble发起交换 app回复
  bleStartPlan        = 43,  /// ble开始运动计划
  blePausePlan        = 44,  /// ble暂停运动计划
  bleRestorePlan      = 45,  /// ble恢复运动计划
  bleEndPlan          = 46,  /// ble结束运动计划
  bleSwitchAction     = 47,  /// ble切换动作
  bleOperatePlanReply = 48,  /// ble操作运动计划 app回复
}

3.APP执行数据交换:

3.1 功能概括:

提供发起运动开始、结束、暂停、恢复,运动中的数据交互及执行运动计划的能力。

3.2 API ID:

void appExec({required IDOBaseExchangeModel model});

3.3 API参数说明:

@param:执行类型,包括:

IDOAppStartExchangeModel       // 执行发起运动开始
IDOAppEndExchangeModel         // 执行发起运动结束
IDOAppIngExchangeModel         // 执行交换运动数据
IDOAppPauseExchangeModel       // 执行交换运动数据暂停
IDOAppRestoreExchangeModel     // 执行交换运动数据恢复
IDOAppIngV3ExchangeModel       // 执行v3交换运动数据
IDOAppOperatePlanExchangeModel // 执行操作运动计划

=>跳转到APP发起数据交换模型说明

4.APP执行数据交换回复:

4.1 功能概括:

提供当由设备发起运动/运动执行运动交换时,APP回复设备请求的能力。

4.2 API ID:

void appReplyExec({required IDOBaseExchangeModel model});

4.3 API参数说明:

@param:执行类型,包括:

IDOBleStartReplyExchangeModel       // app回复ble设备发送交换运动数据开始 
IDOBleIngReplyExchangeModel         // app回复ble设备交换运动数据过程中 
IDOBleEndReplyExchangeModel         // app回复ble设备发送交换运动数据结束 
IDOBlePauseReplyExchangeModel       // app回复ble设备发送交换运动数据暂停 
IDOBleRestoreReplyExchangeModel     // app回复ble设备发送交换运动数据恢复 
IDOBleOperatePlanReplyExchangeModel // app回复ble设备操作运动计划 
IDOAppBlePauseReplyExchangeModel    // app回复ble设备发送交换运动数据暂停 
IDOAppBleRestoreReplyExchangeModel  // app回复ble设备发送交换运动数据恢复 
IDOAppBleEndReplyExchangeModel      // app回复ble设备发送交换运动数据结束

=>App回复BLE设备发起交换运动的模型说明

5.APP获取多运动交互结束后的多运动数据:

5.1 功能概括:

无。

5.2 API ID:

Stream<ExchangeResponse> getLastActivityData();

5.3 API参数说明:

@return:多运动数据模型IDOAppActivityDataV3ExchangeModel,模型成员包括:

int? day;                  /// 日期
int? hour;                 /// 时
int? minute;               /// 分
int? second;               /// 秒
int? sportType;            /// 运动类型 
int? year;                 /// 年份
int? month;                /// 月份
int? version;              /// 协议库版本号
int? hrInterval;           /// 心率间隔 单位分钟
int? step;                 /// 步数
int? durations;            /// 持续时间 单位秒
int? calories;             /// 卡路里 单位大卡
int? distance;             /// 距离 单位米
int? burnFatMins;          /// 脂肪燃烧的心率持续时间 单位分钟
int? aerobicMins;          /// 有氧运动的持续时间 单位分钟
int? limitMins;            /// 极限锻炼的持续时间 单位分钟
int? warmUp;               /// 热身运动
int? fatBurning;           /// 脂肪燃烧
int? aerobicExercise;      /// 有氧训练
int? anaerobicExercise;    /// 无氧训练
int? extremeExercise;      /// 极限训练
int? warmUpTime;           /// 热身运动的累计时长 单位秒
int? fatBurningTime;       /// 脂肪燃烧的累计时长 单位秒
int? aerobicExerciseTime;  /// 有氧运动的累计时长 单位秒
int? anaerobicExerciseTime;/// 无氧运动的累计时长 单位秒
int? extremeExerciseTime;  /// 极限锻炼的累计时长 单位秒
int? avgSpeed;             /// 平均速度 单位km/h
int? maxSpeed;             /// 最快速度 单位km/h
int? avgStepStride;        /// 平均步幅 单位cm
int? maxStepStride;        /// 最大步幅 单位cm
int? kmSpeed;              /// 平均公里配速 单位秒/公里
int? fastKmSpeed;          /// 最快公里配速 单位秒/公里
int? avgStepFrequency;     /// 平均步频 单位步/分钟
int? maxStepFrequency;     /// 最大步频 单位步/分钟
int? avgHrValue;           /// 平均心率 单位BPM
int? maxHrValue;           /// 最大心率 单位BPM
int? recoverTime;          /// 恢复时长 单位小时 app收到该数据之后,每过1小时需要自减1
int? vo2max;               /// 最大摄氧量 单位 ml/kg/min
int? trainingEffect;       /// 训练效果 范围:1.0 - 5.0 (扩大10倍传输)
int? grade;                /// 摄氧量等级 1:低等 2:业余 3:一般 4:平均 5:良好 6:优秀 7:专业
int? stepsFrequencyCount;  /// 步频详情个数
int? miSpeedCount;         /// 英里配速个数
int? realSpeedCount;       /// 实时速度个数
int? paceSpeedCount;       /// 实时配速个数
int? kmSpeedCount;         /// 公里配速详情个数
int? actionDataCount;      /// 本次动作训练个数
List<int>? kmSpeeds;       /// 每公里耗时秒数 配速集合
List<int>? stepsFrequency; /// 步频集合 单位步/分钟
List<int>? itemsMiSpeed;   /// 英里配速数组
List<int>? itemRealSpeed;  /// 实时速度数组 单位km/h
List<int>? paceSpeedItems; /// 实时配速数组

///  动作完成内容
///  type : 动作类型  1快走;2慢跑; 3中速跑;4快跑
///  heart_con_value : 每个动作心率控制
///  time : 动作完成时间 单位秒
///  goal_time :动作目标时间
List<Map<String,dynamic>>? actionData;

6.APP获取多运动交互结束后的心率数据:

6.1 功能概括:

无。

6.2 API ID:

Stream<ExchangeResponse> getActivityHrData();

6.3 API参数说明:

@return:一分钟心率模型IDOAppHrDataExchangeModel,模型成员包括:

int? day;                /// 日期
int? hour;               /// 时
int? minute;             /// 分
int? second;             /// 秒
int? sportType;          /// 运动类型
int? version;            /// 协议版本号
int? heartRateHistoryLen;/// 心率数据数组长度 最大60
int? interval;           /// 心率间隔 单位秒
List<int>? heartRates;   /// 心率数据数组 存一分钟的心率数据,1s存一个

7.APP监听设备发起数据交换:

7.1 功能概括:

提供监听设备主动发起数据交换的能力,监听到后APP执行数据交换回复。

7.2 API ID:

Stream<ExchangeResponse> appListenBleExec();

7.3 API参数说明:

@return:监听响应类型,包括:

IDOBleStartExchangeModel       // ble设备发送交换运动数据开始
IDOBleIngExchangeModel         // ble设备交换运动数据过程中
IDOBleEndExchangeModel         // ble设备发送交换运动数据结束
IDOBlePauseExchangeModel       // ble设备发送交换运动数据暂停
IDOBleRestoreExchangeModel     // ble设备发送交换运动数据恢复
IDOBleOperatePlanExchangeModel // ble设备操作运动计划
IDOAppBlePauseExchangeModel    // ble设备通知交换运动数据暂停
IDOAppBleRestoreExchangeModel  // ble设备通知交换运动数据恢复
IDOAppBleEndExchangeModel      // ble设备通知交换运动数据结束

=>跳转到BLE发起数据交换模型说明

8.APP监听APP执行数据交换后设备响应:

8.1 功能概括:

提供监听APP主动发起交换数据后,设备响应的能力。

8.2 API ID:

Stream<ExchangeResponse> appListenAppExec();

8.3 API参数说明:

@return:监听响应类型,包括:

IDOAppStartReplyExchangeModel       // ble设备的回复app开始发起运动 
IDOAppEndReplyExchangeModel         // ble设备的回复app发起运动结束 
IDOAppIngReplyExchangeModel         // ble设备的回复app交换运动数据 
IDOAppPauseReplyExchangeModel       // ble设备的回复app交换运动数据暂停 
IDOAppRestoreReplyExchangeModel     // ble设备的回复app交换运动数据恢复 
IDOAppIngV3ReplyExchangeModel       // ble设备的回复appv3交换运动数据 
IDOAppOperatePlanReplyExchangeModel // ble设备的回复app操作运动计划

=>跳转到BLE响应APP发起数据交换的模型说明

9.APP监听交换V2运动数据响应

9.1 功能概括:

提供监听APP执行V2交换运动数据后BLE设备响应的能力。

9.2 API ID:

Stream<IDOV2ExchangeModel> v2_exchangeData();

9.3 API参数说明:

@return:监听返回模型IDOV2ExchangeModel,模型成员包括:

int? day;                /// 日期
int? hour;               /// 时
int? minute;             /// 分
int? second;             /// 秒
int? sportType;          /// 运动类型
int? operate;            /// 1:请求app打开gps  2:发起运动请求
int? targetValue;        /// 0: 无目标,1: 重复次数,单位:次,2: 距离,单位:米,3:卡路里,单位:大卡,4:时长,单位:分钟,5:步数,单位:步
int? targetType;         /// 目标数值
int? forceStart;         /// 是否强制开始 0:不强制,1:强制
int? retCode;            /// 0:成功; 1:设备已经进入运动模式失败;2: 设备电量低失败; 3:手环正在充电 4:正在使用Alexa 5:通话中
int? calories;           /// 卡路里 (单位:Kcal)
int? distance;           /// 距离 (单位:米)
int? durations;          /// 持续时间 (单位:秒钟)
int? step;               /// 步数 (单位:步)
int? avgHr;              /// 平均心率
int? maxHr;              /// 最大心率
int? curHr;              /// 当前心率
int? hrSerial;           /// 序列号
int? burnFatMins;        /// 燃烧脂肪时长 (单位:分钟)
int? aerobicMins;        /// 有氧时长 (单位:分钟)
int? limitMins;          /// 极限时长 (单位:分钟)
bool? isSave;            /// 是否存储数据
int? status;             /// 0:全部有效 1:距离无效 2:gps信号弱
int? interval;           /// 心率间隔
List<int>? hrValues = [];/// 心率数据集合

10.APP监听交换V3运动数据响应

10.1 功能概括:

提供监听APP执行V3交换运动数据后BLE设备响应的能力。

10.2 API ID:

Stream<IDOV3ExchangeModel> v3_exchangeData();

10.3 API参数说明:

@return:监听返回模型IDOV3ExchangeModel,模型成员包括:

int? year;       /// 训练课程年份
int? month;      /// 训练课程月份
int? day;        /// 日期
int? hour;       /// 时
int? minute;     /// 分
int? second;     /// 秒
int? sportType;  /// 运动类型
int? planType;   /// 计划类型 1:跑步计划3km 2:跑步计划5km 3:跑步计划10km 4:半程马拉松训练(二期) 5:马拉松训练(二期)
int? actionType; /// 动作类型 1:快走 2:慢跑 3:中速跑 4快跑 5:结束课程运动(还要等待用户是否有自由运动) 6:课程结束后自由运动(此字段当operate为5起作用)

int? version;    /// 数据版本
int? operate;    /// 1:请求app打开gps 2:发起运动请求
int? targetValue;/// 0:无目标,1:重复次数,单位:次,2:距离,单位:米,3:卡路里,单位:大卡,4:时长,单位:分钟,5:步数,单位:步
int? targetType; /// 目标数值
int? forceStart; /// 是否强制开始 0:不强制,1:强制
int? retCode;    /// 0:成功; 1:设备已经进入运动模式失败;2: 设备电量低失败; 3:手环正在充电 4:正在使用Alexa 5:通话中
int? calories;   /// 卡路里 (单位:kcal)
int? distance;   /// 距离 (单位:米)
int? durations;  /// 持续时间 (单位:秒钟)
int? step;       /// 步数 (单位:步)
int? swimPosture;/// 0: 混合泳; 1: 自由泳; 2: 蛙泳; 3: 仰泳; 4: 蝶泳;
int? status;     /// 手环返回的状态 开始:1,暂停:2, 结束:3,0:无效状态
int? signalFlag; /// 信号强弱  0: 表示信号弱, 1: 表示信号强
bool? isSave;    /// 是否存储数据

int? realTimeSpeed;             /// app计算显示实时速度 单位km/h 100倍 15秒一个记录
int? realTimePace;              /// app计算显示实时配速 单位 s
int? interval;                  /// 心率间隔
int? hrCount;                   /// 心率个数
int? burnFatMins;               /// 燃烧脂肪时长 (单位:分钟)
int? aerobicMins;               /// 有氧时长 (单位:分钟)
int? limitMins;                 /// 极限时长 (单位:分钟)
List<int>? hrValues = [];       /// 心率数据集合
int? warmUpSecond;              /// 热身锻炼时长(秒钟)
int? anaeroicSecond;            /// 无氧锻炼时长(秒钟)
int? fatBurnSecond;             /// 燃脂锻炼时长(秒钟)
int? aerobicSecond;             /// 有氧锻炼时长(秒钟)
int? limitSecond;               /// 极限锻炼时长(秒钟)
int? avgHr;                     /// 平均心率
int? maxHr;                     /// 最大心率
int? curHr;                     /// 当前心率
int? warmUpValue;               /// 热身运动值
int? fatBurnValue;              /// 脂肪燃烧运动值
int? aerobicValue;              /// 有氧运动值
int? limitValue;                /// 极限运动值
int? anaerobicValue;            /// 无氧运动值
int? avgSpeed;                  /// 平均速度 大美味哦km/h
int? maxSpeed;                  /// 最大速度 单位km/h
int? avgStepFrequency;          /// 平均步频 单位步/分钟
int? maxStepFrequency;          /// 最大步频 单位步/分钟
int? avgStepStride;             /// 平均步幅 单位厘米
int? maxStepStride;             /// 最大步幅 单位厘米
int? kmSpeed;                   /// 平均公里配速 单位厘米 
int? fastKmSpeed;               /// 最快公里配速 单位厘米
int? kmSpeedCount;              /// 公里配速个数
List<int>? kmSpeeds = [];       /// 公里配速集合
int? mileCount;                 /// 英里配速个数
List<int>? mileSpeeds = [];     /// 英里配速集合
int? stepsFrequencyCount;       /// 步频个数
List<int>? stepsFrequencys = [];/// 步频集合
int? trainingEffect;            /// 训练效果 单位:无 范围 1.0 ~ 5.0 (*10倍)
int? anaerobicTrainingEffect;   /// 无氧训练效果 单位:无 范围 1.0 ~ 5.0 (*10倍)
int? vo2Max;                    /// 最大摄氧量 单位:毫升/公斤/分钟 范围0-80
int? actionDataCount;           /// 本次动作训练个数
int? inClassCalories;           /// 课程内运动热量  单位千卡
int? completionRate;            /// 动作完成率 0—100
int? hrCompletionRate;          /// 心率控制率 0—100
int? recoverTime;               /// 恢复时长:单位小时(app收到该数据之后,每过一小时需要自减一)
int? avgWeekActivityTime;       /// 上个月平均每周的运动时间 单位分钟
int? grade;                     /// 摄氧量等级  1:低等 2:业余 3:一般 4:平均 5:良好 6:优秀 7:专业

///  动作完成内容
///  type : 动作类型  1快走;2慢跑; 3中速跑;4快跑
///  heart_con_value : 每个动作心率控制
///  time : 动作完成时间 单位秒
///  goal_time :动作目标时间
List<Map<String,dynamic>>? actionData = [];

int? trainingOffset;       /// 训练的课程日期偏移 从0开始
int? countHour;            /// 运动倒计时
int? countMinute;          /// 运动倒计时分
int? countSecond;          /// 运动倒计时秒
int? time;                 /// 动作目标时间  单位秒
int? lowHeart;             /// 心率范围低值
int? heightHeart;          /// 心率范围高值
int? paceSpeedCount;       /// 实时配速个数
List<int>? paceSpeeds = [];/// 实时配速数组 传过来的是秒 每5s算一次
int? realSpeedCount;       /// 实时速度个数
List<int>? realSpeeds = [];/// 实时速度数组 传过来的是秒 每5s算一次
int? intervalSecond;       /// gps 坐标点时间间隔
int? gpsCount;             /// gps个数

/// gps数据详情集合 [{'latitude':0,'longitude':0}]
List<Map<String,dynamic>>? gpsData = [];

11.APP获取多运动交互一段时间的gps数据:

11.1 功能概括:

无。

11.2 API ID:

Stream<ExchangeResponse> getActivityGpsData();

11.3 API参数说明:

@return:GPS数据模型,模型成员包括:

int? day;                /// 日期
int? hour;               /// 时
int? minute;             /// 分
int? second;             /// 秒
int? sportType;          /// 运动类型
int? version;                         /// 协议版本号
int? intervalSecond;     /// 坐标点时间间隔 单位秒
int? gpsCount;           /// 坐标点个数

/// gps数据详情集合 [{'latitude':0,'longitude':0}]
List<Map<String,dynamic>>? gpsData;
Copyright © 2023-2024 IDO. All rights reserved. all right reserved,powered by Gitbook修订时间: 2026-04-07 16:03:39

results matching ""

    No results matching ""