曾清 发表于 2020-2-14 14:03:43

一门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]
查看完整版本: 一门app蓝牙功能js调用语法说明