Aviso de fin de soporte: el 7 de octubre de 2026, AWS descontinuará el soporte para AWS IoT Greengrass Version 1. Después del 7 de octubre de 2026, ya no podrá acceder a los AWS IoT Greengrass V1 recursos. Para obtener más información, visite Migrar desde AWS IoT Greengrass Version 1.
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.
Probar las comunicaciones
-
Asegúrese de que el ordenador y el dispositivo AWS IoT Greengrass principal estén conectados a Internet mediante la misma red.
-
En el dispositivo AWS IoT Greengrass principal, ejecuta el siguiente comando para buscar su dirección IP.
hostname -I -
En el equipo, ejecute el siguiente comando utilizando la dirección IP del dispositivo central. Puede utilizar Ctrl + C para detener el comando ping.
pingIP-addressUn resultado similar al siguiente indica que la comunicación entre la computadora y el dispositivo AWS IoT Greengrass principal se ha realizado correctamente (0% de pérdida de paquetes):
nota
Si no puede hacer ping a una instancia EC2 que está en ejecución AWS IoT Greengrass, asegúrese de que las reglas del grupo de seguridad entrante de la instancia permitan el tráfico ICMP para los mensajes de solicitud de Echo. Para obtener más información, consulte Agregar reglas a un grupo de seguridad en la Guía del usuario de Amazon EC2.
En los ordenadores host de Windows, en la aplicación Firewall con seguridad avanzada de Windows, es posible que también tengas que habilitar una regla de entrada que permita las solicitudes de eco entrantes (por ejemplo, compartir archivos e impresoras (Echo Request - ICMPv4-In)) o crear una.
-
-
Consigue tu punto final. AWS IoT
-
En el panel de navegación de la consola de AWS IoT
, seleccione Configuración. -
En Punto de conexión de datos del dispositivo, anote el valor del punto de conexión. En los pasos siguientes, utilice este valor para reemplazar el
AWS_IOT_ENDPOINTmarcador de posición de los comandos.nota
Asegúrese de que los puntos de conexión se corresponden con su tipo de certificado.
-
-
En el ordenador (no en el dispositivo AWS IoT Greengrass principal), abra dos ventanas de línea de comandos
(terminal o línea de comandos). Una ventana representa el dispositivo cliente HelloWorld _Publisher y la otra representa el dispositivo cliente HelloWorld _Subscriber. Tras la ejecución,
basicDiscovery.pyintenta recopilar información sobre la ubicación del AWS IoT Greengrass núcleo en sus puntos finales. Esta información se almacena una vez que el dispositivo del cliente ha detectado y establecido la conexión correctamente con el dispositivo central. De este modo, la mensajería y las operaciones que se realicen en el futuro se ejecutarán localmente (sin necesidad de tener conexión a Internet).nota
Los ID de cliente utilizados para las conexiones MQTT deben coincidir con el nombre del dispositivo de cliente. El script
basicDiscovery.pyestablece el ID del cliente para las conexiones MQTT con el nombre del objeto que especifique al ejecutar el script.Ejecute el siguiente comando desde la carpeta que contiene el archivo
basicDiscovery.pyde la información de uso detallada del script:python basicDiscovery.py --help -
Desde la ventana del dispositivo cliente de HelloWorld _Publisher, ejecute los siguientes comandos.
-
path-to-certs-folderSustitúyala por la ruta a la carpeta que contiene los certificados, las claves ybasicDiscovery.py. -
AWS_IOT_ENDPOINTSustitúyala por tu terminal. -
Sustituya las dos
publisherCertIdinstancias por el identificador del certificado en el nombre del archivo de su dispositivo cliente HelloWorld _Publisher.
cdpath-to-certs-folderpython basicDiscovery.py --endpointAWS_IOT_ENDPOINT--rootCA AmazonRootCA1.pem --certpublisherCertId-certificate.pem.crt --keypublisherCertId-private.pem.key --thingName HelloWorld_Publisher --topic 'hello/world/pubsub' --mode publish --message 'Hello, World! Sent from HelloWorld_Publisher'El resultado debería ser similar al siguiente, que contiene entradas como
Published topic 'hello/world/pubsub': {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}.nota
Si el script devuelve un mensaje
error: unrecognized arguments, cambie las comillas simples por comillas dobles en los parámetros--messagey--topicy vuelva a ejecutar el comando.Para resolver un problema de conexión, puede intentar usar la detección manual de IP.
-
-
Desde la ventana del dispositivo cliente HelloWorld _Subscriber, ejecute los siguientes comandos.
-
path-to-certs-folderSustitúyala por la ruta a la carpeta que contiene los certificados, las claves ybasicDiscovery.py. -
AWS_IOT_ENDPOINTSustitúyala por tu terminal. -
Sustituya las dos
subscriberCertIdinstancias por el ID del certificado en el nombre del archivo de su dispositivo cliente HelloWorld _Subscriber.
cdpath-to-certs-folderpython basicDiscovery.py --endpointAWS_IOT_ENDPOINT--rootCA AmazonRootCA1.pem --certsubscriberCertId-certificate.pem.crt --keysubscriberCertId-private.pem.key --thingName HelloWorld_Subscriber --topic 'hello/world/pubsub' --mode subscribeEl resultado debería ser similar al siguiente, que contiene entradas como
Received message on topic hello/world/pubsub: {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}.
-
Cierre la ventana HelloWorld_Publisher para evitar que los mensajes se acumulen en la ventana HelloWorld_Subscriber.
Si se realizan pruebas en una red corporativa, la conexión con el dispositivo central podría verse afectada. Para evitarlo, puede especificar manualmente el punto de enlace. Esto garantiza que el basicDiscovery.py script se conecte a la dirección IP correcta del dispositivo AWS IoT Greengrass principal.
Para especificar manualmente el punto de enlace
En el panel de navegación de la AWS IoT consola, en Administrar, expanda los dispositivos de Greengrass y, a continuación, seleccione Grupos (V1).
-
En Grupos de Greengrass, elija su grupo.
-
Configure el núcleo para gestionar manualmente los puntos de conexión del agente de MQTT. Haga lo siguiente:
-
En la página de configuración del grupo, elija la pestaña Funciones de Lambda.
-
En Funciones de Lambda del sistema, elija Detector IP y, a continuación, seleccione Editar.
-
En la Editar la configuración del detector IP, seleccione Administrar manualmente los puntos de conexión del agente MQTT y, a continuación, seleccione Guardar.
-
-
Introduzca el punto de conexión del agente de MQTT para el núcleo. Haga lo siguiente:
-
En Información general, seleccione Núcleo de Greengrass.
-
En Puntos de conexión del agente de MQTT, seleccione Administrar puntos de conexión.
-
Seleccione Añadir punto de conexión y asegúrese de que solo tiene un valor de punto de conexión. Este valor debe ser el punto final de la dirección IP del puerto 8883 de su dispositivo AWS IoT Greengrass principal (por ejemplo,
192.168.1.4). -
Elija Actualizar.
-