BoyFatBle

来自于:APICloud 官方

initBle scan isScanning stopScan initSDK handleScanRecord invokeLoease sentCommandToWeightScaleUnit

概述

【彩虹】项目体脂称蓝牙模块封装

注意:

Android编译需使用升级环境.

模块接口

initBle

初始化蓝牙4.0管理器

initBle(cllback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. state: 'poweredOn' //字符串类型;蓝牙4.0设备连接状态,取值范围如下:
  3. //poweredOn:设备开启状态 -- 可用状态
  4. //poweredOff:设备关闭状态
  5. //resetting:正在重置状态
  6. //unPermission:设备未授权状态
  7. //unknown:初始的时候是未知的
  8. //unsupported:设备不支持的状态
  9. }

示例代码

  1. var BoyFatBle = api.require('BoyFatBle');
  2. BoyFatBle.initBle(function(ret){
  3. if (ret.state == "poweredOn") {
  4. api.alert({ msg: "初始化成功" });
  5. }
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

scan

开始搜索蓝牙4.0设备,当扫描到相应设备后,会自动停止扫描,未扫描到设备若要停止、调用 stopScan 接口

scan({params}, callback(ret, err))

params

deviceName

  • 类型:字符串
  • 描述:(必传)需要扫描的设备名字

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. state: 'true' //布尔类型;是否获取成功,true|false
  3. state=true时返回:
  4. deviceName //字符串类型:设备名称
  5. rssi //数字类型:信号强度
  6. scanRecord //十六进制字符串: 广播数据包
  7. uuid //字符串:扫描到的蓝牙设备的 UUID
  8. }

示例代码

  1. var BoyFatBle = api.require('BoyFatBle');
  2. BoyFatBle.scan({
  3. deviceName:'YoHealth',
  4. }, function( ret ){
  5. if( ret.status ){
  6. alert( '扫描成功' );
  7. }else{
  8. alert( '扫描failed' );
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isScanning

判断是否正在扫描

isScanning(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;是否在扫描,true|false
  3. }

示例代码

  1. var BoyFatBle = api.require('BoyFatBle');
  2. BoyFatBle.isScanning(function(ret) {
  3. if (ret) {
  4. alert('正在扫描');
  5. }
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopScan

停止搜索附近的蓝牙设备

stopScan()

示例代码

  1. var BoyFatBle = api.require('BoyFatBle');
  2. BoyFatBle.stopScan();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

initSDk

初始化SDK

initSDK({params}, callback(ret))

params

Height:

  • 类型:数字类型
  • 描述:身高单位cm

age:

  • 类型:数字类型
  • 描述:年龄

gender:

  • 类型:数字类型
  • 描述:0 女 1男

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. state: true, //布尔类型;是否成功,true|false
  3. }

示例代码

  1. var BoyFatBle = api.require('BoyFatBle');
  2. BoyFatBle.initSDK({
  3. Height:160,
  4. age:30,
  5. gender:0,//0女1男
  6. }, function(ret) {
  7. api.alert( { JSON.stringify( ret )});
  8. });

可用性

iOS系统

可提供的1.0.0及更高版本

handleScanRecord

获取临时体重,获取锁定体重,获取impedance值

handleScanRecord({params}, callback(ret, err))

params

scanRecord:

  • 类型:十六进制字符串
  • 描述:广播数据包数据 注意:iOS无需此参数

type:

  • 类型:数字类型
  • 描述:取值为1 或者是2,分别代表TYPE_W62 =1 TYPE_59 =2

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;是否连接成功,true|false
  3. temporaryWeight //数字类型:临时体重 单位kg
  4. LockWeight //数字类型:锁定体重 单位kg
  5. impedance //数字类型 impedance
  6. iOS返回参数如下:
  7. weight:60 //数字类型:正在测量中的体重 单位kg
  8. jsonString:'' //字符串类型:测量完成后的各项参数
  9. //各项参数:
  10. LyFat :体脂肪率 %
  11. LyMuscle :体肌肉率 %
  12. LyMuscleMass :肌肉量 Kg
  13. LyMoisture :体水份率 %
  14. LyBmr :基础代谢率 Kcal
  15. LyBone :骨骼含量 Kg
  16. LyVisceralFat :内脏脂肪等级
  17. LyMuscleControl :肌肉控制量Kg
  18. LyFatFreeMass :去脂体重Kg
  19. LyWeightControl :体重控制Kg
  20. LyStandardWeight :理想体重Kg
  21. LyObesityLevel :肥胖等级
  22. LyBodyAge :身体年龄
  23. LyProtein :蛋白质率 %
  24. LySkeletalMuscle :骨骼肌量Kg
  25. LyFatMass :脂肪量Kg
  26. LyWeight :体重Kg
  27. LyBMI :体质指数
  28. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. iOS返回参数如下:
  3. code:0 //数字类型;错误值
  4. msg:'' //字符串类型;错误信息
  5. }

示例代码

  1. var BoyFatBle = api.require('BoyFatBle');
  2. BoyFatBle.handleScanRecord({
  3. scanRecord: '',//广播数据包
  4. type:1,// TYPE_W62 =1 TYPE_59 =2
  5. }, function( ret,err ){
  6. if( ret){
  7. alert(JSON.stringify(ret));
  8. }else{
  9. console.log(JSON.stringify(err));
  10. }
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

invokeLoease

返回获取数据

invokeLoease({params}, callback(ret))

params

Weight:

  • 类型:数字类型
  • 描述:体重单位kg

Height:

  • 类型:数字类型
  • 描述:身高单位cm

age:

  • 类型:数字类型
  • 描述:年龄

gender:

  • 类型:数字类型
  • 描述:0 女 1男

impedance:

  • 类型:数字类型
  • 描述:impedance

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. state: true, //布尔类型;是否成功获取数据,true|false
  3. state=true时返回如下:
  4. peripheralUUID:'' //字符串类型;断开外围设备的 UUID
  5. LockedWeigh //数字类型 体重重量
  6. BodyFat; //数字类型 体脂肪率 %
  7. BodyFatMass; //数字类型 脂肪量 Kg
  8. Muscle; //数字类型 体肌肉率 %
  9. MuscleMass; //数字类型 肌肉量 Kg
  10. SkeletalMuscle; //数字类型 骨骼肌 Kg
  11. BodyWater; //数字类型 体水份率 %
  12. Protein; //数字类型 蛋白质率 %
  13. Bone; //数字类型 骨骼含量 Kg
  14. BMR; //数字类型 基础代谢率 Kcal
  15. BMI; //数字类型 体质指数
  16. StandardWeight; //数字类型 理想体重 Kg
  17. WeightControl; //字符串类型 体重控制 Kg
  18. FatFreeMass; //数字类型 去脂体重 Kg
  19. MuscleControl; //字符串类型 肌肉控制 Kg
  20. VisceralFat; //数字类型 内脏脂肪等级
  21. BodyAge; //数字类型 身体年龄
  22. ObesityLevel; //数字类型 肥胖等级
  23. state=false时返回如下:
  24. errMsg //字符串类型 错误信息
  25. }

示例代码

  1. var BoyFatBle = api.require('BoyFatBle');
  2. BoyFatBle.invokeLoease({
  3. Weight:60,
  4. Height:160,
  5. age:30,
  6. gender:0,//0女1男
  7. impedance:55,
  8. }, function(ret) {
  9. api.alert( { JSON.stringify( ret )});
  10. });

可用性

Android系统

可提供的1.0.0及更高版本

sentCommandToWeightScaleUnit

修改称重单位

sentCommandToWeightScaleUnit({params}, callback(ret))

params

unit:

  • 类型:数字类型
  • 描述:称重单位
  • 取值范围:1表示kg;2表示lb;4表示st
  • 默认:1

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. jsonString:'' //字符串类型:测量的各项参数
  3. //各项参数:
  4. LyFat :体脂肪率 %
  5. LyMuscle :体肌肉率 %
  6. LyMuscleMass :肌肉量 Kg
  7. LyMoisture :体水份率 %
  8. LyBmr :基础代谢率 Kcal
  9. LyBone :骨骼含量 Kg
  10. LyVisceralFat :内脏脂肪等级
  11. LyMuscleControl :肌肉控制量Kg
  12. LyFatFreeMass :去脂体重Kg
  13. LyWeightControl :体重控制Kg
  14. LyStandardWeight :理想体重Kg
  15. LyObesityLevel :肥胖等级
  16. LyBodyAge :身体年龄
  17. LyProtein :蛋白质率 %
  18. LySkeletalMuscle :骨骼肌量Kg
  19. LyFatMass :脂肪量Kg
  20. LyWeight :体重Kg
  21. LyBMI :体质指数
  22. }

示例代码

  1. var BoyFatBle = api.require(BoyFatBle');
  2. BoyFatBle.sentCommandToWeightScaleUnit({
  3. unit:1,
  4. }, function(ret) {
  5. api.alert( { JSON.stringify( ret )});
  6. });

可用性

ios系统

可提供的1.0.0及更高版本