Получите данные AWS IoT MQTT о моем экземпляре EC2 - PullRequest
0 голосов
/ 16 мая 2018

Я пытался определить AWS IoT в течение нескольких недель и продолжаю сталкиваться с проблемой невозможности пересылки данных mqtt в любом месте. У меня есть сервер EC2, на котором запущены nodejs, и raspberrpi, на котором запущены nodejs & python.

Pi МОЖЕТ успешно публиковать темы и информацию (можно прочитать на тестовой панели mqtt), но я не совсем уверен, куда идти, что касается направления трафика. Устройство является правильно зарегистрированной «вещью».

Короче говоря, я понял, как отправлять и получать сообщения AWS IoT MQTT, но я не знаю, как заставить мой сервер ec2 el взаимодействовать с ними.

Любое направление будет с благодарностью.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

У вас есть несколько способов управления входящими сообщениями для последующего использования.Для потока данных AWS IoT вы обычно всегда хотели бы использовать DynamoDB и S3, поскольку они чрезвычайно дешевы и обычно бесплатны.Вы можете создать действие в AWS IoT, чтобы непосредственно помещать объекты данных в таблицу Dynamo из AWS IoT или выгружать их в Bucket с помощью либо пожарного шланга Kinesis, либо функции Lambda.Не пытайтесь использовать встроенную функцию direct to s3 в ядре AWS IoT, поскольку она не будет объединять входящие объекты в одну и ту же папку.

Теперь, когда у вас есть база данных и озеро данных плохого человека в S3, вы можете легко принятьданные из экземпляра EC2, просто запросив URL S3 или введя таблицу данных Dynamo.Также я бы не рекомендовал управлять своим собственным бэкендом Node.js.Просто используйте Динамо, его дешевле и легче начать.

0 голосов
/ 16 мая 2018

Ты в значительной степени там. Я думаю, вы просто неправильно понимаете, как работает AWS IoT.

Он обрабатывает все маршруты для вас с шаблоном pub / sub . По сути, все, что вам нужно сделать на вашем сервере или любом другом устройстве - это «подписаться» на тему, чтобы получать сообщения. Когда что-то публикует сообщение в теме в AWS IoT, оно автоматически отправляет его всем открытым «подписчикам».

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

Вы можете использовать любой из их SDK (то есть их python sdk ) для публикации и подписки на темы.

...