如何正确开始配对和绑定?

时间:2019-08-17 11:06:19

标签: bluetooth bluetooth-lowenergy esp32 pairing esp-idf

我正在使用esp32芯片和esp-idf v3.0,我们还开发了一个android应用。 esp32是GATT服务器,而android应用是GATT客户端。在ESP_GATTS_CONNECT_EVT之后,我调用esp_ble_set_encryption(connection.remote_bda,ESP_BLE_SEC_ENCRYPT_MITM),并且为了“防弹”,我有一个任务检查配对是否成功,如果不成功,则尝试10次(之间有延迟)以使用esp_ble_set_en_ .remote_bda,ESP_BLE_SEC_ENCRYPT_MITM)开始配对,但我总是收到以下错误消息: “ BT:先前的enc尚未在同一设备上完成。”

以下是安全参数:

esp_ble_auth_req_t auth_req = ESP_LE_AUTH_REQ_SC_BOND; //验证后与对端设备绑定
esp_ble_io_cap_t iocap = ESP_IO_CAP_NONE; //将IO功能设置为“无输出无输入”
uint8_t key_size = 16; //密钥大小应为7〜16个字节
uint8_t init_key = ESP_BLE_ENC_KEY_MASK | ESP_BLE_ID_KEY_MASK;

uint8_t rsp_key = ESP_BLE_ENC_KEY_MASK | ESP_BLE_ID_KEY_MASK;

只有当我第一次尝试连接设备时才会发生这种情况,如果稍后再尝试它会起作用。

有人知道我为什么会有这个问题吗?我想我缺少了一些东西,但我不明白。

0 个答案:

没有答案