es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Google IoT Core – Cómo suscribirse a un tema

He desarrollado un dispositivo que puede conectarse a Google IoT Core a través del protocolo MQTT, puedo publicar mensajes MQTT en los temas de telemetría (/devices/DEVICE_ID/events).

Pero no logro entender cómo suscribir mi dispositivo a un tema genérico y enviar mensajes desde la nube al dispositivo a través de este tema.
A través de la consola, creé el tema MyTestTopic y una suscripción MyTestTopic-sub, supongo que de alguna manera tengo que suscribir mi dispositivo a la suscripción MyTestTopic-sub, pero no sé a qué tema tengo que suscribir mi dispositivo.

Intenté suscribir mi dispositivo a los siguientes temas:

  • projects/PROJECT_ID/topics/MyTestTopic
  • projects/PROJECT_ID/topics/MyTestTopic-sub
  • /devices/DEVICE_ID/events/MyTestTopic
  • /devices/DEVICE_ID/events/MyTestTopic-sub

La suscripción a estos temas parece ser exitosa, pero el dispositivo no recibe los mensajes que envío desde la consola.

¿Alguna sugerencia, por favor?

Encontré este hilo (https://stackoverflow.com/questions/49907529/google-cloud-iot-invalid-mqtt-publish-topic) de hace 4 años, en el que entiendo que es posible suscribirse solo a algunos temas predefinidos, además, de los varios documentos que he leído entiendo que Google IoT Core permite que los dispositivos se suscriban solo a dos temas: /devices/{device-id}/config y /devices/{device-id}/commands/#.

¿Ha cambiado algo desde entonces?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Google Cloud Platform, MQTT, Publish-Subscribe y Google Cloud IoT, puedo confirmar que la información en el hilo de Stack Overflow sigue siendo válida. Actualmente, Google IoT Core solo permite que los dispositivos se suscriban a dos temas: /device/{device-id}/config y /device/{device-id}/commands/#. Por lo tanto, no es posible suscribir un dispositivo a un tema genérico como MyTestTopic y recibir mensajes enviados desde la consola a través de ese tema.

    Si necesita enviar mensajes desde la consola a un dispositivo específico, puede utilizar la API de Cloud IoT Core para crear una configuración de dispositivo o un comando, y luego suscribirse al tema /device/{device-id}/config o /device/{device-id}/commands/# respectivamente para recibir el mensaje.

    Alternativamente, puede crear una Cloud Function que se suscriba al tema MyTestTopic y reenvíe los mensajes recibidos al dispositivo correspondiente a través del tema /device/{device-id}/config o /device/{device-id}/commands/#.

    Espero que esta información sea útil. Si tiene alguna otra pregunta o necesita ayuda para implementar una solución, no dude en preguntar.

Comments are closed.