ESP32 作为 BLE Server 时读写特征值的一些表现

自用。

  1. esp_ble_gatt_set_local_mtu 最大可以设置 MTU 为 517。客户端在连接后需要调用协商 MTU 的函数,最大只能协商为这个 local MTU 设置的值。
  2. 被读特征值时,特征值的最大长度受 ESP_GATT_MAX_ATTR_LEN 限制,为 600。读特征值可能涉及多次蓝牙数据包传输,但对客户端来说只会得到一次读特征值的结果,会自动分包。但对于服务器来说,分包时会收到多次读特征值的消息,要注意提供完整数据。
  3. 被写特征值时,最大接收长度同样受 ESP_GATT_MAX_ATTR_LEN 限制,超过的长度会被截断。同样,只会接收到一次写特征值的事件。
  4. 被读特征值时,可能在 ATT 层会出现属性过长的警告,读特征值的长度最好不要超过 MTU - 1。

你可能感兴趣的:(ESP32,蓝牙)