Устройство не получает теневые обновления - слишком много событий отключения в AWS-IoT? - PullRequest
1 голос
/ 02 июня 2019

AWS IoT-соединение между сервером и устройством получает много [отключенных] событий, и устройство не получает дельта-сообщения.

Я использую AWS IoT, чтобы обеспечить безопасную связь между самописанным «контроллером» (работает с AWSIoTPythonSDK в версии 1.4.0 на Raspberry Pi, подключенном с помощью LTE-флешки) и некоторыми лямбда-функциями AWS (используя узел с пакетом npm aws-sdk в версии 2.411.0).В целом настройка работает, поэтому дельта-сообщения обрабатываются, а состояние теней время от времени обновляется.

Я использовал конфигурацию по умолчанию из примера python-iot-sdk в качестве начальной конфигурации:

myAWSIoTMQTTShadowClient = AWSIoTMQTTShadowClient(self.clientId)
        myAWSIoTMQTTShadowClient.configureEndpoint(self.host, self.port)
        myAWSIoTMQTTShadowClient.configureCredentials(self.rootCAPath, self.privateKeyPath, self.certificatePath)

        # AWSIoTMQTTShadowClient configuration - from AWS example
        myAWSIoTMQTTShadowClient.configureAutoReconnectBackoffTime(1, 32, 20)
        myAWSIoTMQTTShadowClient.configureConnectDisconnectTimeout(15)  # 10 sec
        myAWSIoTMQTTShadowClient.configureMQTTOperationTimeout(10)  # 5 sec

К сожалению, многие теневые обновления в AWS не распознаются контроллером, например.информация о новых дельта-сообщениях не регистрируется.

Я уже пробовал разные настройки тайм-аута, с включенным и выключенным OfflinePublishQueue, но без реального поиска конфигурации, позволяющей стабильно использовать.

Я получаю много журналов о событиях отключения на стороне клиента:

2019-06-02 14:03:03,933 AWSIoTPythonSDK.core.protocol.internal.workers - [DEBUG] - Produced [disconnect] event
2019-06-02 14:03:03,933 AWSIoTPythonSDK.core.protocol.internal.workers - [DEBUG] - Dispatching [disconnect] event
2019-06-02 14:03:04,333 AWSIoTPythonSDK.core.protocol.connection.cores - [DEBUG] - backOff: current backoff time is: 32 sec.

Также соответствующая тема MQTT $aws/events/presence/disconnected/<clientId> показывает, что происходит много соединений / разъединений (с помощью меню AWS IoT Test).

У меня действительно нет дальнейшей идеи, как получить более стабильное соединение, сигнал GSM хороший, и у нас уже было лучшее качество соединения в более ранней версии контроллера.Пока почти 30% сообщений не получено устройством, вся настройка не работает.

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