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设备

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); 
})

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

分享
微博
QQ
微信
回复
2024-08-13 12:15:00
相关问题
HarmonyOS BLE写数据问题
350浏览 • 1回复 待解决
HarmonyOS 经典蓝牙的搜索问题
249浏览 • 1回复 待解决
HarmonyOS 蓝牙BLE开发 Dome
354浏览 • 1回复 待解决
hi3861,mqtt断开自动重连问题
8315浏览 • 1回复 待解决
有知道鸿蒙BLE扫描问题的吗?
2138浏览 • 1回复 待解决
关于鸿蒙BLE的一些问题
4189浏览 • 1回复 待解决
HarmonyOS当前是否有BLE能力
278浏览 • 1回复 待解决
BLE扫描条件设置的问题有知道的吗?
2921浏览 • 1回复 待解决
HarmonyOS Text搜索关键字高亮功能
239浏览 • 1回复 待解决
Search搜索框如何配置?
316浏览 • 1回复 待解决
socket连接NetAddress获取问题
283浏览 • 1回复 待解决
HarmonyOS Web如何搜索html界面的内容?
218浏览 • 1回复 待解决
BLE蓝牙开发如何实现对智能灯的控制?
6646浏览 • 1回复 待解决
openharmony 基于arkts的socket连接问题
3937浏览 • 1回复 待解决
HarmonyOS 如何在Text中做搜索词高亮?
90浏览 • 1回复 待解决