宜信同城网交流论坛

 找回密码
 立即注册
开启左侧

Bluetooth模块用于管理蓝牙设备,搜索附近蓝牙设备、实现简单数据传输 ...

[复制链接]
发表于 2023-2-16 18:54:54 | 显示全部楼层 |阅读模式 来自 LAN

Bluetooth模块用于管理蓝牙设备,搜索附近蓝牙设备、实现简单数据传输等。

支持搜索发现所有蓝牙设备,但仅支持低功耗蓝牙ble传输协议,不支持蓝牙设备的配对连接传输大量数据。 如果要连接非ble蓝牙设备,可以使用Native.js调用(请到http://ask.dcloud.net.cn搜索bluetooth相关问答)。

方法:

对象:

回调方法:

权限:

5+功能模块(permissions)

 

closeBluetoothAdapter

关闭蓝牙模块

 

说明:

断开所有已经建立的连接,释放系统资源,要求在蓝牙功能使用完成后调用(于openBluetoothAdapter成对使用)。 关闭成功后触发options参数中的success回调,失败触发options参数中的fail回调。

参数:

options参数为json类型,包含以下属性:

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

getBluetoothAdapterState

获取本机蓝牙适配器状态

 

说明:

获取成功后触发options参数中的success回调,失败触发options参数中的fail回调。

参数:

options参数为json类型,包含以下属性:

  • success: BluetoothSuccessCallback ) 可选 获取蓝牙适配器状态成功回调函数

    回调函数参数event对象包括以下属性: discovering - Boolean类型,蓝牙适配器是否正在搜索设备; available - Boolean类型,蓝牙适配器是否可用。

  • fail: BluetoothFailCallback ) 可选 获取蓝牙适配器状态错误回调函数

  • complete: BluetoothCompleteCallback ) 可选 获取蓝牙适配器状态操作完成回调函数

    调用成功或失败都会触发此回调。

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

getBluetoothDevices

获取已搜索到的蓝牙设备

 

说明:

包括已经和本机处于连接状态的设备。 获取成功后触发options参数中的success回调,失败触发options参数中的fail回调。

参数:

options参数为json类型,包含以下属性:

  • success: BluetoothSuccessCallback ) 可选 获取蓝牙设备成功回调函数

    回调函数参数event对象包括以下属性: devices - Array,设备列表信息。

  • fail: BluetoothFailCallback ) 可选 获取蓝牙设备失败回调函数

  • complete: BluetoothCompleteCallback ) 可选 获取蓝牙设备操作完成回调函数

    调用成功或失败都会触发此回调。

  • 返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    getConnectedBluetoothDevices

    根据uuid获取处于已连接的设备

     
    

    说明:

    获取成功后触发options参数中的success回调,失败触发options参数中的fail回调。

    参数:

    options参数为json类型,包含以下属性:

    • services: ( Array[String] ) 必选 要获取设备的uuid列表

      蓝牙设备主service的uuid列表。

    • success: BluetoothSuccessCallback ) 可选 获取已连接设备成功回调函数

      回调函数参数event对象包括以下属性: devices - Array,设备列表信息(只包含name和deviceId属性)。

    • fail: BluetoothFailCallback ) 可选 获取已连接设备失败回调函数

    • complete: BluetoothCompleteCallback ) 可选 获取已连接设备操作完成回调函数

      调用成功或失败都会触发此回调。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    onBluetoothAdapterStateChange

    监听蓝牙适配器状态变化事件

     
    

    说明:

    蓝牙适配器状态发生变化时触发回调。

    参数:

    • changeCB: BluetoothAdapterStateChangeCallback ) 必选 状态变化回调函数

      回调函数参数event对象包括以下属性: discovering - Boolean类型,蓝牙适配器是否正在搜索设备; available - Boolean类型,蓝牙适配器是否可用。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    onBluetoothDeviceFound

    监听搜索到新设备的事件

     
    

    说明:

    搜索到新设备时触发回调。

    参数:

    • callback: BluetoothDeviceFoundCallback ) 必选 搜索到新设备回调函数

      回调函数参数event对象包括以下属性: devices - Array,设备列表信息。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    openBluetoothAdapter

    初始化蓝牙模块

     
    

    说明:

    初始化成功后触发options参数中的success回调,失败触发options参数中的fail回调。

    参数:

    options参数为json类型,包含以下属性:

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    startBluetoothDevicesDiscovery

    开始搜索附近的蓝牙设备

     
    

    说明:

    此操作比较耗费系统资源,请在搜索并连接到设备后调用stopBluetoothDevicesDiscovery方法停止搜索。 搜索成功后触发options参数中的success回调,失败触发options参数中的fail回调。

    参数:

    options参数为json类型,包含以下属性:

    • services: ( Array[String] ) 可选 要获取设备的uuid列表

    • allowDuplicatesKey: ( Boolean ) 可选 是否允许重复上报同一设备

      如果允许重复上报,则onBlueToothDeviceFound方法会多次上报同一设备,但是RSSI值会有不同。

    • interval: ( Number ) 可选 上报设备的间隔

      0表示找到新设备立即上报,其他数值根据传入的间隔上报。

    • success: BluetoothSuccessCallback ) 可选 开始搜索成功回调函数

      搜索到设备后通过onBluetoothDeviceFound设置的回调返回设备信息,此回调只是表明开始搜索。

    • fail: BluetoothFailCallback ) 可选 开始搜索失败回调函数

    • complete: BluetoothCompleteCallback ) 可选 开始搜索操作完成回调函数

      调用成功或失败都会触发此回调。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    stopBluetoothDevicesDiscovery

    停止搜寻附近的蓝牙外围设备

     
    

    说明:

    若已经找到需要的蓝牙设备并不需要继续搜索时,应该调用该接口停止蓝牙搜索。 停止成功后触发options参数中的success回调,失败触发options参数中的fail回调。

    参数:

    options参数为json类型,包含以下属性:

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    closeBLEConnection

    断开与低功耗蓝牙设备的连接

     
    

    参数:

    options参数为json类型,包含以下属性:

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    createBLEConnection

    连接低功耗蓝牙设备

     
    

    说明:

    若之前已有搜索过某个蓝牙设备,并成功建立连接,可直接传入之前搜索获取的deviceId尝试连接该设备,无需进行搜索操作。

    参数:

    options参数为json类型,包含以下属性:

    • deviceId: ( String ) 必选 蓝牙设备的id

    • timeout: ( Number ) 可选 超时时间

      单位为ms(毫秒),不设置此属性表示不会超时。

    • success: BluetoothSuccessCallback ) 可选 连接成功回调函数

    • fail: BluetoothFailCallback ) 可选 连接失败回调函数

    • complete: BluetoothCompleteCallback ) 可选 连接操作完成回调函数

      调用成功或失败都会触发此回调。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    setBLEMTU

    设置蓝牙最大传输单元

     
    

    说明:

    需在 createBLEConnection 调用成功后调用,mtu 设置范围 (22,512)。 HBuilderX2.8.4+版本支持。

    参数:

    options参数为json类型,包含以下属性:

    • deviceId: ( String ) 必选 设备的 id

    • mtu: ( Number ) 必选 最大传输单元(22,512) 区间内,单位为字节(bytes)

    • success: BluetoothSuccessCallback ) 可选 设置蓝牙最大传输单元成功回调函数

    • fail: BluetoothFailCallback ) 可选 设置蓝牙最大传输单元失败回调函数

    • complete: BluetoothCompleteCallback ) 可选 设置蓝牙最大传输单元操作完成回调函数

      调用成功或失败都会触发此回调。

    返回值:

    void : 无

    平台支持:

    • Android - 5.1+ (支持)
    • iOS - ALL (不支持)

    示例:

     
    

    uni-app使用plus注意事项

    getBLEDeviceCharacteristics

    获取蓝牙设备指定服务中所有特征值(characteristic)

     
    

    参数:

    options参数为json类型,包含以下属性:

    • deviceId: ( String ) 必选 蓝牙设备的id

    • serviceId: ( String ) 必选 蓝牙服务 uuid

      可通过getBLEDeviceServices获取。

    • success: BluetoothSuccessCallback ) 可选 获取特征值成功回调函数

      回调函数参数event对象包括以下属性: characteristics - Array>Bluetoothcharacteristic<类型,蓝牙设备服务的特征值列表。

    • fail: BluetoothFailCallback ) 可选 获取特征值失败回调函数

    • complete: BluetoothCompleteCallback ) 可选 获取特征值操作完成回调函数

      调用成功或失败都会触发此回调。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    getBLEDeviceRSSI

    获取蓝牙设备的信号强度

     
    

    说明:

    需在 createBLEConnection 调用成功后调用。 HBuilderX2.8.4+版本支持。

    参数:

    options参数为json类型,包含以下属性:

    • deviceId: ( String ) 必选 设备的 id

    • success: BluetoothDeviceRSSICallback ) 可选 获取蓝牙设备信号强度成功回调函数

      回调函数参数event对象包括以下属性: RSSI - Number类型,蓝牙设备的信号强度。

    • fail: BluetoothFailCallback ) 可选 获取蓝牙设备信号强度失败回调函数

    • complete: BluetoothCompleteCallback ) 可选 获取蓝牙设备信号强度操作完成回调函数

      调用成功或失败都会触发此回调。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    getBLEDeviceServices

    获取蓝牙设备的所有服务(service)

     
    

    参数:

    options参数为json类型,包含以下属性:

    • deviceId: ( String ) 必选 蓝牙设备的id

    • success: BluetoothSuccessCallback ) 可选 获取服务成功回调函数

      回调函数参数event对象包括以下属性: services - Array>BluetoothService<类型,蓝牙设备服务的特征值列表。

    • fail: BluetoothFailCallback ) 可选 获取服务失败回调函数

    • complete: BluetoothCompleteCallback ) 可选 获取服务操作完成回调函数

      调用成功或失败都会触发此回调。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    notifyBLECharacteristicValueChange

    启用低功耗蓝牙设备特征值变化时的notify功能,订阅特征值

     
    

    说明:

    蓝牙设备服务的特征值必须支持notify或indicate才可以成功调用。 另外,必须先启用notifyBLECharacteristicValueChange才能监听到设备characteristicValueChange事件,即特征值发生变化时通过onBLECharacteristicValueChange注册的事件回调。

    参数:

    options参数为json类型,包含以下属性:

    • deviceId: ( String ) 必选 蓝牙设备的id

    • serviceId: ( String ) 必选 蓝牙服务的uuid

    • characteristicId: ( String ) 必选 蓝牙特征值的uuid

    • state: ( Boolean ) 必选 是否启用 notify

    • success: BluetoothSuccessCallback ) 可选 订阅特征值成功回调函数

    • fail: BluetoothFailCallback ) 可选 订阅特征值失败回调函数

    • complete: BluetoothCompleteCallback ) 可选 订阅特征值操作完成回调函数

      调用成功或失败都会触发此回调。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    onBLECharacteristicValueChange

    监听低功耗蓝牙设备的特征值变化事件

     
    

    参数:

    • callback: BLECharacteristicValueChangeCallback ) 必选 特征值变化回调函数

      回调函数参数event对象包括以下属性: deviceId - String类型,蓝牙设备id; serviceId - String类型,蓝牙服务的uuid; characteristicId - String类型,蓝牙特征值的uuid; value - ArrayBuffer类型,特征值的最新值。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    onBLEConnectionStateChange

    监听低功耗蓝牙设备连接状态变化事件

     
    

    说明:

    包括开发者主动连接或断开连接,设备丢失,连接异常断开等。

    参数:

    • callback: BLEConnectionStateChangeCallback ) 必选 连接状态变化回调函数

      回调函数参数event对象包括以下属性: deviceId - String类型,蓝牙设备id; connected - Boolean类型,是否处于已连接状态。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    readBLECharacteristicValue

    读取低功耗蓝牙设备指定特征值的二进制数据值

     
    

    说明:

    指定的特征值需支持read操作才可以成功调用。 并行调用多次可能导致读取失败,读取的数据需要在onBLECharacteristicValueChange方法注册的回调中获取。

    参数:

    options参数为json类型,包含以下属性:

    • deviceId: ( String ) 必选 蓝牙设备的id

    • serviceId: ( String ) 必选 蓝牙服务的uuid

    • characteristicId: ( String ) 必选 蓝牙特征值的uuid

    • success: BluetoothSuccessCallback ) 可选 读取特征值的二进制数据成功回调函数

    • fail: BluetoothFailCallback ) 可选 读取特征值的二进制数据失败回调函数

    • complete: BluetoothCompleteCallback ) 可选 读取特征值的二进制数据操作完成回调函数

      调用成功或失败都会触发此回调。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    writeBLECharacteristicValue

    向低功耗蓝牙设备指定特征值写入二进制数据

     
    

    说明:

    指定的特征值需支持write操作才可以成功调用。 并行调用多次可能导致读取失败,系统可能会限制单次传输的数据大小,超过最大字节数后可能会发生写入错误,建议每次写入不超过20字节。

    参数:

    options参数为json类型,包含以下属性:

    • deviceId: ( String ) 必选 蓝牙设备的id

    • serviceId: ( String ) 必选 蓝牙服务的uuid

    • characteristicId: ( String ) 必选 蓝牙特征值的uuid

    • value: ( ArrayBuffer ) 必选 要写入的数据

      写入到蓝牙设备指定特征值中的二进制值。

    • success: BluetoothSuccessCallback ) 可选 读取特征值的二进制数据成功回调函数

    • fail: BluetoothFailCallback ) 可选 读取特征值的二进制数据失败回调函数

    • complete: BluetoothCompleteCallback ) 可选 读取特征值的二进制数据操作完成回调函数

      调用成功或失败都会触发此回调。

    返回值:

    void : 无

    示例:

     
    

    uni-app使用plus注意事项

    BluetoothDeviceInfo

    蓝牙设备信息

     
    

    属性:

    • name: (String 类型 )蓝牙设备名称

      某些设备可能没有此字段值。

    • deviceId: (String 类型 )蓝牙设备的id
    • RSSI: (Number 类型 )蓝牙设备的信号强度
    • advertisData: (ArrayBuffer 类型 )蓝牙设备的广播数据段中的ManufacturerData数据段
    • advertisServiceUUIDs: (Array[String] 类型 )蓝牙设备的广播数据段中的ServiceUUIDs数据段
    • localName: (String 类型 )蓝牙设备的广播数据段中的LocalName数据段
    • serviceData: (JSON 类型 )蓝牙设备的广播数据段中的ServiceData数据段

    BluetoothService

    蓝牙设备服务信息

     
    

    属性:

    • uuid: (String 类型 )蓝牙设备服务的uuid
    • isPrimary: (Boolean 类型 )是否为设备的主服务

    Bluetoothcharacteristic

    蓝牙设备特征值

     
    

    属性:

    BluetoothcharacteristicProperties

    蓝牙设备特征值支持的操作类型

     
    

    属性:

    • read: (Boolean 类型 )特征值是否支持read操作
    • write: (Boolean 类型 )特征值是否支持write操作
    • notify: (Boolean 类型 )特征值是否支持notify操作
    • indicate: (Boolean 类型 )特征值是否支持indicate操作

    BluetoothSuccessCallback

    成功回调函数

     
    

    说明:

    不同接口触发的成功回调参数event包含的属性存在差异,具体参考对应的接口描述说明。

    参数:

    • event: ( Object ) 必选 回调参数

      回调参数包含的属性由调用接口决定,具体参考对应的接口描述说明。

    返回值:

    void : 无

    BluetoothFailCallback

    失败回调函数

     
    

    参数:

    • error: ( Exception ) 必选 回调参数,错误信息

      可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。

    返回值:

    void : 无

    BluetoothCompleteCallback

    操作完成回调函数

     
    

    说明:

    调用成功或失败都会触发此回调。

    参数:

    • event: ( Object ) 可选 回调参数

      调用成功时回调参数与BluetoothSuccessCallback一致,调用失败时回调参数与BluetoothFailCallback一致。

    返回值:

    void : 无

    BluetoothAdapterStateChangeCallback

    蓝牙适配器状态变化事件回调函数

     
    

    说明:

    蓝牙适配器状态发生变化时触发此回调。

    参数:

    • event: ( Object ) 可选 返回参数

      回调函数参数event对象包括以下属性: available - Boolean,蓝牙适配器是否可用; discovering - Boolean,蓝牙适配器是否处于搜索状态。

    返回值:

    void : 无

    BluetoothDeviceFoundCallback

    蓝牙适配器搜索到新设备事件回调函数

     
    

    说明:

    搜索到蓝牙设备时触发此回调。

    参数:

    • event: ( Object ) 可选 返回参数

      回调函数参数event对象包括以下属性: devices - Array,设备列表信息。

    返回值:

    void : 无

    BluetoothDeviceRSSICallback

    获取蓝牙设备信号强度成功回调函数

     
    

    说明:

    获取蓝牙设备信号强度时触发此回调。

    参数:

    • event: ( Object ) 可选 返回参数

      回调函数参数event对象包括以下属性: RSSI - Number,信号强度。

    返回值:

    void : 无

    BLEConnectionStateChangeCallback

    低功耗蓝牙设备连接状态变化事件回调函数

     
    

    说明:

    蓝牙设备连接状态发生变化时触发此回调。

    参数:

    • event: ( Object ) 可选 返回参数

      回调函数参数event对象包括以下属性: deviceId - String类型,蓝牙设备id; connected - Boolean类型,是否处于已连接状态。

    返回值:

    void : 无

    BLECharacteristicValueChangeCallback

    低功耗蓝牙设备的特征值变化事件回调函数

     
    

    说明:

    蓝牙设备对应的特征值发生变化时触发此回调。

    参数:

    • event: ( Object ) 可选 返回参数

      回调函数参数event对象包括以下属性: deviceId - String类型,蓝牙设备id; serviceId - String类型,蓝牙服务的uuid; characteristicId - String类型,蓝牙特征值的uuid; value - ArrayBuffer类型,特征值的最新值。

    返回值:

    void : 无

宜信网交流论坛 - 版权声明 1、在发表言论时,请遵守当地法律法规。主题所有言论纯属个人意见,与本站立场无关。
2、本站所有主题由作者发表,作者享有帖子相关版权,其他单位或个人使用、转载或引用本文时必须征得作者同意并注明来源于宜信网
3、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
4、帖子不遵守当地法律法规、广告、人身攻击等情况时,宜信网管理人员有权不事先通知发贴者而删除本文。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|宜信同城网交流论坛 ( 闽ICP备19021048号 )|站点地图

GMT+8, 2026-3-28 04:41 , Processed in 0.217805 second(s), 12 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表