BoyFatBle
来自于:APICloud 官方
initBle scan isScanning stopScan initSDK handleScanRecord invokeLoease sentCommandToWeightScaleUnit
概述
【彩虹】项目体脂称蓝牙模块封装
注意:
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及更高版本