Ограничение длины имени пользователя и пароля MQTT в Центре Интернета вещей Azure

Я пытаюсь получить данные в Azure Iot-Hub с помощью модуля SARA-R410-02B (NB-IoT) через MQTT или HTTPS. В руководстве Microsofts MQTT для IoT-Hub говорится, что:

  • В поле "Имя пользователя" используйте {iothubhostname}/{device_id}/? Api-version=2018-06-30, где {iothubhostname} - полное CName концентратора Интернета вещей.

    Например, если имя вашего центра Интернета вещей - contoso.azure-devices.net, а имя вашего устройства - MyDevice01, полное поле имени пользователя должно содержать: contoso.azure-devices.net/MyDevice01/?api-version=2018-06-30

  • В поле "Пароль" используйте токен SAS. Формат токена SAS такой же, как для протоколов HTTPS и AMQP:

    SharedAccessSignature sig = {строка-подписи}&se={срок действия}&sr={URL-кодированный-resourceURI}

Это означает, что имя пользователя (и пароль) превысит ограничение в 30 символов, которое у меня есть на SARA-R410. Есть ли способ обойти это? У меня такое же ограничение, когда дело касается HTTPS.

Я обнаружил, что ограничение пароля можно решить с помощью сертификатов x.509, но имя пользователя остается прежним.

2 ответа

Решение

Я пробовал без параметра api для HTTP, но он не работает. У меня проблемы с покрытием, поэтому я еще не пробовал использовать MQTT, но предполагаю, что результат будет таким же?

Я получил ответ от u-blox. Они говорят, что это можно обойти, реализовав протокол MQTT с использованием сокетов на SARA-R410. Это кажется лучшим решением.

Если ваше устройство поддерживает аутентификацию X.509, это решит проблему с паролем, но, как вы заметили, не решит проблему с идентификацией пользователя. Вы можете попробовать его без параметра api и посмотреть, примет ли он значение по умолчанию. Это даст вам несколько персонажей, с которыми можно поиграть, если это сработает.

В противном случае вам потребуется настроить приложение для получения телеметрии и пересылки ее в концентратор. Например, опубликовать все на сервере Mosquito, подписаться на приложение и переслать его. К сожалению, добавляет больше администрирования и точек отказа.

Другие вопросы по тегам