Instale y ejecute AWS IoT Greengrass en el dispositivo central - 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 se publicarán actualizaciones que proporcionen funciones, mejoras, correcciones de errores o parches de seguridad. Los dispositivos que se ejecuten 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 funciones nuevas y es compatible con plataformas adicionales.

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.

Instale y ejecute AWS IoT Greengrass en el dispositivo central

nota

En este tutorial, se proporcionan instrucciones para ejecutar el software de AWS IoT Greengrass Core en un Raspberry Pi, pero puede utilizar cualquier dispositivo compatible.

En esta sección, configurará, instalará y ejecutará el software de AWS IoT Greengrass Core en su dispositivo principal.

Cómo instalar y ejecutar AWS IoT Greengrass
  1. En la sección Software de AWS IoT Greengrass Core de esta guía, descargue el paquete de instalación del software AWS IoT Greengrass Core. Elija el paquete que mejor se adapte a la arquitectura de la CPU, la distribución y el sistema operativo del dispositivo principal.

    • Para Raspberry Pi, descargue el paquete para la arquitectura de ARMv7L y el sistema operativo Linux.

    • Para una instancia Amazon EC2, descargue el paquete para la arquitectura x86_64 y el sistema operativo Linux.

    • En el caso de NVIDIA Jetson TX2, descargue el paquete para la arquitectura Armv8 (AArch64) y el sistema operativo Linux.

    • En el caso de Intel Atom, descargue el paquete para la arquitectura x86_64 y el sistema operativo Linux.

  2. En pasos anteriores, descargó cinco archivos en su equipo:

    • greengrass-OS-architecture-1.11.6.tar.gz: Este archivo comprimido contiene el software de AWS IoT Greengrass Core que se ejecuta en el dispositivo del núcleo.

    • certificateId-certificate.pem.crt – El certificado de dispositivo.

    • certificateId-public.pem.key – El archivo de clave pública del certificado del dispositivo.

    • certificateId-private.pem.key – El archivo de clave privada del certificado del dispositivo.

    • AmazonRootCA1.pem – El archivo de la entidad de certificación (CA) raíz de Amazon.

    En este paso, transfiere estos archivos del equipo al dispositivo del núcleo. Haga lo siguiente:

    1. Si no conoce la dirección IP de su dispositivo de Greengrass Core, abra un terminal en el dispositivo central y ejecute el siguiente comando:

      nota

      Este comando podría no devolver la dirección IP correcta de algunos dispositivos. Consulte la documentación de su dispositivo para recuperar la dirección IP del mismo.

      hostname -I
    2. Transfiera estos archivos desde el ordenador al dispositivo del núcleo. Los pasos de File Transfer varían según el sistema operativo de su equipo. Elija su sistema operativo para ver los pasos que muestran cómo transferir archivos a su dispositivo Raspberry Pi.

      nota

      En Raspberry Pi, el nombre de usuario y la contraseña predeterminados son pi y raspberry, respectivamente.

      En NVIDIA Jetson TX2, el nombre de usuario y la contraseña predeterminados son nvidia y nvidia, respectivamente.

      Windows

      Para transferir los archivos comprimidos desde el equipo a un dispositivo principal de Raspberry Pi, utilice una herramienta adecuada, como WinSCP o el comando pscp de PuTTY. Para utilizar el comando pscp, abra una ventana del símbolo de sistema en el equipo y ejecute lo siguiente:

      cd path-to-downloaded-files pscp -pw Pi-password greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi pscp -pw Pi-password certificateId-certificate.pem.crt pi@IP-address:/home/pi pscp -pw Pi-password certificateId-public.pem.key pi@IP-address:/home/pi pscp -pw Pi-password certificateId-private.pem.key pi@IP-address:/home/pi pscp -pw Pi-password AmazonRootCA1.pem pi@IP-address:/home/pi
      nota

      El número de versión de este comando debe coincidir con la versión del paquete de software AWS IoT Greengrass Core.

      macOS

      Para transferir los archivos comprimidos desde un Mac a un dispositivo Raspberry Pi central, abra una ventana de terminal en el equipo y ejecute los comandos siguientes. La ruta-hacia-archivos-descargados suele ser ~/Downloads.

      nota

      Es posible que se le soliciten dos contraseñas. En tal caso, la primera contraseña es para el comando sudo de Mac y la segunda, para el Raspberry Pi.

      cd path-to-downloaded-files scp greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi scp certificateId-certificate.pem.crt pi@IP-address:/home/pi scp certificateId-public.pem.key pi@IP-address:/home/pi scp certificateId-private.pem.key pi@IP-address:/home/pi scp AmazonRootCA1.pem pi@IP-address:/home/pi
      nota

      El número de versión de este comando debe coincidir con la versión del paquete de software AWS IoT Greengrass Core.

      UNIX-like system

      Para transferir los archivos comprimidos desde un equipo a un dispositivo Raspberry Pi central, abra una ventana de terminal en el equipo y ejecute los comandos siguientes:

      cd path-to-downloaded-files scp greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi scp certificateId-certificate.pem.crt pi@IP-address:/home/pi scp certificateId-public.pem.key pi@IP-address:/home/pi scp certificateId-private.pem.key pi@IP-address:/home/pi scp AmazonRootCA1.pem pi@IP-address:/home/pi
      nota

      El número de versión de este comando debe coincidir con la versión del paquete de software AWS IoT Greengrass Core.

      Raspberry Pi web browser

      Si descargó los archivos comprimidos a través del navegador web del Raspberry Pi, dichos archivos seguramente estén en la carpeta ~/Downloads del dispositivo Pi, como por ejemplo /home/pi/Downloads. De lo contrario, los archivos comprimidos deben estar en la carpeta del Pi ~, como por ejemplo /home/pi.

  3. En el dispositivo del núcleo de Greengrass, abra una terminal y vaya a la carpeta que contiene el software AWS IoT Greengrass Core y los certificados. Sustituya la path-to-transferred-files por la ruta a la que transfirió los archivos en el dispositivo del núcleo. Por ejemplo, en un Raspberry Pi, ejecute cd /home/pi.

    cd path-to-transferred-files
  4. Descomprima el software de AWS IoT Greengrass Core en el dispositivo principal. Ejecute el siguiente comando para descomprimir el archivo de software que ha transferido al dispositivo del núcleo. Este comando usa el argumento -C / para crear la carpeta /greengrass en la carpeta raíz del dispositivo del núcleo.

    sudo tar -xzvf greengrass-OS-architecture-1.11.6.tar.gz -C /
    nota

    El número de versión de este comando debe coincidir con la versión del paquete de software AWS IoT Greengrass Core.

  5. Mueva los certificados y las claves a la carpeta del software AWS IoT Greengrass Core. Ejecute los siguientes comandos para crear una carpeta de certificados y mover los certificados y las claves a ella. Reemplace path-to-transferred-files por la ruta a la que transfirió los archivos en el dispositivo del núcleo y reemplace certificateId por la identificación del certificado en los nombres de los archivos. Por ejemplo, en un Raspberry Pi, sustituya path-to-transferred-files por /home/pi.

    sudo mv path-to-transferred-files/certificateId-certificate.pem.crt /greengrass/certs sudo mv path-to-transferred-files/certificateId-public.pem.key /greengrass/certs sudo mv path-to-transferred-files/certificateId-private.pem.key /greengrass/certs sudo mv path-to-transferred-files/AmazonRootCA1.pem /greengrass/certs
  6. El software AWS IoT Greengrass Core utiliza un archivo de configuración que especifica los parámetros del software. Este archivo de configuración especifica las rutas de los archivos de certificados y los puntos de conexión de Nube de AWS a utilizar. En este paso, creará el archivo de configuración del software AWS IoT Greengrass Core para su núcleo. Haga lo siguiente:

    1. Obtenga el nombre de recurso de Amazon (ARN) para el objeto AWS IoT de su núcleo. Haga lo siguiente:

      1. En la consola AWS IoT, en Administrar, en Dispositivos Greengrass, elija Grupos (V1).

      2. En la página de grupos de Greengrass, elija el grupo que creó anteriormente.

      3. En Descripción general, seleccione el núcleo de Greengrass.

      4. En la página de detalles del núcleo, copie el ARN del objeto AWS IoT y guárdelo para usarlo en el archivo de configuración de AWS IoT Greengrass Core.

    2. Obtenga el punto de enlace de datos del dispositivo AWS IoT para su Cuenta de AWS en la región actual. Los dispositivos utilizan este punto de conexión para conectar AWS como objetos AWS IoT. Haga lo siguiente:

      1. En la consola de AWS IoT, elija Configuración.

      2. En Punto de enlace de datos de dispositivo, copie el punto de conexión y guárdelo para usarlo en el archivo de configuración de AWS IoT Greengrass Core.

    3. El archivo de configuración del software de AWS IoT Greengrass Core. Por ejemplo, puede ejecutar el comando siguiente para usar GNU nano para crear el archivo.

      sudo nano /greengrass/config/config.json

      Reemplace el contenido del archivo por el siguiente documento JSON:

      { "coreThing" : { "caPath": "AmazonRootCA1.pem", "certPath": "certificateId-certificate.pem.crt", "keyPath": "certificateId-private.pem.key", "thingArn": "arn:aws:iot:region:account-id:thing/MyGreengrassV1Core", "iotHost": "device-data-prefix-ats.iot.region.amazonaws.com", "ggHost": "greengrass-ats.iot.region.amazonaws.com", "keepAlive": 600 }, "runtime": { "cgroup": { "useSystemd": "yes" } }, "managedRespawn": false, "crypto": { "caPath": "file:///greengrass/certs/AmazonRootCA1.pem", "principals": { "SecretsManager": { "privateKeyPath": "file:///greengrass/certs/certificateId-private.pem.key" }, "IoTCertificate": { "privateKeyPath": "file:///greengrass/certs/certificateId-private.pem.key", "certificatePath": "file:///greengrass/certs/certificateId-certificate.pem.crt" } } } }

      A continuación, proceda del modo siguiente:

      • Si descargó un certificado de CA raíz de Amazon diferente al de Amazon Root CA 1, sustituya cada instancia de AmazonRootCA1.pem por el nombre del archivo de CA raíz de Amazon.

      • Reemplace cada instancia de certificateId por la identificación del certificado en el nombre de los archivos de certificado y clave.

      • Reemplace arn:aws:iot:region:account-id:thing/MyGreengrassV1Core por el ARN su objeto del núcleo que guardó anteriormente.

      • Reemplace MyGreengrassV1core por el nombre su objeto del núcleo.

      • Reemplace device-data-prefix-ats.iot.region.amazonaws.com por el punto de enlace de datos del dispositivo AWS IoT que guardó anteriormente.

      • Sustituya región por su Región de AWS.

      Para obtener más información sobre las opciones de configuración que puede especificar en este archivo de configuración, consulte Archivo de configuración de AWS IoT Greengrass Core.

  7. Asegúrese de que su dispositivo central esté conectado a internet. A continuación, inice AWS IoT Greengrass en su dispositivo principal.

    cd /greengrass/ggc/core/ sudo ./greengrassd start

    Debería aparecer un mensaje Greengrass successfully started. Tome nota del PID.

    nota

    Para configurar su dispositivo del núcleo para iniciar AWS IoT Greengrass en el arranque del sistema, consulte, consulte Configurar el sistema Init para que inicie el daemon de Greengrass.

    Puede ejecutar el siguiente comando para confirmar que el software de AWS IoT Greengrass Core (daemon de Greengrass) funciona. Reemplace número-PID por su PID:

    ps aux | grep PID-number

    Debería ver una entrada para el PID con una ruta al demonio de Greengrass en ejecución (por ejemplo, /greengrass/ggc/packages/1.11.6/bin/daemon). Si tiene problemas para iniciar AWS IoT Greengrass, consulte Solución de problemas de AWS IoT Greengrass.