BoyFatBle

来自于:APICloud 官方

概述

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

注意:

Android编译需使用升级环境.

模块接口

initBle

初始化蓝牙4.0管理器

initBle(cllback(ret))

callback(ret)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

scan

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

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

params

deviceName

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

callback(ret)

ret:

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

示例代码

     var BoyFatBle = api.require('BoyFatBle');
        BoyFatBle.scan({
           deviceName:'YoHealth',
        }, function( ret ){
            if( ret.status ){
                alert( '扫描成功' );
            }else{
                alert( '扫描failed' );
            }
        });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isScanning

判断是否正在扫描

isScanning(callback(ret))

callback(ret)

ret:

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

示例代码

var BoyFatBle = api.require('BoyFatBle');
BoyFatBle.isScanning(function(ret) {
    if (ret) {
        alert('正在扫描');
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopScan

停止搜索附近的蓝牙设备

stopScan()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

initSDk

初始化SDK

initSDK({params}, callback(ret))

params

Height:

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

age:

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

gender:

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

callback(ret)

ret:

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

}

示例代码

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

可用性

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 对象
  • 内部字段:
{
     status: true      //布尔类型;是否连接成功,true|false
     temporaryWeight   //数字类型:临时体重 单位kg
     LockWeight        //数字类型:锁定体重 单位kg
     impedance         //数字类型  impedance

     iOS返回参数如下:
     weight:60         //数字类型:正在测量中的体重 单位kg
     jsonString:''     //字符串类型:测量完成后的各项参数
     //各项参数:
LyFat :体脂肪率 %
LyMuscle :体肌肉率 %
LyMuscleMass :肌肉量 Kg
LyMoisture :体水份率 %
LyBmr :基础代谢率 Kcal
LyBone :骨骼含量 Kg
LyVisceralFat :内脏脂肪等级
LyMuscleControl :肌肉控制量Kg
LyFatFreeMass :去脂体重Kg
LyWeightControl :体重控制Kg
LyStandardWeight :理想体重Kg
LyObesityLevel :肥胖等级
LyBodyAge :身体年龄
LyProtein :蛋白质率 %
LySkeletalMuscle :骨骼肌量Kg
LyFatMass :脂肪量Kg
LyWeight :体重Kg
LyBMI :体质指数

}

err:

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

}

示例代码

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

可用性

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 对象
  • 内部字段:
{
     state: true,       //布尔类型;是否成功获取数据,true|false
     当state=true时返回如下:    
     peripheralUUID:''   //字符串类型;断开外围设备的 UUID
     LockedWeigh         //数字类型  体重重量
     BodyFat;              //数字类型 体脂肪率 %
     BodyFatMass;          //数字类型 脂肪量 Kg
     Muscle;               //数字类型 体肌肉率 %
     MuscleMass;           //数字类型 肌肉量 Kg
     SkeletalMuscle;      //数字类型 骨骼肌 Kg
     BodyWater;          //数字类型 体水份率 %
     Protein;              //数字类型 蛋白质率 %
     Bone;                //数字类型 骨骼含量 Kg
     BMR;                 //数字类型 基础代谢率 Kcal
     BMI;                 //数字类型 体质指数 
     StandardWeight;      //数字类型 理想体重 Kg
     WeightControl;      //字符串类型 体重控制 Kg
     FatFreeMass;          //数字类型 去脂体重 Kg
     MuscleControl;      //字符串类型 肌肉控制 Kg
     VisceralFat;        //数字类型 内脏脂肪等级
     BodyAge;               //数字类型 身体年龄
     ObesityLevel;          //数字类型 肥胖等级
    当state=false时返回如下:
     errMsg              //字符串类型 错误信息
}

示例代码

var BoyFatBle = api.require('BoyFatBle');
BoyFatBle.invokeLoease({
    Weight:60,
    Height:160,    
    age:30,
    gender:0,//0女1男
    impedance:55,
}, function(ret) {
api.alert( { JSON.stringify( ret )});
});

可用性

Android系统

可提供的1.0.0及更高版本

sentCommandToWeightScaleUnit

修改称重单位

sentCommandToWeightScaleUnit({params}, callback(ret))

params

unit:

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

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{

     jsonString:''     //字符串类型:测量的各项参数
     //各项参数:
LyFat :体脂肪率 %
LyMuscle :体肌肉率 %
LyMuscleMass :肌肉量 Kg
LyMoisture :体水份率 %
LyBmr :基础代谢率 Kcal
LyBone :骨骼含量 Kg
LyVisceralFat :内脏脂肪等级
LyMuscleControl :肌肉控制量Kg
LyFatFreeMass :去脂体重Kg
LyWeightControl :体重控制Kg
LyStandardWeight :理想体重Kg
LyObesityLevel :肥胖等级
LyBodyAge :身体年龄
LyProtein :蛋白质率 %
LySkeletalMuscle :骨骼肌量Kg
LyFatMass :脂肪量Kg
LyWeight :体重Kg
LyBMI :体质指数

}

示例代码

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

可用性

ios系统

可提供的1.0.0及更高版本