美文网首页我自己的专题
iOS蓝牙关于读数据

iOS蓝牙关于读数据

作者: MrCat________ | 来源:发表于2018-10-29 16:12 被阅读15次

    最近项目用到了蓝牙,需要蓝牙和外设的交互,基本的蓝牙知识网上有很多就不说了,但是我们遇到一个读取数据的问题:我们在与外设连接后需要需要获取外设的很多信息,比如外设扫描的WIFI列表,如果数据一次性返回过长会出现丢包的问题,经过测试一次性返回数据最多为134字节,超过就会丢包。

    蓝牙读取外设信息的方式有两种:Notify方式和手动读取,一般蓝牙开发硬件会告诉你他们用的哪种方式传输
    1.Notify方式


    1540800042322.jpg

    扫描到对应的特征值之后,读取之前需要添加监听,只要有数据就会执行

    • (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(nonnull CBCharacteristic *)characteristic error:(nullable NSError *)error
      直到读取完成。
      2.手动读取


      image.png

      扫描到对应的特征值之后,读取之后执行

    • (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(nonnull CBCharacteristic *)characteristic error:(nullable NSError *)error
      根据自己项目情况判断数据,如果184字节,继续执行
      [peripheral readValueForCharacteristic:characteristic];
      直到所有数据拼接是一个完整的json串

    相关文章

      网友评论

        本文标题:iOS蓝牙关于读数据

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