1***@qq.com
1***@qq.com
  • 发布:2022-05-19 10:45
  • 更新:2022-10-02 10:39
  • 阅读:1621

关于BLE蓝牙的一点点经验,希望能给你们多一点摸鱼的时间

分类:uni-app

步骤
1.初始化蓝牙模块 uni.openBluetoothAdapter
2.搜索设备 uni.startBluetoothDevicesDiscovery 这一步拿到设备Id deviceId
3.连接到设备 uni.createBLEConnection 连接成功后停止扫描 uni.stopBluetoothDevicesDiscovery,断开连接到下次连接需要等待几秒钟,让设备能反应过来,哈哈!
4.获取设备的所有服务uni.getBLEDeviceServices 这里遍历res.services拿到主服务
5.获取到某个服务的所有特征值uni.getBLEDeviceCharacteristics 遍历res.characteristics
6.一般用不到read的特征值,所以不需要保存,只要保存写和订阅通知的
7.这里需要同时满足(item.properties.notify || item.properties.indicate) && item.properties.write这个条件,通知和写必须同时满足,我这边是这样的,只有同时满足的才能发送和订阅成功,另外,只需要订阅一次!
这里记录下此时的服务id和特征值,用于后面写入数据
8.监听数据uni.onBLECharacteristicValueChange 可以放外面,提前监听,不需要等到订阅通知成功后再进行
9.写入数据 uni.writeBLECharacteristicValue 这里可能会遇到发送超过20字节问题,采用分包发送 ;每发送20字节需要sleep一定时间,这个时间也是看设备反应快慢的,这里根据自己的设备尝试设置合适的值.

源代码自己下载观看,觉得对你有一点帮助的,点个赞支持一下,码字不容易

5 关注 分享
1***@qq.com 4***@qq.com BoredApe 2***@qq.com 9***@qq.com

要回复文章请先登录注册

2***@qq.com

2***@qq.com

请问源代码在哪里
2022-10-02 10:39
1***@qq.com

1***@qq.com

获取不了serviceId
2022-06-28 16:45