AWS IoT - отправка сообщения на определенное устройство парка - PullRequest
0 голосов
/ 03 апреля 2019

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

Пока все хорошо, все мои устройства подключены к нему, и единственным отличием между ними может быть один идентификатор устройства (например, MAC-адрес или серийный номер)

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

Я мог бы заставить каждое устройство подписываться на такую ​​тему, как /<DEVICE_ID>, однако это не кажется хорошей практикой, особенно если у меня тысячи устройств.

Кроме того, AWS не рекомендует его, как указано в Документация по IoT AWS :

Примечание

Мы не рекомендуем использовать личную информацию в вашем темы.

Есть ли хороший способ справиться с этим вариантом использования? Или AWS IoT полезен только для управления несколькими устройствами одновременно?

1 Ответ

1 голос
/ 04 апреля 2019

Вот лучшая практика для создания темы MQTT.

https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices/

Говоря о вашем конкретном случае

  • Каждое устройство должно иметь уникальный идентификатор для отправки команды на конкретное устройство. В этом случае вам необходимо указать device_id в вашей теме MQTT.
  • Вы можете использовать следующий шаблон для отправки сообщения на целевое устройство
  • protocol_prefix / type_of_message / dest_id / message_id
  • hexaiot / controldevice / d12345 / x123
  • Используйте подстановочный знак во время подписки устройства, чтобы подписаться на тему
...