Запуск брокера mqtt на AWS с ядром greengrass
В настоящее время я использую ядро AWS greengrass в контейнере ubuntu, которое работает отлично. Я хочу отправлять данные в AWS IOT с помощью основного брокера mqtt. До сих пор я читал, что у greengrass core есть собственный брокер MQTT, который можно настроить. Для этого я попытался обновить развертывание, как указано в этой ссылке: https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html
Но до сих пор я не вижу появления брокера mqtt. У меня есть еще один контейнер, который отправляет данные другому брокеру mqtt, и я хочу отправить те же данные в ядро AWS IoT. Для этого мне нужно настроить в приложении брокер mqtt, работающий на ядре AWS greengrass.
Снова у меня два вопроса:
- Верен ли мой подход? Можем ли мы настроить брокера mqtt для работы локально на ядре AWS greengrass. Если да, то как мы можем это сделать?
- Если мы не можем запустить брокера mqtt на AWS greengrass, то как мы можем отправлять данные в ядро Интернета вещей? Можем ли мы добиться этого, создав какой-нибудь пользовательский компонент, например лямбда-функцию?
Любая помощь будет оценена по достоинству.
1 ответ
Для Greengrass v2: если на вашем основном устройстве IOT установлен компонент aws.greengrass.Nucleus, вы можете использовать пакеты, упомянутые в https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-требования для отправки сообщения MQTT с основного устройства на ядро IOT (Nodejs в настоящее время не поддерживается)
пример можно найти в
https://docs.aws.amazon.com/greengrass/v2/developerguide/ipc-iot-core-mqtt.html
Конечная точка данных ядра IOT
Если у вас установлен компонент интерфейса командной строки Greengrass на устройстве ядра Greengrass, вы можете запустить
sudo /greengrass/v2/bin/greengrass-cli component list
и найдите конфигурацию iotDataEndpoint и mqtt в aws.greengrass.Nucleus
Component Name: aws.greengrass.Nucleus
Version: 2.3.0
State: FINISHED
Configuration: {... "iotDataEndpoint":"xyz-ats.iot.region.amazonaws.com", "mqtt":{"spooler":{}},...}