BLEPeripheralServer
外围设备的服务端
支持情况:
方法
addService
添加服务
支持情况:
(option: Option) => Promise<TaroGeneral.BluetoothError>
参数 | 类型 |
---|---|
option | Option |
close
关闭当前服务端
支持情况:
(option: Option) => Promise<TaroGeneral.BluetoothError>
参数 | 类型 |
---|---|
option | Option |
offCharacteristicReadRequest
取消监听已连接的设备请求读当前外围设备的特征值事件
支持情况:
(callback: Callback) => void
参数 | 类型 | 说明 |
---|---|---|
callback | Callback | 已连接的设备请求读当前外围设备的特征值事件的回调函数 |
offCharacteristicSubscribed
取消监听特征订阅事件
支持情况:
(callback: Callback) => void
参数 | 类型 | 说明 |
---|---|---|
callback | Callback | 特征订阅事件的回调函数 |
offCharacteristicUnsubscribed
取消监听取消特征订阅事件
支持情况:
(callback: Callback) => void
参数 | 类型 | 说明 |
---|---|---|
callback | Callback | 取消特征订阅事件的回调函数 |
offCharacteristicWriteRequest
取消监听已连接的设备请求写当前外围设备的特征值事件
支持情况:
(callback: Callback) => void
参数 | 类型 | 说明 |
---|---|---|
callback | Callback | 已连接的设备请求写当前外围设备的特征值事件的回调函数 |
onCharacteristicReadRequest
监听已连接的设备请求读当前外围设备的特征值事件
收到该消息后需要立刻调用 writeCharacteristicValue 写回数据,否则主机不会收到响应。
支持情况:
(callback: Callback) => void
参数 | 类型 | 说明 |
---|---|---|
callback | Callback | 已连接的设备请求读当前外围设备的特征值事件的回调函数 |
onCharacteristicSubscribed
监听特征订阅事件,仅 iOS 支持
支持情况:
(callback: Callback) => void
参数 | 类型 | 说明 |
---|---|---|
callback | Callback | 特征订阅事件的回调函数 |
onCharacteristicUnsubscribed
监听取消特征订阅事件,仅 iOS 支持
支持情况:
(callback: Callback) => void
参数 | 类型 | 说明 |
---|---|---|
callback | Callback | 取消特征订阅事件的回调函数 |
onCharacteristicWriteRequest
监听已连接的设备请求写当前外围设备的特征值事件
支持情况:
(callback: Callback) => void
参数 | 类型 | 说明 |
---|---|---|
callback | Callback | 已连接的设备请求写当前外围设备的特征值事件的回调函数 |
removeService
移除服务
支持情况:
(option: Option) => Promise<TaroGeneral.BluetoothError>
参数 | 类型 |
---|---|
option | Option |
startAdvertising
开始广播本地创建的外围设备
支持情况:
(option: Option) => Promise<TaroGeneral.BluetoothError>
参数 | 类型 |
---|---|
option | Option |
stopAdvertising
停止广播
支持情况:
(option: Option) => Promise<TaroGeneral.BluetoothError>
参数 | 类型 |
---|---|
option | Option |
writeCharacteristicValue
往指定特征写入二进制数据值,并通知已连接的主机,从机的特征值已发生变化,该接口会处理是走回包还是走订阅
支持情况:
(option: Option) => Promise<TaroGeneral.BluetoothError>
参数 | 类型 |
---|---|
option | Option |
参数
addService
Option
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
service | service | 是 | 描述 service 的 Object |
complete | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
fail | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用失败的回调函数 |
success | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用成功的回调函数 |
service
参数 | 类型 | 说明 |
---|---|---|
uuid | string | 蓝牙服务的 UUID |
characteristics | characteristic[] | characteristics 列表 |
characteristic
参数 | 类型 | 说明 |
---|---|---|
uuid | string | characteristic 的 UUID |
properties | properties | 特征支持的操作 |
permission | characteristicPermission | 特征权限 |
value | ArrayBuffer | 特征对应的二进制值 |
descriptors | descriptor[] | 描述符数据 |
properties
特征支持的操作
参数 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
write | boolean | false | 否 | 写 |
writeNoResponse | boolean | false | 否 | 无回复写 |
read | boolean | false | 否 | 读 |
notify | boolean | false | 否 | 订阅 |
indicate | boolean | false | 否 | 回包 |
characteristicPermission
特征权限
参数 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
readable | boolean | false | 否 | 可读 |
writeable | boolean | false | 否 | 可写 |
readEncryptionRequired | boolean | false | 否 | 加密读请求 |
writeEncryptionRequired | boolean | false | 否 | 加密写请求 |
descriptor
描述符数据
参数 | 类型 | 说明 |
---|---|---|
uuid | string | Descriptor 的 UUID |
permission | descriptorPermission | 描述符的权限 |
value | ArrayBuffer | 描述符数据 |
descriptorPermission
描述符的权限
参数 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
write | boolean | false | 否 | 写 |
read | boolean | false | 否 | 读 |
close
Option
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
complete | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
fail | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用失败的回调函数 |
success | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用成功的回调函数 |
onCharacteristicReadRequest
Callback
已连接的设备请求读当前外围设备的特征值事件的回调函数
(result: CallbackResult) => void
参数 | 类型 |
---|---|
result | CallbackResult |
CallbackResult
参数 | 类型 | 说明 |
---|---|---|
serviceId | string | 蓝牙特征对应服务的 UUID |
characteristicId | string | 蓝牙特征的 UUID |
callbackId | number | 唯一标识码,调用 writeCharacteristicValue 时使用 |
onCharacteristicSubscribed
Callback
特征订阅事件的回调函数
(result: CallbackResult) => void
参数 | 类型 |
---|---|
result | CallbackResult |
CallbackResult
参数 | 类型 | 说明 |
---|---|---|
serviceId | string | 蓝牙特征对应服务的 UUID |
characteristicId | string | 蓝牙特征的 UUID |
onCharacteristicUnsubscribed
Callback
取消特征订阅事件的回调函数
(result: CallbackResult) => void
参数 | 类型 |
---|---|
result | CallbackResult |
CallbackResult
参数 | 类型 | 说明 |
---|---|---|
serviceId | string | 蓝牙特征对应服务的 UUID |
characteristicId | string | 蓝牙特征的 UUID |
onCharacteristicWriteRequest
Callback
已连接的设备请求写当前外围设备的特征值事件的回调函数
(result: CallbackResult) => void
参数 | 类型 |
---|---|
result | CallbackResult |
CallbackResult
参数 | 类型 | 说明 |
---|---|---|
serviceId | string | 蓝牙特征对应服务的 UUID |
characteristicId | string | 蓝牙特征的 UUID |
callbackId | number | 唯一标识码,调用 writeCharacteristicValue 时使用 |
value | ArrayBuffer | 请求写入特征的二进制数据值 |
removeService
Option
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
serviceId | string | 是 | service 的 UUID |
complete | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
fail | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用失败的回调函数 |
success | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用成功的回调函数 |
startAdvertising
Option
参数 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
advertiseRequest | advertiseRequest | 是 | 广播自定义参数 | |
powerLevel | keyof PowerLevel | "medium" | 否 | 广播功率 |
complete | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | |
fail | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用失败的回调函数 | |
success | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用成功的回调函数 |
advertiseRequest
广播自定义参数
参数 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
connectable | boolean | true | 否 | 当前设备是否可连接 |
deviceName | string | "" | 否 | 广播中 deviceName 字段,默认为空 |
serviceUuids | string[] | 否 | 要广播的服务 UUID 列表。使用 16/32 位 UUID 时请参考注意事项。 | |
manufacturerData | manufacturerData[] | 否 | 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 | |
beacon | beacon | 否 | 以 beacon 设备形式广播的参数。 |
manufacturerData
广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
manufacturerId | string | 是 | 制造商ID,0x 开头的十六进制 |
manufacturerSpecificData | ArrayBuffer | 否 | 制造商信息 |
beacon
以 beacon 设备形式广播的参数。
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
uuid | string | 是 | Beacon 设备广播的 UUID |
major | number | 是 | Beacon 设备的主 ID |
minor | number | 是 | Beacon 设备的次 ID |
measuredPower | number | 否 | 用于判断距离设备 1 米时 RSSI 大小的参考值 |
PowerLevel
广播功率合法值
参数 | 说明 |
---|---|
low | 功率低 |
medium | 功率适中 |
high | 功率高 |
stopAdvertising
Option
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
complete | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
fail | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用失败的回调函数 |
success | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用成功的回调函数 |
writeCharacteristicValue
Option
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
serviceId | string | 是 | 蓝牙特征对应服务的 UUID |
characteristicId | string | 是 | 蓝牙特征的 UUID |
value | ArrayBuffer | 是 | characteristic 对应的二进制值 |
needNotify | boolean | 是 | 是否需要通知主机 value 已更新 |
callbackId | number | 否 | 可选,处理回包时使用 |
complete | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
fail | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用失败的回调函数 |
success | (res: TaroGeneral.BluetoothError) => void | 否 | 接口调用成功的回调函数 |
API 支持度
API | 微信小程序 | H5 | React Native |
---|---|---|---|
BLEPeripheralServer | ✔️ | ||
BLEPeripheralServer.addService | ✔️ | ||
BLEPeripheralServer.close | ✔️ | ||
BLEPeripheralServer.offCharacteristicReadRequest | ✔️ | ||
BLEPeripheralServer.offCharacteristicSubscribed | ✔️ | ||
BLEPeripheralServer.offCharacteristicUnsubscribed | ✔️ | ||
BLEPeripheralServer.offCharacteristicWriteRequest | ✔️ | ||
BLEPeripheralServer.onCharacteristicReadRequest | ✔️ | ||
BLEPeripheralServer.onCharacteristicSubscribed | ✔️ | ||
BLEPeripheralServer.onCharacteristicUnsubscribed | ✔️ | ||
BLEPeripheralServer.onCharacteristicWriteRequest | ✔️ | ||
BLEPeripheralServer.removeService | ✔️ | ||
BLEPeripheralServer.startAdvertising | ✔️ | ||
BLEPeripheralServer.stopAdvertising | ✔️ | ||
BLEPeripheralServer.writeCharacteristicValue | ✔️ |