一门app蓝牙功能js调用语法说明
一门app蓝牙功能js调用语法说明♦ 要求 iPhone 4s / iOS6.0 以上,Android 4.3 以上;
♦ 需硬件支持 蓝牙 4.0,即 BLE(BluetoothLowEnergy);
demo地址:https://www.yimenapp.com/doc/demo_ble.cshtml
具体调用参数
1,getState 获取蓝牙设备状态
jsBridge.ble.getState(function(state) {
alert(state);
});
/**
state 整数类型
1: poweredOn 设备开启状态 -- 可用状态
2: poweredOff 设备关闭状态
3: resetting 正在重置状态
4: unauthorized 设备未授权状态
5: unknown 初始的时候是未知的
6: unsupported 设备不支持
**/
2.getPeripheral 获取当前扫描到的所有设备信息
waiting();
jsBridge.ble.getPeripheral(function(data) {
showData(data);
});
/**
data 为 json 数组
[
{
uuid: "",//字符串,设备 uuid(MAC 地址)
name: "",//字符串,设备名称
rssi: -50//数字,信号强度
},
...
]
**/
3.isScanning 判断是否正在扫描中
jsBridge.ble.isScanning(function(yes) {
alert(yes);
});
/**
yes 布尔类型,是否正在扫描中
**/
4.isConnected 判断与指定设备是否处于已连接状态
jsBridge.ble.isConnected({
uuid: "E4:19:C1:BC:0B:60"//必须,字符串类型,目标设备的 uuid(MAC 地址)
}, function(yes) {
alert(yes);
});
/**
yes 布尔类型,是否已连接
**/
5.scan 开始扫描搜索附近的蓝牙4.0设备
• 系统会不断的扫描更新附近的蓝牙4.0设备信息,反复通过回调函数通知您,也可以调用 getPeripheral 接口获取搜索到的设备;• 调用此接口会先清空已经搜索到的设备;• 调用 stopScan 接口停止扫描搜索;• 搜索到需要的设备后应尽快停止扫描,以降低电量消耗;waiting();
jsBridge.ble.scan(function(succ, data) {
showData({
succ: succ,
data: data
});
});
/**
data 为 json 数组
[
{
uuid: "",//字符串,设备 uuid(MAC 地址)
name: "",//字符串,设备名称
rssi: -50//数字,信号强度
},
...
]
**/
6.stopScan 停止扫描搜索附近设备jsBridge.ble.stopScan(function(yes) {
alert(yes);
});
/**
yes 布尔类型,是否已停止
**/
7.connect 连接指定设备jsBridge.ble.connect({
uuid: "E4:19:C1:BC:0B:60"//必须,字符串,目标设备的 uuid(MAC 地址)
}, function(succ, err) {
if (succ) {
alert("连接成功");
} else {
alert(err);
}
});
8.disconnect 断开与指定设备的连接jsBridge.ble.disconnect({
uuid: "E4:19:C1:BC:0B:60"//必须,字符串,目标设备的 uuid(MAC 地址)
}, function(succ, err) {
if (succ) {
alert("断开成功");
} else {
alert(err);
}
});
9.discoverServices 获取指定设备的所有服务waiting();
jsBridge.ble.discoverServices({
//必须,字符串,设备的 uuid(MAC 地址)
uuid: "E4:19:C1:BC:0B:60"
}, function(succ, data) {
showData({
succ: succ,
data: data
});
});
/**
data 为 json 字符串数组类型,返回此设备所有服务的 UUID (serviceUUID) 集
[
"",//字符串,服务 UUID (serviceUUID)
...
]
**/
10.discoverCharacteristics 获取指定设备服务的所有特征(Characteristic)waiting();
jsBridge.ble.discoverCharacteristics({
//必须,字符串,设备的 uuid(MAC 地址)
uuid : "E4:19:C1:BC:0B:60",
//必须,字符串,服务 uuid,调用 discoverServices 可获取
serviceUUID: "00001800-0000-1000-8000-00805f9b34fb"
}, function(succ, data) {
showData({
succ: succ,
data: data
});
});
/**
data 为 json 数组类型,返回所有特征集
[
{
uuid : '', //字符串,设备 uuid(MAC 地址)
serviceUUID : '', //字符串,服务的 UUID
characteristicUUID: '', //字符串,特征的 UUID
permissions : '', //字符串,特征的权限,可能值:
//readable
//writeable
//readEncryptionRequired
//writeEncryptionRequired
//其他(数字代码串)
properties : '', //字符串,特征的属性,可能值:
//broadcast
//read
//writeWithoutResponse
//write
//notify
//indicate
//authenticatedSignedWrites
//extendedProperties
//notifyEncryptionRequired
//indicateEncryptionRequired
//其他(数字代码串)
value : '' //字符串,Hex 16进制值字符串(请自行转换为 byte 流)
},
...
]
**/
11.discoverDescriptors 获取指定设备特征的所有描述符(Descriptor)
waiting();
jsBridge.ble.discoverDescriptors({
//必须,字符串,设备的 uuid(MAC 地址)
uuid : "E4:19:C1:BC:0B:60",
//必须,字符串,服务 uuid,调用 discoverServices 可获取
serviceUUID: "00001800-0000-1000-8000-00805f9b34fb",
//必须,字符串,特征 uuid,调用 discoverCharacteristics 可获取
characteristicUUID: "00002a00-0000-1000-8000-00805f9b34fb"
}, function(succ, data) {
showData({
succ: succ,
data: data
});
});
/**
data 为 json 数组类型,返回所有描述符集
[
{
uuid : '', //字符串,设备 uuid(MAC 地址)
serviceUUID : '', //字符串,服务的 UUID
characteristicUUID: '', //字符串,特征的 UUID
descriptorUUID : '', //字符串,特征的 UUID
value : '', //字符串,Hex 16进制值字符串(请自行转换为 byte 流)
},
...
]
**/
12.setNotify 监听指定设备特征的数据回发
• 每有数据回发都会触发回调函数;• 调用 disconnect 断开连接则自动停止监听;waiting();
jsBridge.ble.setNotify({
//必须,字符串,设备的 uuid(MAC 地址)
uuid : "E4:19:C1:BC:0B:60",
//必须,字符串,服务 uuid,调用 discoverServices 可获取
serviceUUID: "00001800-0000-1000-8000-00805f9b34fb",
//必须,字符串,特征 uuid,调用 discoverCharacteristics 可获取
characteristicUUID: "00002a00-0000-1000-8000-00805f9b34fb"
}, function(succ, data) {
showData({
succ: succ,
data: data
});
});
/**
data 为 json 对象,请参考 discoverCharacteristics 返回的 data 类型说明
**/
13.read 从设备上读取数据
• 每有数据回发都会触发回调函数;
waiting();
jsBridge.ble.read({
//必须,字符串,设备的 uuid(MAC 地址)
uuid : "E4:19:C1:BC:0B:60",
//必须,字符串,服务 uuid,调用 discoverServices 可获取
serviceUUID: "00001800-0000-1000-8000-00805f9b34fb",
//必须,字符串,特征 uuid,调用 discoverCharacteristics 可获取
characteristicUUID: "00002a00-0000-1000-8000-00805f9b34fb",
//可选,字符串,可指定描述符 uuid,如果提供了则读取 descriptor,否则读取 characteristic
descriptorUUID : ""
}, function(succ, data) {
showData({
succ: succ,
data: data
});
});
/**
data 为 json 对象:
读取 characteristic 请参考 discoverCharacteristics 返回的 data 类型说明
读取 descriptor 请参考 discoverDescriptors 返回的 data 类型说明
**/
14.write 向设备写入数据
• 每有数据回发都会触发回调函数;
waiting();
jsBridge.ble.write({
//必须,字符串,设备的 uuid(MAC 地址)
uuid : "E4:19:C1:BC:0B:60",
//必须,字符串,服务 uuid,调用 discoverServices 可获取
serviceUUID: "00001800-0000-1000-8000-00805f9b34fb",
//必须,字符串,特征 uuid,调用 discoverCharacteristics 可获取
characteristicUUID: "00002a00-0000-1000-8000-00805f9b34fb",
//可选,字符串,可指定描述符 uuid,如果提供了则写入 descriptor,否则写入 characteristic
descriptorUUID : "",
//必须,请将需要写入的 byte 流转换为 Hex 16进制串
value : "48656C6C6F20776F726C64"
}, function(succ, data) {
showData({
succ: succ,
data: data
});
});
/**
data 为 json 对象:
写入 characteristic 请参考 discoverCharacteristics 返回的 data 类型说明
写入 descriptor 请参考 discoverDescriptors 返回的 data 类型说明
**/
页:
[1]