AWS IoT Greengrass Version 1 entró en la fase de vida útil prolongada el 30 de junio de 2023. Para obtener más información, consulte la política de mantenimiento de AWS IoT Greengrass V1 Después de esta fecha, AWS IoT Greengrass V1 no publicará actualizaciones que proporcionen características, mejoras, correcciones de errores o parches de seguridad. Los dispositivos que se ejecuten en AWS IoT Greengrass V1 no se verán afectados y seguirán funcionando y conectándose a la nube. Le recomendamos encarecidamente que migre a AWS IoT Greengrass Version 2, ya que añade importantes características nuevas y es compatible con más plataformas.
Probar las comunicaciones (sincronizaciones de dispositivos deshabilitadas)
-
Asegúrese de que el equipo y el dispositivo principal de AWS IoT Greengrass están conectados a Internet y utilizan la misma red.
-
En el dispositivo de AWS IoT Greengrass del núcleo, ejecute el siguiente comando para encontrar la 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.
ping
IP-address
Si la salida es similar a la siguiente, eso indica que la comunicación entre el equipo y el dispositivo de AWS IoT Greengrass del núcleo es correcta (0% de pérdida de paquetes):
nota
Si no puede hacer ping a una instancia EC2 en la que se ejecuta AWS IoT Greengrass, asegúrese de que las reglas del grupo de seguridad de entrada de la instancia permiten el tráfico ICMP de los mensajes de solicitudes de eco. Para obtener más información, consulte Agregar reglas a un grupo de seguridad en la Guía del usuario de Amazon EC2.
Es posible que, en los equipos host de Windows, en la aplicación Firewall de Windows con seguridad avanzada, también tenga que habilitar una regla de entrada que permita las solicitudes de eco entrantes (por ejemplo, Compartir archivos e impresoras [Solicitud de eco - ICMPv4-In]) o crear una.
-
-
Obtenga el punto de enlace de 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. Este valor se usa para sustituir el marcador de posición
AWS_IOT_ENDPOINT
de los comandos en los pasos que se describen a continuación.nota
Asegúrese de que los puntos de conexión se corresponden con su tipo de certificado.
-
-
En su ordenador (no en el dispositivo del núcleo de AWS IoT Greengrass), abra dos ventanas de command-line
(símbolo del sistema o terminal). Una de las ventanas representa al dispositivo de cliente GG_Switch, mientras que la otra representa al dispositivo de cliente GG_TrafficLight. -
En la ventana del dispositivo de cliente GG_Switch, ejecute los comandos siguientes.
-
Sustituya
path a certs-folder
por la ruta de la carpeta que contiene los certificados, las claves y los archivos de Python. -
Sustituya
AWS_IOT_ENDPOINT
por el punto de enlace. -
Sustituya las dos instancias
switchCertId
por el ID del certificado en el nombre del archivo para su dispositivo de cliente GG_Switch.
cd
path-to-certs-folder
python lightController.py --endpointAWS_IOT_ENDPOINT
--rootCA AmazonRootCA1.pem --certswitchCertId
-certificate.pem.crt --keyswitchCertId
-private.pem.key --thingName GG_TrafficLight --clientId GG_Switch -
-
En la ventana del dispositivo cliente GG_TrafficLight, ejecute los comandos siguientes.
-
Sustituya
path a certs-folder
por la ruta de la carpeta que contiene los certificados, las claves y los archivos de Python. -
Sustituya
AWS_IOT_ENDPOINT
por el punto de enlace. -
Sustituya las dos instancias
lightCertId
por el ID del certificado en el nombre del archivo para su dispositivo cliente GG_TrafficLight.
cd
path-to-certs-folder
python trafficLight.py --endpointAWS_IOT_ENDPOINT
--rootCA AmazonRootCA1.pem --certlightCertId
-certificate.pem.crt --keylightCertId
-private.pem.key --thingName GG_TrafficLight --clientId GG_TrafficLightCada 20 segundos, el interruptor actualiza el estado de sombra a los valores G, Y y R, y la luz mostrará su nuevo estado, tal que se muestra a continuación.
Salida de GG_Switch:
Salida de GG_TrafficLight:
-
Cuando se ejecuta por primera vez el script de cada dispositivo cliente, se ejecuta el servicio de detección de AWS IoT Greengrass para conectarse al núcleo de AWS IoT Greengrass (a través de Internet). Una vez que un dispositivo cliente ha detectado un núcleo de AWS IoT Greengrass y se ha conectado correctamente a él, las operaciones futuras pueden ejecutarse de forma local.
nota
Los scripts
lightController.py
ytrafficLight.py
almacenan información de conexión en la carpetagroupCA
, que se crea en la misma carpeta que los scripts. Si recibe errores de conexión, asegúrese de que la dirección IP del archivoggc-host
coincide con el punto de conexión de la dirección IP de su núcleo. -
-
En la consola AWS IoT consola, elija su grupo AWS IoT Greengrass, elija la pestaña Dispositivos cliente y, a continuación, elija GG_Trafficlight para abrir la página de detalles del dispositivo clienteAWS IoT.
-
Seleccione la pestaña Sombras de dispositivo. Después de que el GG_Switch cambie de estado, no debería haber ninguna actualización de esta sombra. Esto se debe a que el GG_Trafficlight está configurado para deshabilitar la sincronización oculta con la nube.
-
Pulse Ctrl + C en la ventana del dispositivo de cliente GG_Switch (
lightController.py
). Debería ver que la ventana GG_TrafficLight (trafficLight.py
) deja de recibir los mensajes de cambio de estado.Mantenga estas ventanas abiertas para que pueda ejecutar los comandos de la siguiente sección.