Azure IoT хаб и получение чего угодно - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь использовать концентратор Azure Iot для публикации и подписки сообщений. В данный момент я пытаюсь опубликовать простое сообщение со следующей командой:

mosquitto_pub \
-h xxxdev.azure-devices.net \
-u "xxxdev.azure-devices.net/xxxdev/?api-version=2018-06-30" \
-P "SharedAccessSignature sr=xxx.azure- 
devices.net%2Fdevices%2Fxxxdev&sig=YYYYY&se=1570866689&skn=ZZZZZZZ" \
-t "devices/ublox1/messages/events/" \
--cafile ca.pem \
-p 8883 \
-i xxxdev \
-V mqttv311 \
-d \
-m 'message'

и подписаться на это:

mosquitto_sub \
-h xxxdev.azure-devices.net \
-u "xxxdev.azure-devices.net/ublox1" \
-P "SharedAccessSignature sr=xxxdev.azure- 
devices.net%2Fdevices%2Fublox1&sig=YYYYY&se=1607025033"
-t "devices/ublox1/messages/events/" \
-i xxxdev \
-V mqttv311 \
-p 8883 \
--cafile ca.pem  \
-v -d 

, но я не могу получить ни одно из опубликованных сообщений. Вот что выводит сторона подписки:

Client xxxdev sending CONNECT
Client xxxdev received CONNACK (0)
Client xxxdev sending SUBSCRIBE (Mid: 1, Topic: topic/, QoS: 0, Options: 0x00)
Client xxxdev received SUBACK
Subscribed (mid: 1): 0

и все. Нет сообщений ПУБЛИКАЦИИ, которые я могу получать на стороне подписки.

Мой вопрос: что может быть причиной того, что я ничего не могу получить на стороне подписчика?

Для целей тестирования я запускаю код Visual Studioи запустите «Мониторинг конечной точки встроенного события» - и он правильно показывает мои опубликованные сообщения - так что происходит? Почему Visual Studio Code может показывать мои сообщения, а москит - нет?

1 Ответ

0 голосов
/ 23 октября 2019

Azure IoT Hub не является полноценным сервером / брокером MQTT. Чтобы подписаться на телеметрические сообщения, приходящие с устройств, вам необходимо использовать конечную точку встроенной сетки событий . Однако вы можете использовать MQTT для подписки на сообщения «облако на устройство», вызовы прямых методов или двойные обновления устройства.

...