微信小程序蓝牙实战进阶篇(含安卓、苹果差异)

 时间:2026-02-15 00:47:30

1、首先要了解一下BLE4.0,这里不细讲,请自行百度下。

需要了解下MAC、UUID、UUID服务、特征值这些东西。

微信小程序蓝牙实战进阶篇(含安卓、苹果差异)

2、还要了解微信小程序真机调试的方法。(vConsole)

微信小程序蓝牙实战进阶篇(含安卓、苹果差异)

1、增加适当延迟,能解决很多问题。在调试过程中当你一段程序中连着用到多个关联的API,请跟进调试结果增加适当延迟,那么这些有先后关系的API就能正常运行了。

比如:

wx.openBluetoothAdapter

wx.getBluetoothAdapterState

不加延迟可能蓝牙打开错误。

微信小程序蓝牙实战进阶篇(含安卓、苹果差异)

2、开发者工具和 Android 上获取到的deviceId为设备 MAC 地址,iOS 上则为设备 uuid。

微信小程序蓝牙实战进阶篇(含安卓、苹果差异)

3、UUID和UUID特征值如果固定的最好,提前先获得。

如果是随机改变的使用这两个API获得。

微信小程序蓝牙实战进阶篇(含安卓、苹果差异)

4、蓝牙连接时,安卓可以直接识别到MAC地址,如果知道特征值对应服务UUID和特征值的UUID,可以跳过获得以上两个值的API,直接使用wx.notifyBLECharacteristicValueChanged连接。

微信小程序蓝牙实战进阶篇(含安卓、苹果差异)

微信小程序蓝牙实战进阶篇(含安卓、苹果差异)

5、如果是苹果系统就算你知道了特征值对应服务UUID和特征值的UUID,你仍然要调用API读取一次。否则仍然无法连接。

微信小程序蓝牙实战进阶篇(含安卓、苹果差异)

微信小程序蓝牙实战进阶篇(含安卓、苹果差异)

6、如果想要苹果和安卓能同时使用,那么这两API就必须调用,不会影响安卓连接。不过要注意设置一下两个API之间的延时。

微信小程序蓝牙实战进阶篇(含安卓、苹果差异)

7、连接成功后接收读取数据可以通过wx.onBLECharacteristicValueChange,这里要注意你接收读取数据的长度。这里的buffer是有长度限制的,好像是20个字节,所以你的数据太长的时候要分段读取。

  • dos命令将一段话存储到新建文本文档中
  • Windows作为NTP同步时间的服务器时,需要的设置
  • 用Windows Update给系统打补丁的方法和注意事项
  • 如何安装SQL Server2008并解决安装中遇到的问题
  • SQLserver制定维护计划
  • 热门搜索
    甩干机什么牌子好 妩媚意思 什么是寡妇年 七夕又叫什么节 什么是空手套白狼 臭名远扬的意思 dat用什么软件打开 苹果id是什么意思 同仇敌忾是什么意思 从容不迫的意思是什么