zoukankan      html  css  js  c++  java
  • 苹果手机(ios系统)蓝牙BLE的一些特点

    摘自<BluetoothDesignGuidelines.pdf>文档

    1. pairing:

    苹果手机无法主动发起SMP配对流程,可通过以下两种方式发起配对流程:

    (1)从端主动发起配对流程;

    (2)从端在收到主端ATT指令后,返回SMP FAIL(错误码看SIG规范)给苹果手机,则苹果会重新发起配对流程。

    2. Connection Parameters:

    苹果的连接间隔默认为30ms,如果要更新,需要满足如下要求,且最小可以申请到20ms,如果蓝牙服务带HID服务,则可以申请的最小连接间隔为11.25ms,另外,苹果从来不会读取设备端偏爱的连接间隔的character值。

    ● Interval Max * (Slave Latency + 1) ≤ 2 seconds
    ● Interval Min ≥ 20 ms
    ● Interval Min + 20 ms ≤ Interval Max Slave Latency ≤ 4
    ● connSupervisionTimeout ≤ 6 seconds
    ● Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout

    3. services

    GAP服务必须包含Device Name characteristic,并且是可写的;

    当从端有能力改变自身服务时, GATT服务必须包含Service Changed characteristic,因为苹果可能会根据该特征值判断原来读取的从端设备的service list等信息是否还可以继续使用。

    举例说明:假如从端的GATT没有Service Changed characteristic,且从端已经与一部苹果连接过,当从端的service list变化之后,再次与该苹果连接时,那么苹果默认认为从端没有能力改变自身的service等信息,那么苹果就会继续使用之前的信息,最终导致service list错乱。

    4. 广播类型:

    苹果手机不支持定向广播。

    5. 广播数据:

    广播数据必须包含:Flags、TX Power Level、Local Name、Services(广播primary services,第二服务不要广播);

    待更新… …

  • 相关阅读:
    rpm的制作 spec文件写法
    RPM 打包技术与典型 SPEC 文件分析
    生成器
    闭包
    内置函数
    函数递归
    高阶函数
    匿名函数
    文件操作
    bytes
  • 原文地址:https://www.cnblogs.com/unrulife/p/10764366.html
Copyright © 2011-2022 走看看