Концепция затенения устройства AWS IoT - PullRequest
0 голосов
/ 10 мая 2019

У меня есть IoT, который публикует -

отметка времени, isAdmin и данные

по теме

"ИТН / SampleData"

и у меня есть правило, которое слушает эту тему и передает эти данные в DynamoDB. Пользователь может обновить логическое значение isAdmin на false, используя функцию тени устройства из приложения. Как я могу подключить тень устройства к механизму правил, чтобы я мог обновить логическое значение isAdmin в DynamoDB при обновлении тени.

Я видел темы теневого mqtt, но мне чего-то не хватает, и это как-то не работает.

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 15 мая 2019

Я могу дать несколько советов, которые могут вам помочь.

  1. Я использую запрос как, выберите пункт, который вы можете перепроверить из структуры в вашей тени. ВЫБРАТЬ state.reported. * ОТ '$ aws / things / pSensor / shadow / update / accept'
  2. Проверьте свою тему "$ aws / things / pSensor / shadow / update / accept", используя клиент mqtt, указанный в самом AWS IoT. Подпишитесь на тему и отправляйте данные из вашего мобильного приложения.
  3. В JSON (публикация данных с мобильного устройства), если какой-либо из ключей или значений пуст, он не будет работать. В моем случае я отправлял вали "NA" вместо "" (пусто).
  4. Самое важное: в существующем правиле IoT AWS также добавьте действие «Ошибка», добавьте сведения об ошибках в SQS и подпишитесь на SQS в консоли управления. Он сообщит подробности в очереди, если возникнет какая-либо ошибка. Данные в SQS будут в кодировке Base64, поэтому вы можете декодировать их в режиме онлайн.
  5. Я уверен, что ваше действие DynamoDB будет иметь правильный синтаксис. Я использую скажем для первичного ключа, как "$ {state.reported.isAdmin}" (вы можете сопоставить его с вашей тенью).

Дайте мне знать, было ли это полезно.

С уважением,

Krishan

...