一门APP开发教程
标题: 一门app蓝牙功能js调用语法说明 [打印本页]
作者: 曾清 时间: 2020-2-14 14:03
标题: 一门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 类型说明
- **/
复制代码
欢迎光临 一门APP开发教程 (https://bbs.yimenapp.com/) |
Powered by Discuz! X3.4 |