Я использую iot-device-sdk-embedded-c / examples / iot_core_mqtt_client для Google Cloud IoT Core и отправляю туда данные.
Я использую этот SDK на платформе ESP32. Итак, я сделал небольшие изменения. Однако общий код выглядит так, как показано в приведенной ниже ссылке:
https://github.com/Nilhcem/esp32-cloud-iot-core-k8s/blob/master/03-esp32_bme280_ciotc_esp-idf/main/main.c
Некоторое время все работало нормально. Но в последнее время я получаю эту ошибку: IOTC_CONNECTION_RESET_BY_PEER_ERROR (https://googlecloudplatform.github.io/iot-device-sdk-embedded-c/api/html/d4/d7c/iotc__error_8h.html#a31af29ceaf88c8f978117b3be5545932)
Когда я запускаю приложение, соединение успешно. Но в течение нескольких минут эта ошибка возникает, и мое приложение пытается подключиться. Повторное подключение также успешно иошибка снова появляется сразу. После этого приложение переходит в цикл.
Я хотел бы знать, при каких обстоятельствах одноранговый узел сбрасывает соединение. Кроме того, что можно сделать, чтобы предотвратить одноранговое соединениеот сброса соединения?
Я проверил, истек ли токен JWT. Срок его действия не истек. Я установил время истечения как 1 час. Но эта ошибка возникает в течение минут.
Я увеличилоставьте в силе тайм-аут до 60 минут. Я увеличил тайм-аут соединения также до 60 минут.
Закрытый ключ все еще должен быть в порядке, так как соединение все еще успешно.
https://github.com/Nilhcem/esp32-cloud-iot-core-k8s/blob/master/03-esp32_bme280_ciotc_esp-idf/main/main.c
Ожидаемый результат: приложение должно подключиться и продолжать оставаться подключенным до истечения срока действия JWT.
Фактический результат: приложение успешно подключается к IoT Core. Отключается через пару минут. Повторно подключается и входит в этот цикл.