HarmonyOS BLE 搜索、连接、断开等问题

发现关于BLE操作的文档 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-bluetooth-ble-V5能否给我们一个参考的例子,从扫描到连接BLE的大致API调用说明。

HarmonyOS
2024-08-12 15:40:52
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zxjiu

可以参考蓝牙设置开发指导(蓝牙设置主要提供了开启蓝牙、关闭蓝牙、获取蓝牙状态的方法,帮助开发者实现基本蓝牙功能。):https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/br-development-guide-V5

广播与扫描开发指导(提供了蓝牙设备的开启广播、关闭广播、开启扫描、关闭扫描方法,通过广播和扫描发现对端蓝牙设备,实现低功耗的通信):https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ble-development-guide-V5

通用属性协议开发指导(蓝牙设备可以向其他设备提供服务,也可以从其他设备获取服务):https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/gatt-development-guide-V5

串行通信开发指导(蓝牙设备可以像使用串口一样进行数据传输,例如传输文件、文本等):https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/spp-development-guide-V5

面链接中提供的蓝牙开启关闭,开启扫描,关闭扫面,客户端和服务端的连接通信方法。

流程:

一、开关蓝牙。

二、广播定向扫描。

三、连接。

四、数据传输。

1、server主动发送消息。

this.mGattServer.notifyCharacteristicChanged(deviceId, notifyCharacteristic);// 特征值变化时,通知已连接的client设备
  • 1.

2、client请求写入消息,server回复。

this.mGattClientDevice.writeCharacteristicValue(characteristic, ble.GattWriteType.WRITE); 
// 订阅写特征值事件,特征值变化,通知gattClient 
this.mGattServer.on('characteristicWrite', (characteristicWriteReq) => { 
  let characteristicUuid = characteristicWriteReq.characteristicUuid; 
  let serviceUuid = characteristicWriteReq.serviceUuid; 
  let deviceId = characteristicWriteReq.deviceId; 
  let notifyCharacteristic: ble.NotifyCharacteristic = { 
    serviceUuid: serviceUuid, 
    characteristicUuid: characteristicUuid, 
    characteristicValue: this.string2ArrayBuffer('Value4notifyCharacteristic'), 
    confirm: false 
  } 
  // 特征值变化时,通知已连接的client设备 
  this.mGattServer.notifyCharacteristicChanged(deviceId, notifyCharacteristic); 
  console.info('GattServer notifyCharacteristicChanged success, deviceId = ' + deviceId); 
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

运行效果:需要两个设备都安装应用,都开启蓝牙,一个开启server,一个开始扫描,点击扫描出的蓝牙项,进行连接。

分享
微博
QQ
微信
回复
2024-08-13 12:15:00
相关问题
HarmonyOS websocket连接后自动断开
943浏览 • 1回复 待解决
HarmonyOS WebSocket连接片刻后自动断开
834浏览 • 1回复 待解决
HarmonyOS ble蓝牙问题
797浏览 • 1回复 待解决
HarmonyOS BLE写数据问题
1130浏览 • 1回复 待解决
hi3861,mqtt断开自动重连问题
9428浏览 • 1回复 待解决
HarmonyOS 经典蓝牙的搜索问题
1048浏览 • 1回复 待解决
HarmonyOS BLE蓝牙发送数据量大的问题
1002浏览 • 1回复 待解决
有知道鸿蒙BLE扫描问题的吗?
2770浏览 • 1回复 待解决
HarmonyOS 连接WIFI的问题
1213浏览 • 1回复 待解决
HarmonyOS 如何监听蓝牙socket断开
544浏览 • 1回复 待解决