Как проверить, находится ли устройство в автономном режиме в AWS IoT Core

Как лучше всего проверить, отключен ли AWS IoT Core?

Возможность запрашивать состояние объекта AWS IoT для многих будет важной частью их приложения. У Lucky AWS есть лучший метод получения событий жизненного цикла здесь:https://docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.html

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

Когда это сообщение становится доступным и обрабатывается (Lambda или другой службой), вы можете сначала проверить, находится ли устройство по-прежнему в автономном режиме, прежде чем предпринимать дальнейшие действия.

Вопрос в том, как мне проверить, что устройство все еще находится в автономном режиме?

Предлагаемая в документации инфраструктура - это правило Интернета вещей, подписанное на тему «$ aws / events / availability / disconnected / clientId», будет создавать сообщение в очереди SQS. Очередь SQS задержит сообщение, используя deliveryDelayдо того, как лямбда-функция будет использовать сообщение. Именно в этой лямбда-функции мы должны проверить, находится ли устройство по-прежнему в автономном режиме.

Я мог бы просто реализовать таблицу Dynamodb с состоянием устройства и отметкой времени, которая будет обновляться каждый раз при возникновении события подключения или отключения без задержки. Но должен ли быть более умный способ определить, находится ли устройство по-прежнему в автономном режиме?

2 ответа

У тебя уже есть ответ. После запуска события отключения вы предполагаете, что клиент остается в автономном режиме, если IoT Core не отправляет обновление для того же клиента в теме «$ aws / events / присутствие / connected / clientId».

Очевидно, вам нужно подписаться на обе темы.

В большинстве случаев индексирование вещей - плохая идея, если вы задумаетесь о том, зачем вам нужен Интернет вещей с самого начала. Это хорошо только для Amazon, но не принесет вам никакой пользы.

Вы можете использовать Thing Indexing . У него есть возможность индексировать статус подключения устройства ( thingConnectivityIndexingMode).

Другие вопросы по тегам