]> granicus.if.org Git - esp-idf/commitdiff
Update blufi.rst
authorJin Fang Cheng Cheng <jinfangchengcheng@espressif.com>
Wed, 6 Jun 2018 04:11:57 +0000 (12:11 +0800)
committerJin Fang Cheng Cheng <jinfangchengcheng@espressif.com>
Wed, 6 Jun 2018 04:11:57 +0000 (12:11 +0800)
docs/zh_CN/api-guides/blufi.rst

index 74f0689617cbff97ab829cf0b7c6a8e671cf2538..1f9ec8905fca3d1bffb84c46ada6b6e0ee2e46e2 100644 (file)
@@ -121,228 +121,227 @@ Ack 帧格式(8 bit):
 
  **1.1 控制帧 (0x0b’00)** 
 
-+------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-| 控制帧 / 0x0b’00 | 含义                              | 解释                                                           | 备注                                                                 |
-+==================+===================================+================================================================+======================================================================+
-| 0x0b’000000      | Ack                               | 用来回复对方发的帧,                                           | Data 域使用1 byte Sequence 值,                                      |
-|                  |                                   | Ack 帧的 Data 域使用回复对象帧的 Sequence 值。                 | 与恢复对象帧的Sequence 值相同。                                      |
-+------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-| 0x1b’000001      | Set ESP32 to the security mode.   | 通知 ESP32 发送数据时使用的安全模式,                          | Data 域占用 1 byte。                                                 |
-|                  |                                   | 在该过程中可设置多次,每次设置后影响后续安全模式。             | 高 4 bit 为控制帧的安全模式,低 4bit 为数据帧的安全模式。            |
-+                  +                                   + 在不设置的情况下,ESP32 默认控制帧和数据帧均为无校验、无加密。 +----------------------------------------------------------------------+
-|                  |                                   | 手机到 ESP32 方向依赖于帧 Control 域。                         | b’0000:无校验、无加密;                                             |
-+                  +                                   +                                                                +----------------------------------------------------------------------+
-|                  |                                   |                                                                | b’0001:有校验、无加密;                                             |
-+                  +                                   +                                                                +----------------------------------------------------------------------+
-|                  |                                   |                                                                | b’0010:无校验、有加密;                                             |
-+                  +                                   +                                                                +----------------------------------------------------------------------+
-|                  |                                   |                                                                | b’0011:有校验、有加密。                                             |
-+------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-| 0x2b’000010      | Set the Wi-Fi opmode of ESP32.    | 设置 ESP32 的 Wi-Fi 模式,帧包含 opmode 信息。                 | data[0] 用于表示 opmode 类型,包括:                                 |
-+                  +                                   +                                                                +----------------------------------------------------------------------+
-|                  |                                   |                                                                | 0x00: NULL;                                                          |
-+                  +                                   +                                                                +----------------------------------------------------------------------+
-|                  |                                   |                                                                | 0x01: STA;                                                           |
-+                  +                                   +                                                                +----------------------------------------------------------------------+
-|                  |                                   |                                                                | 0x02: SoftAP;                                                        |
-+                  +                                   +                                                                +----------------------------------------------------------------------+
-|                  |                                   |                                                                | 0x03: SoftAP&STA.                                                    |
-+                  +                                   +                                                                +----------------------------------------------------------------------+
-|                  |                                   |                                                                | 如果设置有包含 AP,请尽量优先                                        |
-|                  |                                   |                                                                | 设置 AP 模式的SSID/Password/Max Conn Number 等。                     |
-+------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-| 0x3b’000011      | Connect ESP32 to the AP.          | 通知 ESP32,必要的信息已经发送完毕,可以连接 AP。              | 不包含 Data 域。                                                     |
-+------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-| 0x4b’000100      | Disconnect ESP32 from  the AP.    | 通知 ESP32 断开与 AP 的连接                                    | 不包含 Data 域。                                                     |
-+------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-| 0x5b’000101      | Get the status of Wi-Fi.          | 获取 ESP32 的 Wi-Fi 模式和状态等信息。                         | 不包含 Data 域。                                                     |
-|                  |                                   |                                                                | ESP32 收到此控制帧后,后续会通过 Wi-Fi 连接状态                      |
-|                  |                                   |                                                                | 报告 (Wi-Fi Connection State Report) 数据帧来回复手机端当前          |
-|                  |                                   |                                                                | 所处的 opmode、连接状态、SSID 等信息。提供给手机端的信息由应用决定。 |
-+------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-| 0x6b’000110      | Disconnect the STA device         | 处于 SoftAP 模式时,踢掉某个 STA 设备。                        | data[0~5] 为 STA 设备的 MAC 地址,                                   |
-|                  | from the SoftAP in SoftAP mode.   |                                                                | 如有多个 STA,则 [6-11] 为第二个,依次类推。                         |
-+------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-| 0x7b'000111      | Get the version.                  |                                                                |                                                                      |
-+------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-| 0x8b’001000      | Tell ESP32 to disconnect          | 通知 ESP32 断开蓝牙连接。                                      | ESP32 收到该指令后主动断开蓝牙连接。                                 |
-|                  | the BLE GATT link.                |                                                                |                                                                      |
-+------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-| 0x9b’001001      | Tell ESP32 to get the Wi-Fi list. | 通知 ESP32 扫描周围的 Wi-Fi 热点                               | 不包含 Data 域。                                                     |
-|                  |                                   |                                                                | ESP32 收到此控制帧后,会发送包含 Wi-Fi 热点                          |
-|                  |                                   |                                                                | 报告 (Wi-Fi List Report) 的数据帧回复                                |
-|                  |                                   |                                                                | 手机端 ESP32 周围的 Wi-Fi 热点。                                     |
-+------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
+  +------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
+  | 控制帧 / 0x0b’00 | 含义                              | 解释                                                           | 备注                                                                 |
+  +==================+===================================+================================================================+======================================================================+
+  | 0x0b’000000      | Ack                               | 用来回复对方发的帧,                                           | Data 域使用1 byte Sequence 值,                                      |
+  |                  |                                   | Ack 帧的 Data 域使用回复对象帧的 Sequence 值。                 | 与恢复对象帧的Sequence 值相同。                                      |
+  +------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
+  | 0x1b’000001      | Set ESP32 to the security mode.   | 通知 ESP32 发送数据时使用的安全模式,                          | Data 域占用 1 byte。                                                 |
+  |                  |                                   | 在该过程中可设置多次,每次设置后影响后续安全模式。             | 高 4 bit 为控制帧的安全模式,低 4bit 为数据帧的安全模式。            |
+  +                  +                                   + 在不设置的情况下,ESP32 默认控制帧和数据帧均为无校验、无加密。 +----------------------------------------------------------------------+
+  |                  |                                   | 手机到 ESP32 方向依赖于帧 Control 域。                         | b’0000:无校验、无加密;                                             |
+  +                  +                                   +                                                                +----------------------------------------------------------------------+
+  |                  |                                   |                                                                | b’0001:有校验、无加密;                                             |
+  +                  +                                   +                                                                +----------------------------------------------------------------------+
+  |                  |                                   |                                                                | b’0010:无校验、有加密;                                             |
+  +                  +                                   +                                                                +----------------------------------------------------------------------+
+  |                  |                                   |                                                                | b’0011:有校验、有加密。                                             |
+  +------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
+  | 0x2b’000010      | Set the Wi-Fi opmode of ESP32.    | 设置 ESP32 的 Wi-Fi 模式,帧包含 opmode 信息。                 | data[0] 用于表示 opmode 类型,包括:                                 |
+  +                  +                                   +                                                                +----------------------------------------------------------------------+
+  |                  |                                   |                                                                | 0x00: NULL;                                                          |
+  +                  +                                   +                                                                +----------------------------------------------------------------------+
+  |                  |                                   |                                                                | 0x01: STA;                                                           |
+  +                  +                                   +                                                                +----------------------------------------------------------------------+
+  |                  |                                   |                                                                | 0x02: SoftAP;                                                        |
+  +                  +                                   +                                                                +----------------------------------------------------------------------+
+  |                  |                                   |                                                                | 0x03: SoftAP&STA.                                                    |
+  +                  +                                   +                                                                +----------------------------------------------------------------------+
+  |                  |                                   |                                                                | 如果设置有包含 AP,请尽量优先                                        |
+  |                  |                                   |                                                                | 设置 AP 模式的SSID/Password/Max Conn Number 等。                     |
+  +------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
+  | 0x3b’000011      | Connect ESP32 to the AP.          | 通知 ESP32,必要的信息已经发送完毕,可以连接 AP。              | 不包含 Data 域。                                                     |
+  +------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
+  | 0x4b’000100      | Disconnect ESP32 from  the AP.    | 通知 ESP32 断开与 AP 的连接                                    | 不包含 Data 域。                                                     |
+  +------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
+  | 0x5b’000101      | Get the status of Wi-Fi.          | 获取 ESP32 的 Wi-Fi 模式和状态等信息。                         | 不包含 Data 域。                                                     |
+  |                  |                                   |                                                                | ESP32 收到此控制帧后,后续会通过 Wi-Fi 连接状态                      |
+  |                  |                                   |                                                                | 报告 (Wi-Fi Connection State Report) 数据帧来回复手机端当前          |
+  |                  |                                   |                                                                | 所处的 opmode、连接状态、SSID 等信息。提供给手机端的信息由应用决定。 |
+  +------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
+  | 0x6b’000110      | Disconnect the STA device         | 处于 SoftAP 模式时,踢掉某个 STA 设备。                        | data[0~5] 为 STA 设备的 MAC 地址,                                   |
+  |                  | from the SoftAP in SoftAP mode.   |                                                                | 如有多个 STA,则 [6-11] 为第二个,依次类推。                         |
+  +------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
+  | 0x7b'000111      | Get the version.                  |                                                                |                                                                      |
+  +------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
+  | 0x8b’001000      | Tell ESP32 to disconnect          | 通知 ESP32 断开蓝牙连接。                                      | ESP32 收到该指令后主动断开蓝牙连接。                                 |
+  |                  | the BLE GATT link.                |                                                                |                                                                      |
+  +------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
+  | 0x9b’001001      | Tell ESP32 to get the Wi-Fi list. | 通知 ESP32 扫描周围的 Wi-Fi 热点                               | 不包含 Data 域。                                                     |
+  |                  |                                   |                                                                | ESP32 收到此控制帧后,会发送包含 Wi-Fi 热点                          |
+  |                  |                                   |                                                                | 报告 (Wi-Fi List Report) 的数据帧回复                                |
+  |                  |                                   |                                                                | 手机端 ESP32 周围的 Wi-Fi 热点。                                     |
+  +------------------+-----------------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
 
  **1.2 数据帧 (0x1b’01)**
 
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 数据帧        | 含义                                   | 解释                                           | 备注                                                 |
-+===============+========================================+================================================+======================================================+
-| 0x0 b’000000  | Negotiation data.                      | 用来发送协商数据,传输到应用层注册的回调函数。 | 数据长度与 Length 域有关。                           |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x1 b’000001  | BSSID for STA mode.                    | STA 将要连接的 AP 的 BSSID(用于隐藏SSID)。   | 数据长度与 Length 域有关。                           |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
-|               |                                        |                                                | 表示向手机端提供信息。                               |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x2 b’000010  | SSID for STA mode.                     | STA 将要连接的 AP 的 SSID。                    | 数据长度与 Length 域有关。                           |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
-|               |                                        |                                                | 表示向手机端提供信息。                               |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x3 b’000011  | Password for STA mode.                 | STA 将要连接的 AP 的密码。                     | 数据长度与 Length 域有关。                           |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
-|               |                                        |                                                | 表示向手机端提供信息。                               |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x4 b’000100  | SSID for SoftAP mode.                  | SoftAP 模式使用的 SSID。                       | 数据长度与 Length 域有关。                           |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
-|               |                                        |                                                | 表示向手机端提供信息。                               |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x5 b’000101  | Password for SoftAPmode.               | SoftAP 模式使用的密码。                        | 数据长度与 Length 域有关。                           |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
-|               |                                        |                                                | 表示向手机端提供信息。                               |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x6 b’000110  | Max connection number for SoftAP mode. | AP 模式的最大连接数。                          | data[0] 表示连接数的值,范围 1~4。                   |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
-|               |                                        |                                                | 表示向手机端提供信息。                               |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x7b’000111   | Authentication mode for SoftAP mode.   | AP 模式的认证模式。                            | data[0]:                                            |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x00: OPEN;                                          |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x01: WEP;                                           |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x02: WPA_PSK;                                       |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x03: WPA2_PSK;                                      |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x04: WPA_WPA2_PSK.                                  |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
-|               |                                        |                                                | 表示向手机端提供信息。                               |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x8b’001000   | Channel for SoftAP mode.               | SoftAP 模式的通道数量。                        | data[0] 表示通道的数量,范围 1~14。                  |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
-|               |                                        |                                                | 表示向手机端提供信息。                               |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x9b’001001   | Username.                              | 使用企业级加密时,Client 端的用户名。          | 数据长度与 Length 域有关。                           |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0xab’001010   | CA certification.                      | 进行企业级加密时使用的 CA 证书。               | 数据长度与 Length 域有关,                           |
-|               |                                        |                                                | 长度不够,可用分片。                                 |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0xbb’001011   | Client certification.                  | 进行企业级加密时,Client 端的证书。            | 数据长度与 Length 域有关,                           |
-+               +                                        +------------------------------------------------+ 长度不够,可用分片。                                 +
-|               |                                        | 可包含或不包含私钥,由证书内容决定。           |                                                      |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0xcb’001100   | Server certification.                  | 进行企业级加密时,Server 端的证书。            | 数据长度与 Length 域有关,                           |
-+               +                                        +------------------------------------------------+ 长度不够,可用分片。                                 +
-|               |                                        | 可包含或不包含私钥,由证书内容决定。           |                                                      |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0xdb’001101   | Client private key.                    | 进行企业级加密时,Client 端的私钥。            | 数据长度与 Length 域有关,                           |
-|               |                                        |                                                | 长度不够,可用分片。                                 |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0xeb’001110   | Server private key.                    | 进行企业级加密时,Server 端的私钥。            | 数据长度与 Length 域有关,                           |
-|               |                                        |                                                | 长度不够,可用分片。                                 |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0xf b’001111  | Wi-Fi connection state report.         | 通知手机 ESP32 的 Wi-Fi 状态,                 | data[0] 表示 opmode,包括:                          |
-|               |                                        | 包括 STA状态和 SoftAP 状态,                   |                                                      |
-|               |                                        | 用于手机配置 STA 连接时的通知,                |                                                      |
-|               |                                        | 或有 STA 连接上 SoftAP 时的通知。              |                                                      |
-+               +                                        +------------------------------------------------+------------------------------------------------------+
-|               |                                        | 但收到手机询问 Wi-Fi 状态时,                  | 0x00: NULL;                                         |
-+               +                                        + 除了回复此帧外,还可回复其他数据帧。           +------------------------------------------------------+
-|               |                                        |                                                | 0x01: STA;                                           |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x02: SoftAP;                                        |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x03: SoftAP&STA                                     |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | data[1]:STA 的连接状态,                            |
-|               |                                        |                                                | 0x0 表示处于连接状态,                               |
-|               |                                        |                                                | 其他表示处于非连接状态;                             |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | data[2]:SoftAP 的连接状态,                         |
-|               |                                        |                                                | 即表示有多少 STA 已经连接。                          |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | data[3] 及以后:为按照本协议格式 SSID\BSSID 等信息。 |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x10 b’010000 | Version.                               |                                                | data[0]= great version                               |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | data[1]=sub version                                  |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x11 B’010001 | Wi-Fi list.                            | 通知手机 ESP32 周围的 Wi-Fi 热点列表。         | 数据帧数据格式为 Length + RSSI + SSID,               |
-|               |                                        |                                                | 数据较长时可分片发送。                               |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x12 B’010010 | Report error.                          | 通知手机 BluFi 过程出现异常错误。              | 0x00: sequence error;                                |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x01: checksum error;                                |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x02: decrypt error;                                 |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x03: encrypt error;                                 |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x04: init security error;                           |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x05: dh malloc error;                               |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x06: dh param error;                                |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x07: read param  error;                             |
-+               +                                        +                                                +------------------------------------------------------+
-|               |                                        |                                                | 0x08: make public error.                             |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
-| 0x13 B’010011 | Custom data.                           | 用户发送或者接收自定义数据。                   | 数据较长时可分片发送。                               |
-+---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 数据帧        | 含义                                   | 解释                                           | 备注                                                 |
+  +===============+========================================+================================================+======================================================+
+  | 0x0 b’000000  | Negotiation data.                      | 用来发送协商数据,传输到应用层注册的回调函数。 | 数据长度与 Length 域有关。                           |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x1 b’000001  | BSSID for STA mode.                    | STA 将要连接的 AP 的 BSSID(用于隐藏SSID)。   | 数据长度与 Length 域有关。                           |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
+  |               |                                        |                                                | 表示向手机端提供信息。                               |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x2 b’000010  | SSID for STA mode.                     | STA 将要连接的 AP 的 SSID。                    | 数据长度与 Length 域有关。                           |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
+  |               |                                        |                                                | 表示向手机端提供信息。                               |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x3 b’000011  | Password for STA mode.                 | STA 将要连接的 AP 的密码。                     | 数据长度与 Length 域有关。                           |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
+  |               |                                        |                                                | 表示向手机端提供信息。                               |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x4 b’000100  | SSID for SoftAP mode.                  | SoftAP 模式使用的 SSID。                       | 数据长度与 Length 域有关。                           |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
+  |               |                                        |                                                | 表示向手机端提供信息。                               |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x5 b’000101  | Password for SoftAPmode.               | SoftAP 模式使用的密码。                        | 数据长度与 Length 域有关。                           |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
+  |               |                                        |                                                | 表示向手机端提供信息。                               |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x6 b’000110  | Max connection number for SoftAP mode. | AP 模式的最大连接数。                          | data[0] 表示连接数的值,范围 1~4。                   |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
+  |               |                                        |                                                | 表示向手机端提供信息。                               |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x7b’000111   | Authentication mode for SoftAP mode.   | AP 模式的认证模式。                            | data[0]:                                            |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x00: OPEN;                                          |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x01: WEP;                                           |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x02: WPA_PSK;                                       |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x03: WPA2_PSK;                                      |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x04: WPA_WPA2_PSK.                                  |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
+  |               |                                        |                                                | 表示向手机端提供信息。                               |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x8b’001000   | Channel for SoftAP mode.               | SoftAP 模式的通道数量。                        | data[0] 表示通道的数量,范围 1~14。                  |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 当传输方向为 ESP32 到手机时,                        |
+  |               |                                        |                                                | 表示向手机端提供信息。                               |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x9b’001001   | Username.                              | 使用企业级加密时,Client 端的用户名。          | 数据长度与 Length 域有关。                           |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0xab’001010   | CA certification.                      | 进行企业级加密时使用的 CA 证书。               | 数据长度与 Length 域有关,                           |
+  |               |                                        |                                                | 长度不够,可用分片。                                 |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0xbb’001011   | Client certification.                  | 进行企业级加密时,Client 端的证书。            | 数据长度与 Length 域有关,                           |
+  +               +                                        +------------------------------------------------+ 长度不够,可用分片。                                 +
+  |               |                                        | 可包含或不包含私钥,由证书内容决定。           |                                                      |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0xcb’001100   | Server certification.                  | 进行企业级加密时,Server 端的证书。            | 数据长度与 Length 域有关,                           |
+  +               +                                        +------------------------------------------------+ 长度不够,可用分片。                                 +
+  |               |                                        | 可包含或不包含私钥,由证书内容决定。           |                                                      |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0xdb’001101   | Client private key.                    | 进行企业级加密时,Client 端的私钥。            | 数据长度与 Length 域有关,                           |
+  |               |                                        |                                                | 长度不够,可用分片。                                 |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0xeb’001110   | Server private key.                    | 进行企业级加密时,Server 端的私钥。            | 数据长度与 Length 域有关,                           |
+  |               |                                        |                                                | 长度不够,可用分片。                                 |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0xf b’001111  | Wi-Fi connection state report.         | 通知手机 ESP32 的 Wi-Fi 状态,                 | data[0] 表示 opmode,包括:                          |
+  |               |                                        | 包括 STA状态和 SoftAP 状态,                   |                                                      |
+  |               |                                        | 用于手机配置 STA 连接时的通知,                |                                                      |
+  |               |                                        | 或有 STA 连接上 SoftAP 时的通知。              |                                                      |
+  +               +                                        +------------------------------------------------+------------------------------------------------------+
+  |               |                                        | 但收到手机询问 Wi-Fi 状态时,                  | 0x00: NULL;                                         |
+  +               +                                        + 除了回复此帧外,还可回复其他数据帧。           +------------------------------------------------------+
+  |               |                                        |                                                | 0x01: STA;                                           |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x02: SoftAP;                                        |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x03: SoftAP&STA                                     |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | data[1]:STA 的连接状态,                            |
+  |               |                                        |                                                | 0x0 表示处于连接状态,                               |
+  |               |                                        |                                                | 其他表示处于非连接状态;                             |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | data[2]:SoftAP 的连接状态,                         |
+  |               |                                        |                                                | 即表示有多少 STA 已经连接。                          |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | data[3] 及以后:为按照本协议格式 SSID\BSSID 等信息。 |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x10 b’010000 | Version.                               |                                                | data[0]= great version                               |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | data[1]=sub version                                  |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x11 B’010001 | Wi-Fi list.                            | 通知手机 ESP32 周围的 Wi-Fi 热点列表。         | 数据帧数据格式为 Length + RSSI + SSID,               |
+  |               |                                        |                                                | 数据较长时可分片发送。                               |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x12 B’010010 | Report error.                          | 通知手机 BluFi 过程出现异常错误。              | 0x00: sequence error;                                |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x01: checksum error;                                |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x02: decrypt error;                                 |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x03: encrypt error;                                 |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x04: init security error;                           |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x05: dh malloc error;                               |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x06: dh param error;                                |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x07: read param  error;                             |
+  +               +                                        +                                                +------------------------------------------------------+
+  |               |                                        |                                                | 0x08: make public error.                             |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
+  | 0x13 B’010011 | Custom data.                           | 用户发送或者接收自定义数据。                   | 数据较长时可分片发送。                               |
+  +---------------+----------------------------------------+------------------------------------------------+------------------------------------------------------+
 
 2. Frame Control
 
    帧控制域,占 1 byte,每个 bit 表示不同含义。
    
-+----------------+-------------------------------------------------------------------------+
-| 位             | 含义                                                                    |
-+================+=========================================================================+
-| 0x01           | 表示帧是否加密。                                                        |
-+                +-------------------------------------------------------------------------+
-|                | 1 表示加密,0 表示未加密。                                              |
-+                +-------------------------------------------------------------------------+
-|                | 加密部分帧括完整的 DATA 域加密之前的明文(不帧含末尾的校验)。          |
-+                +-------------------------------------------------------------------------+
-|                | 控制帧暂不加密,故控制帧此位为 0。                                      |
-+----------------+-------------------------------------------------------------------------+
-| 0x02           | 表示帧 Data 域结尾是否帧含校验(例如 SHA1,MD5,CRC等)需要校验的数据域, |
-|                | 包括 sequcne + data length + 明文 data。                                |
-+                +-------------------------------------------------------------------------+
-|                | 控制帧和数据帧都可以包含校验位或不包含。                                |
-+----------------+-------------------------------------------------------------------------+
-| 0x04           | 表示数据方向。                                                          |
-+                +-------------------------------------------------------------------------+
-|                | 0 表示手机发向 ESP32;                                                  |
-+                +-------------------------------------------------------------------------+
-|                | 1 表示 ESP32 发向手机。                                                 |
-+----------------+-------------------------------------------------------------------------+
-| 0x08           | 表示是否要求对方回复 ack。                                              |
-+                +-------------------------------------------------------------------------+
-|                | 0 表示不要求;                                                          |
-+                +-------------------------------------------------------------------------+
-|                | 1 表示要求回复 ack。                                                    |
-+----------------+-------------------------------------------------------------------------+
-| 0x10           | 表示是否有后续的数据分片。                                              |
-+                +-------------------------------------------------------------------------+
-|                | 0 表示此帧没有后续数据分片;                                            |
-+                +-------------------------------------------------------------------------+
-|                | 1 表示还有后续数据分片,用来传输较长的数据。                            |
-+                +-------------------------------------------------------------------------+
-|                | 如果是 Frag 帧,则告知当前 content 部分+后续 content 部分的总长度,     |
-|                | 位于 Data 域的前 2 字节(即最大支持 64K 的 content 数据)。              |
-+----------------+-------------------------------------------------------------------------+
-| 0x10~0x80 保留 |                                                                         |
-+----------------+-------------------------------------------------------------------------+
+   +----------------+-------------------------------------------------------------------------------------------------------------------------------+
+   | 位             | 含义                                                                                                                          |
+   +================+===============================================================================================================================+
+   | 0x01           | 表示帧是否加密。                                                                                                              |
+   +                +-------------------------------------------------------------------------------------------------------------------------------+
+   |                | 1 表示加密,0 表示未加密。                                                                                                    |
+   +                +-------------------------------------------------------------------------------------------------------------------------------+
+   |                | 加密部分帧括完整的 DATA 域加密之前的明文(不帧含末尾的校验)。                                                                |
+   +                +-------------------------------------------------------------------------------------------------------------------------------+
+   |                | 控制帧暂不加密,故控制帧此位为 0。                                                                                            |
+   +----------------+-------------------------------------------------------------------------------------------------------------------------------+
+   | 0x02           | 表示帧 Data 域结尾是否帧含校验(例如 SHA1,MD5,CRC等)需要校验的数据域包括 sequcne + data length + 明文 data。                 |
+   +                +-------------------------------------------------------------------------------------------------------------------------------+
+   |                | 控制帧和数据帧都可以包含校验位或不包含。                                                                                      |
+   +----------------+-------------------------------------------------------------------------------------------------------------------------------+
+   | 0x04           | 表示数据方向。                                                                                                                |
+   +                +-------------------------------------------------------------------------------------------------------------------------------+
+   |                | 0 表示手机发向 ESP32;                                                                                                        |
+   +                +-------------------------------------------------------------------------------------------------------------------------------+
+   |                | 1 表示 ESP32 发向手机。                                                                                                       |
+   +----------------+-------------------------------------------------------------------------------------------------------------------------------+
+   | 0x08           | 表示是否要求对方回复 ack。                                                                                                    |
+   +                +-------------------------------------------------------------------------------------------------------------------------------+
+   |                | 0 表示不要求;                                                                                                                |
+   +                +-------------------------------------------------------------------------------------------------------------------------------+
+   |                | 1 表示要求回复 ack。                                                                                                          |
+   +----------------+-------------------------------------------------------------------------------------------------------------------------------+
+   | 0x10           | 表示是否有后续的数据分片。                                                                                                    |
+   +                +-------------------------------------------------------------------------------------------------------------------------------+
+   |                | 0 表示此帧没有后续数据分片;                                                                                                  |
+   +                +-------------------------------------------------------------------------------------------------------------------------------+
+   |                | 1 表示还有后续数据分片,用来传输较长的数据。                                                                                  |
+   +                +-------------------------------------------------------------------------------------------------------------------------------+
+   |                | 如果是 Frag 帧,则告知当前 content 部分+后续 content 部分的总长度,位于 Data 域的前 2 字节(即最大支持 64K 的 content 数据)。 |
+   +----------------+-------------------------------------------------------------------------------------------------------------------------------+
+   | 0x10~0x80 保留 |                                                                                                                               |
+   +----------------+-------------------------------------------------------------------------------------------------------------------------------+
+
 
 3. Sequence Control