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% сообщений не получено устройством, вся настройка не работает.