Google Cloud IoT Core se retirará el 16 de agosto de 2023. Comunícate con el equipo de cuentas de Google Cloud para obtener más información.

Protocolos

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
  • Menor uso del ancho de banda
  • Menor latencia
  • Mayor capacidad de procesamiento
  • Admite datos binarios sin procesar
  • Peso más ligero (fácil de comenzar; comandos curl simples)
  • Menos problemas de firewall
  • Los datos binarios deben estar codificados en base64, lo que requiere más recursos de red y CPU

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.