Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Центр Интернета вещей позволяет устройствам использовать следующие протоколы для обмена данными на стороне устройства:
- MQTT;
- MQTT через WebSocket.
- Расширенный протокол очереди сообщений (AMQP)
- AMQP через WebSocket;
- HTTPS
Примечание.
Центр Интернета вещей предоставляет ограниченную поддержку функций для MQTT. Если для решения требуется поддержка MQTT версии 3.1.1 или v5, ознакомьтесь с обзором функции брокера MQTT в Сетке событий Azure. Дополнительные сведения см. в разделе «Сравнение поддержки MQTT в Центре Интернета вещей и Сетке событий» в документе «Общение с центром Интернета вещей с использованием протокола MQTT».
Сведения о поддержке протоколов, используемых компонентами Центра Интернета вещей, см. Руководство по обмену данными между устройством и облаком и руководстве по обмену данными между облаком и устройством.
Ниже в таблице приведены общие рекомендации по выбору протокола.
Протокол | Когда следует выбрать этот протокол |
---|---|
MQTT MQTT через WebSocket. |
Используйте на всех устройствах, которые не требуют подключения к нескольким устройствам, каждый из которых имеет собственные учетные данные для каждого устройства, по одному и тому же подключению TLS. |
AMQP AMQP через WebSocket; |
Используйте на пограничных и облачных шлюзах, чтобы воспользоваться преимуществами мультиплексирования подключений между устройствами. |
HTTPS | Используется для устройств, которые не поддерживают другие протоколы. |
При выборе протокола для связи на стороне устройства учитывайте следующие факторы:
Шаблон из облака на устройство. HTTPS не имеет эффективного способа реализации серверного push. Таким образом, при использовании HTTPS устройства опрашивают Центр Интернета вещей для облачных сообщений к устройству. Этот подход неэффективен для устройства и Центра Интернета вещей. Согласно текущим рекомендациям для протокола HTTPS каждое устройство должно выполнять опрос не реже, чем раз в 25 минут. Когда увеличивается количество HTTPS-запросов, Центр Интернета вещей начинает ограничивать их обработку. Протоколы MQTT и AMQP поддерживают отправку сообщений по инициативе сервера при получении сообщений из облака на устройство. Они позволяют незамедлительно передавать сообщения из Центра Интернета вещей на устройство. Если задержка доставки является проблемой, лучше использовать протокол MQTT или AMQP. Для редко подключаемых устройств также подходит протокол HTTPS.
Шлюзы поля. MQTT и HTTPS поддерживают только одно удостоверение устройства (идентификатор устройства и учетные данные) для каждого TLS-подключения. По этой причине эти протоколы не поддерживаются для сценариев полевого шлюза, которые требуют мультиплексирования сообщений с использованием нескольких удостоверений устройств через одно соединение или пул вышестоящих соединений к IoT Hub. Такие шлюзы могут использовать протокол, поддерживающий несколько удостоверений устройств на одно подключение, например, AMQP, для их входящего трафика.
Устройства с небольшим количеством ресурсов. Библиотеки MQTT и HTTPS уступают по объему библиотекам AMQP, Таким образом, если устройство предоставляет ограниченные ресурсы (например, менее 1 МБ ОЗУ), эти протоколы могут быть единственной доступной реализацией протокола.
Обход сети. Стандартный протокол AMQP использует порт 5671, а MQTT слушает на порту 8883. Использование этих портов может вызвать проблемы в сетях, которые закрыты для протоколов, отличных от HTTPS. В этом сценарии следует использовать протокол MQTT через WebSockets, AMQP через WebSockets или HTTPS.
Объем полезных данных. MQTT и AMQP — это двоичные протоколы, позволяющие передавать более компактные полезные данные, чем HTTPS.
Предупреждение
Когда устройства используют протокол HTTPS, каждое устройство должно опрашивать сообщения из облака в устройство не более одного раза каждые 25 минут. В разработке каждое устройство может проводить более частый опрос, если это необходимо.
Внимание
Следующие функции для устройств, использующих проверку подлинности центра сертификации X.509 (ЦС), пока недоступны, и режим предварительной версии должен быть включен:
- протоколы HTTPS, MQTT через WebSockets и AMQP через WebSockets;
- передача файлов (по всем протоколам).
Эти возможности обычно доступны на устройствах, использующих проверку подлинности X.509 с помощью отпечатка пальца.
Номера портов
Устройства могут взаимодействовать с Центром Интернета вещей в Azure с использованием различных протоколов. Как правило, определенные требования решения определяют выбор протокола. В следующей таблице перечислены исходящие порты, которые должны быть открыты, чтобы устройство могло воспользоваться определенным протоколом.
Протокол | Порт |
---|---|
MQTT | 8883 |
MQTT через WebSocket. | 443 |
AMQP | 5671 |
AMQP через WebSocket; | 443 |
HTTPS | 443 |
IP-адрес центра Интернета вещей может быть изменен без предварительного уведомления. Чтобы узнать, как уменьшить последствия изменений IP-адресов IoT-хаба для вашего IoT-решения и устройств, см. в разделе "Рекомендации" IP-адреса IoT Hub.
Следующие шаги
Дополнительные сведения о том, как Центр Интернета вещей реализует протокол MQTT, см. в разделе "Обмен данными с центром Интернета вещей" с помощью протокола MQTT.