美文网首页
微信小程序蓝牙踩坑

微信小程序蓝牙踩坑

作者: Leero丶 | 来源:发表于2018-11-20 17:20 被阅读0次

      因为在写这小程序之前已经写过一个功能类似的安卓App,所以对于蓝牙搜索、连接到收发数据的整个流程都比较熟悉。可是呢,看着小程序的API一顿操作后,在安卓上调试下,嗯,prefect,换ios上看看......F**k!问题来了!!
    1、IOS不能获取设备的Mac地址
      在官方文档上我们可以清晰知道返回的device对象所包含的内容,其中的deviceId就是吐槽的第一个点。在Android上,deviceId对应的是设备的Mac地址;而在IOS上,deviceId是分配给该设备的UUID,并不是对应的Mac地址,而解析其他的字段还是没有得到Mac地址信息。不过呢,事实证明,Android和IOS都可以利用deviceId完成蓝牙的连接、通讯操作的。只是当有显示Mac地址的需求时,这是需要注意的点。

    devices.png

    2、启动notify功能
      对于Android而言,当我们知道了serviceId和characteristicId对应的具体指,在连接蓝牙设备成功后,可以直接使用wx.notifyBLECharacteristicValueChange()方法,在参数上直接填上serviceId和characteristicId,完成启动notify功能。
      对于IOS而言,要启动notify功能,在连接成功后,必须要使用wx.getBLEDeviceServices()方法获取serviceId,然后通过获取到的serviceId调用wx.getBLEDeviceCharacteristics()方法获取characteristicId,最后再使用wx.notifyBLECharacteristicValueChange()方法启动notify功能。尽管获取的UUID就是我们所知道的值!所以,为了兼容性,启动notify功能还是要一步步地来。

    启动notify.png

    相关文章

      网友评论

          本文标题:微信小程序蓝牙踩坑

          本文链接:https://www.haomeiwen.com/subject/xudxqqtx.html