Probar las comunicaciones (sincronizaciones de dispositivos deshabilitadas) - AWS IoT Greengrass

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)

  1. Asegúrese de que el equipo y el dispositivo principal de AWS IoT Greengrass están conectados a Internet y utilizan la misma red.

    1. En el dispositivo de AWS IoT Greengrass del núcleo, ejecute el siguiente comando para encontrar la dirección IP.

      hostname -I
    2. 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):

      Salida correcta del comando ping.
      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.

  2. Obtenga el punto de enlace de AWS IoT.

    1. En el panel de navegación de la consola de AWS IoT, seleccione Configuración.

    2. 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.

  3. 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.

    1. 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 --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert switchCertId-certificate.pem.crt --key switchCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_Switch
    2. 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 --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert lightCertId-certificate.pem.crt --key lightCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_TrafficLight

      Cada 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:

      Captura de pantalla de la salida asociada a GG_Switch.

      Salida de GG_TrafficLight:

      Captura de pantalla de la salida asociada a 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 y trafficLight.py almacenan información de conexión en la carpeta groupCA, 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 archivo ggc-host coincide con el punto de conexión de la dirección IP de su núcleo.

  4. 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.

  5. 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.

  6. 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.