Сбой передачи концентратора Azure IOT - PullRequest
1 голос
/ 17 октября 2019

Я использую Azure IOT SDK в устройстве на основе ESP32 для подключения к концентратору IOT с помощью MQTT, отправляя сообщения с QOS 1. Когда соединение хорошее, все работает точно так, как задумано. Тем не менее, когда мы развертываем в областях, где связь кажется несколько более разрозненной, сообщения часто теряют время ожидания (то есть обратный вызов вызывается с ошибкой времени ожидания). MQTT все еще думает, что у него есть соединение (то есть обратный вызов разъединения не был вызван), но все посылки заканчиваются тайм-аутом. Интересно, что я вижу, что когда я отправляю c2d-сообщения, они поднимаются. Я настроил прошивку, чтобы разорвать и перестроить MQTT-соединение в этих сценариях, и это иногда помогает, но не всегда.

Два вопроса:

  1. Почему это кажетсяслучиться, и есть ли параметры, которые я могу изменить, чтобы предотвратить это. Я уменьшил размер пакетов, но это, похоже, не имело значения.

  2. Каков подходящий способ обработки этого условия? Я видел сценарии, когда после того, как сообщение «застревает», как это, оно может зависать в течение десятков минут.

Надеюсь, что кто-то из группы MSFT IOT слушает ... :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...