Cloud IoT Core admite dos protocolos para la conexión y la comunicación de dispositivos: MQTT y HTTP. Los dispositivos se comunican con Cloud IoT Core a través de un puente puente, ya sea el MQTT o el Puente HTTP. El puente MQTT/HTTP es un componente central de Cloud IoT Core, como se muestra en la descripción general de los componentes.
Cuando crea un registro de dispositivos, selecciona los protocolos que desea habilitar: MQTT, HTTP o ambos.
MQTT es un protocolo estándar de publicación y suscripción que se usa y se admite con frecuencia en dispositivos incorporados, y que también es común en las interacciones entre máquinas.
HTTP es un protocolo sin conexión: con el puente HTTP, los dispositivos no mantienen una conexión con Cloud IoT Core. En su lugar, envían solicitudes y reciben respuestas. Cloud IoT Core solo es compatible con HTTP 1.1 (no 2.0).
En la siguiente tabla, se compara cómo funcionan los dos protocolos en Cloud IoT Core:
Puente MQTT | Puente HTTP |
---|---|
Se mantiene la conexión del dispositivo | Sin conexión (solicitud/respuesta) |
Conexión TCP dúplex completo | Conexión TCP de dúplex medio |
El JWT se envía en el campo de contraseña del mensaje CONNECT |
El JWT se envía en el encabezado Authorization de la solicitud HTTP. |
Los eventos de telemetría se envían a Cloud Pub/Sub | Los eventos de telemetría se envían a Cloud Pub/Sub |
Se informa el estado de conexión del dispositivo | No se informa estado de conexión del dispositivo |
Las configuraciones del dispositivo se propagan mediante suscripciones | Se debe solicitar explícitamente la configuración del dispositivo (mediante sondeo) |
Los dispositivos en la suscripción siempre reciben la configuración más reciente (sea la más nueva o no) | Los dispositivos pueden especificar que solo se deben recibir configuraciones más recientes |
Las configuraciones de dispositivos se confirman (ACK) cuando se usa QoS 1 | No hay un ACK explícito para la configuración del dispositivo |
Se conserva el tiempo de la última señal de monitoreo de funcionamiento del dispositivo | No hay datos de señal de monitoreo de funcionamiento del dispositivo |
También puede considerar las siguientes características generales de cada protocolo:
MQTT | HTTP |
---|---|
|
|
Ambos puentes usan autenticación de dispositivo de clave pública (asimétrica) y tokens web JSON (JWT). Para obtener más información, consulta la sección sobre seguridad del dispositivo.