Interactúe con los dispositivos cliente en los componentes - AWS IoT Greengrass

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Interactúe con los dispositivos cliente en los componentes

Puede desarrollar componentes personalizados de Greengrass que interactúen con los dispositivos cliente conectados a un dispositivo principal. Por ejemplo, puede desarrollar componentes que hagan lo siguiente:

  • Utilice los mensajes MQTT de los dispositivos cliente y envíe datos a los Nube de AWS destinos.

  • Envíe mensajes MQTT a los dispositivos cliente para iniciar acciones.

Los dispositivos cliente se conectan y se comunican con un dispositivo principal a través del componente intermediario MQTT que se ejecuta en el dispositivo principal. De forma predeterminada, los dispositivos cliente solo pueden comunicarse entre sí a través de MQTT, y los componentes de Greengrass no pueden recibir estos mensajes MQTT ni enviar mensajes a los dispositivos cliente.

Los componentes de Greengrass utilizan la interfaz local de publicación/suscripción para comunicarse en un dispositivo central. Para comunicarse con los dispositivos cliente en los componentes de Greengrass, configure el componente de puente MQTT para que haga lo siguiente:

  • Retransmita los mensajes MQTT desde los dispositivos cliente a una plataforma local de publicación/suscripción.

  • Transmita los mensajes MQTT desde los dispositivos de publicación o suscripción locales a los dispositivos cliente.

También puede interactuar con las sombras de los dispositivos cliente en los componentes de Greengrass. Para obtener más información, consulte Interactúa con las sombras de los dispositivos cliente y sincronízalas.

Configure e implemente el componente puente MQTT

El componente MQTT bridge consume una lista de asignaciones de temas, cada una de las cuales especifica un origen y un destino del mensaje. Para comunicarse con los dispositivos cliente, despliegue el componente MQTT bridge y especifique cada tema de origen y destino en la configuración del componente.

Para implementar el componente MQTT bridge en un dispositivo principal o en un grupo de dispositivos principales, cree una implementación que incluya el aws.greengrass.clientdevices.mqtt.Bridge componente. Especifique las asignaciones de temas en la configuración del componente de puente MQTT de la implementación. mqttTopicMapping

El siguiente ejemplo define una implementación que configura el componente MQTT bridge para retransmitir el clients/MyClientDevice1/hello/world tema desde los dispositivos cliente al agente local de publicación/suscripción. La actualización de merge configuración requiere un objeto JSON serializado. Para obtener más información, consulte Actualizar las configuraciones de los componentes.

Console
{ "mqttTopicMapping": { "HelloWorldPubsub": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "Pubsub" } } }
AWS CLI
{ "components": { "aws.greengrass.clientdevices.mqtt.Bridge": { "version": "2.0.0", "configurationUpdate": { "merge": "\"mqttTopicMapping\":{\"HelloWorldPubsub\":{\"topic\":\"clients/MyClientDevice1/hello/world\",\"source\":\"LocalMqtt\",\"target\":\"Pubsub\"}}}" } } ... } }

Puede utilizar caracteres comodín de temas de MQTT para retransmitir mensajes sobre temas que coincidan con un filtro de temas. Si utilizas MQTT bridge v2.2.0 o una versión posterior, puedes usar comodines de temas MQTT en los filtros de temas cuando el intermediario de origen sea una publicación o suscripción local. Para obtener más información, consulte Configuración de los componentes del puente MQTT.

Reciba mensajes MQTT desde los dispositivos cliente

Puede suscribirse a los temas locales de publicación o suscripción que haya configurado para el componente MQTT bridge para recibir mensajes de los dispositivos cliente.

Para recibir mensajes MQTT desde dispositivos cliente en componentes personalizados
  1. Configure e implemente el componente MQTT bridge para retransmitir los mensajes de un tema de MQTT en el que los dispositivos cliente publican a un tema local de publicación o suscripción.

  2. Utilice la interfaz IPC local de publicación/suscripción para suscribirse al tema en el que el puente MQTT transmite los mensajes. Para obtener más información, consulte Publicar/suscribir mensajes locales y SubscribeToTopic.

El tutorial Conectar y probar dispositivos cliente incluye una sección en la que se desarrolla un componente que se suscribe a los mensajes de un dispositivo cliente. Para obtener más información, consulte Paso 4: Desarrolle un componente que se comunique con los dispositivos cliente.

Envíe mensajes MQTT a los dispositivos cliente

Puede publicar en los temas locales de publicación o suscripción que haya configurado para el componente MQTT bridge a fin de enviar mensajes a los dispositivos cliente.

Para publicar mensajes MQTT en dispositivos cliente en componentes personalizados
  1. Configure e implemente el componente MQTT bridge para retransmitir mensajes de un tema local de publicación o suscripción a un tema de MQTT en el que se suscriban los dispositivos cliente.

  2. Utilice la interfaz IPC local de publicación/suscripción para publicar en el tema en el que el puente MQTT transmite los mensajes. Para obtener más información, consulte Publicar/suscribir mensajes locales y PublishToTopic.