Java-клиент для MQTT с использованием AWS IoT

Я новичок в Aws IoT. Я знаю, что мы можем написать Java-клиент для Aws IoT. У меня есть три запроса:

  1. Используется ли Java-клиент только для получения сообщений от «Thing» в Aws?
  2. Могут ли другие устройства подписаться на Java-клиент
  3. Может ли этот клиент также отправлять сообщения на другие устройства

Было бы полезно, если бы вы могли помочь с отправной точкой для реализации Java. Ссылки на любые статьи или ссылки были бы действительно полезными.


person heisenberg    schedule 09.10.2017    source источник
comment
Запрашивать пример кода и ссылки не по теме для переполнения стека.   -  person hardillb    schedule 09.10.2017
comment
что ты имеешь в виду под Can other devices subscribe to the Java Client ?   -  person gusto2    schedule 09.10.2017
comment
Кажется, вы упускаете представление о том, как темы работают в сервисе AWS IoT (или MQTT в целом). Различные клиенты/устройства/что-то еще не взаимодействуют напрямую друг с другом через службу IoT, они публикуют сообщения в темах и подписываются на темы, чтобы получать сообщения, которые другие вещи публикуют в этих темах.   -  person Mark B    schedule 09.10.2017
comment
Спасибо за понимание. Я новичок в этой концепции, поэтому мои вопросы могут показаться немного абсурдными.   -  person heisenberg    schedule 10.10.2017


Ответы (1)


Используется ли Java-клиент только для получения сообщений от «Thing» на Aws?

Предположим под Java-клиентом мы будем понимать MQTT-клиент. MQTT — это протокол обмена сообщениями (наиболее часто используемый с AWS IoT — по крайней мере, то, что я видел). И вы можете рассматривать AWS IoT как центр обмена сообщениями.

Таким образом, ваш клиент может подписаться на сообщения из вещей или очередей для получения сообщений, но также ваш клиент может отправлять сообщения в темы или вещи (темы, зарезервированные для вещей). Все вещи или устройства фактически являются клиентами обмена сообщениями для Центра Интернета вещей.

Могут ли другие устройства подписаться на Java-клиент

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

Клиенты могут подписаться на свою тему (представляющую устройство или функциональность). Ваше приложение может отправить сообщение (см. пункт 1) в тему для любого устройства.

Может ли этот клиент также отправлять сообщения на другие устройства

отправка сообщений на другие устройства означает отправку сообщений в темы, на которые подписаны другие устройства

помогите с отправной точкой для реализации Java

Вы можете проверить проект Eclipse Paho (клиент MQTT)

person gusto2    schedule 09.10.2017
comment
Большое тебе спасибо . Теперь у меня есть большая ясность в отношении концепции. Один вопрос: если вещь Aws IoT публикует что-то в отношении темы, на которую подписан мой клиент, и если мой клиент в это время находится в автономном режиме. Будет ли эта опубликованная тема пропущена? Есть ли способ, которым IoT отслеживает, какие клиенты получили сообщение? - person heisenberg; 10.10.2017