- 低功耗蓝牙设备如何进行配对?
- 低功耗蓝牙连接成功后, 在后续的扫描过程中为什么对于同样的远端低功耗蓝牙设备, 扫描出来的 deviceId 和 上次连接成功时候的 deviceId 不一致?
- 对于双模蓝牙设备, 在低功耗蓝牙连接成功后, 再在系统中对经典蓝牙进行配对,绑定和连接, 下次扫描的时候为什么这个设备的deviceId发生了变化
- 问题的症结在于,在首次连接低功耗蓝牙设备后,可以获得一个 deviceId, 在下次重连的时候, 扫描过程中, 对应设备的deviceId发生了变化, 我无法通过比较两次的deviceId数据以判定重连设备和最初连接的设备的是否是一个设备. 此外, 我看到文档中描述的是要配对后 deviceId 才不会变,但是我通过 connection.pairDevice 调起系统配对面板并确认配对后, 配对状态回调总是提示失败, 这是什么原因呢?
- 通过ble相关API扫描并连接到设备, 此时可以获取到一个对应的 deviceId
- 连接成功后, 手机可以通过特征值和远端低功耗蓝牙进行通信
- 手机重启后, 扫描远端设备不能扫描出步骤1中得到的 deviceId, 经过验证发现远端设备的 deviceId 在扫描后发生了变化
基于信息安全考虑,deviceId设备地址为随机MAC地址。配对成功后,该地址不会变更;已配对设备取消配对后重新扫描或蓝牙服务下电时,该随机地址会变更。目前推荐通过deviceName进行对比。connection.pairDevice配对失败请检查对端MAC地址。