Instale e execute o AWS IoT Greengrass no dispositivo de núcleo - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entrou na fase de vida útil prolongada em 30 de junho de 2023. Para obter mais informações, consulte política de manutenção do AWS IoT Greengrass V1. Após essa data, AWS IoT Greengrass V1 não lançaremos atualizações que forneçam recursos, aprimoramentos, correções de erros ou patches de segurança. Os dispositivos que funcionam AWS IoT Greengrass V1 não serão interrompidos e continuarão operando e se conectando à nuvem. É altamente recomendável que você migre para AWS IoT Greengrass Version 2, o que adiciona novos recursos significativos e suporte para plataformas adicionais.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Instale e execute o AWS IoT Greengrass no dispositivo de núcleo

nota

Este tutorial fornece instruções para você executar e software AWS IoT Greengrass Core em um Raspberry Pi, mas é possível usar qualquer dispositivo compatível.

Nesta seção, você configura, instala e executa o software AWS IoT Greengrass Core em seu dispositivo de núcleo.

Para instalar e executar o AWS IoT Greengrass
  1. Na seção AWS IoT Greengrass Core software deste guia, faça download do pacote de instalação do software do AWS IoT Greengrass Core. Selecione o pacote que melhor se adapta à arquitetura da CPU, à distribuição e ao sistema operacional do dispositivo de núcleo.

    • Para o Raspberry Pi, baixe o pacote para a arquitetura ARMv7l e o sistema operacional Linux.

    • Para uma instância do Amazon EC2, faça download do pacote para a arquitetura x86_64 e o sistema operacional Linux.

    • Para NVIDIA Jetson TX2, faça download do pacote para a arquitetura Armv8 (AArch64) e o sistema operacional Linux.

    • Para o Intel Atom, faça download do pacote para a arquitetura x86_64 e o sistema operacional Linux.

  2. Em etapas anteriores, você obteve cinco arquivos por download em seu computador:

    • greengrass-OS-architecture-1.11.6.tar.gz – este arquivo compactado contém o software AWS IoT Greengrass Core que é executado no dispositivo de núcleo.

    • certificateId-certificate.pem.crt – o arquivo de certificado do dispositivo.

    • certificateId-public.pem.key – o arquivo de chave pública do certificado do dispositivo.

    • certificateId-private.pem.key – o arquivo de chave privada do certificado do dispositivo.

    • AmazonRootCA1.pem – o arquivo da autoridade de certificação (CA) raiz da Amazon.

    Nesta etapa, você transfere esses arquivos do computador para o dispositivo principal. Faça o seguinte:

    1. Se você não sabe qual é o endereço IP do dispositivo de núcleo do Greengrass, abra um terminal no dispositivo de núcleo e execute o seguinte comando.

      nota

      Pode ser que este comando não retorne o endereço IP correto para alguns dispositivos. Consulte a documentação do seu dispositivo para recuperar o endereço IP dele.

      hostname -I
    2. Transfira esses arquivos do computador para o dispositivo de núcleo. As etapas de transferência de arquivos variam em função do sistema operacional do computador. Selecione o seu sistema operacional para as etapas que mostram como transferir arquivos para o dispositivo Raspberry Pi.

      nota

      Para um Raspberry Pi, o nome de usuário padrão é pi e a senha padrão é raspberry.

      Para um NVIDIA Jetson TX2, o nome de usuário padrão é nvidia e a senha padrão é nvidia.

      Windows

      Para transferir os arquivos compactados do computador para um dispositivo de núcleo do Raspberry Pi, use uma ferramenta como WinSCP ou o comando PuTTY pscp. Para usar o comando pscp, abra uma janela de prompt de comando no computador e execute o seguinte:

      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

      O número da versão nesse comando deve corresponder à versão do pacote de software do núcleo do AWS IoT Greengrass.

      macOS

      Para transferir os arquivos compactados do Mac para um dispositivo de núcleo do Raspberry Pi, abra uma janela do terminal no computador e execute os comandos a seguir. O caminho-para-arquivos-obtidos-por-download normalmente é ~/Downloads.

      nota

      Podem ser solicitadas duas senhas. Nesse caso, a primeira senha será para o comando sudo do Mac e a segunda será a senha do 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

      O número da versão nesse comando deve corresponder à versão do pacote de software do núcleo do AWS IoT Greengrass.

      UNIX-like system

      Para transferir os arquivos compactados do computador para um dispositivo de núcleo do Raspberry Pi, abra uma janela do terminal no computador e execute os seguintes comandos:

      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

      O número da versão nesse comando deve corresponder à versão do pacote de software do núcleo do AWS IoT Greengrass.

      Raspberry Pi web browser

      Se você tiver usado o navegador da web do Raspberry Pi para fazer download dos arquivos compactados, os arquivos deverão estar na pasta ~/Downloads do Pi, como a /home/pi/Downloads. Caso contrário, os arquivos compactados deverão estar na pasta ~ do Pi, como a /home/pi.

  3. No dispositivo de núcleo do Greengrass, abra um terminal e navegue até a pasta que contém o software AWS IoT Greengrass Core e os certificados. Substitua path-to-transferred-files pelo caminho para o qual você transferiu os arquivos no dispositivo de núcleo. Por exemplo, em um Raspberry Pi, execute cd /home/pi.

    cd path-to-transferred-files
  4. Descompacte o software AWS IoT Greengrass Core no dispositivo de núcleo. Execute o comando a seguir para descompactar o software de arquivo que você transferiu para o dispositivo de núcleo. Esse comando usa o argumento -C / para criar a pasta /greengrass na pasta raiz do dispositivo de núcleo.

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

    O número da versão nesse comando deve corresponder à versão do pacote de software do núcleo do AWS IoT Greengrass.

  5. Transfira os certificados e as chaves para a pasta do software AWS IoT Greengrass Core. Execute os comandos a seguir para criar uma pasta para certificados e transferir os certificados e as chaves para ela. Substitua path-to-transferred-files pelo caminho para o qual você transferiu os arquivos no dispositivo de núcleo e substitua o certificateID pelo ID do certificado nos nomes dos arquivos. Por exemplo, em um Raspberry Pi, substitua 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. O software AWS IoT Greengrass Core usa um arquivo de configuração que especifica parâmetros para o software. Esse arquivo de configuração especifica os caminhos dos arquivos de certificado e os endpoints Nuvem AWS a serem usados. Nesta etapa, você cria o arquivo de configuração do software AWS IoT Greengrass Core para seu núcleo. Faça o seguinte:

    1. Obtenha o nome do recurso da Amazon (ARN) a partir da coisa AWS IoT do seu núcelo. Faça o seguinte:

      1. No AWS IoT console, em Gerenciar, em Dispositivos Greengrass, selecione Grupos (V1).

      2. Na página de Grupos do Greengrass, selecione o grupo criado por você anteriormente.

      3. Em Visão geral, selecione Núcleo do Greengrass.

      4. Na página de detalhes do núcleo, copie o ARN da coisa AWS IoT e salve-o para usar no arquivo de configuração do AWS IoT Greengrass Core.

    2. Obtenha o endpoint de dados do dispositivo AWS IoT para sua Conta da AWS na Região atual. Os dispositivos usam esse endpoint para se conectar a AWS como coisas AWS IoT. Faça o seguinte:

      1. Em AWS IoT console, selecione Configurações.

      2. Em Endpoint de dados do dispositivo, copie o Endpoint e salve-o para usar no arquivo de configuração do AWS IoT Greengrass Core.

    3. Crie o arquivo de configuração do software AWS IoT Greengrass Core. Por exemplo, você pode executar o seguinte comando para usar o GNU nano para criar o arquivo.

      sudo nano /greengrass/config/config.json

      Substitua o conteúdo do arquivo com o seguinte 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" } } } }

      Então, faça o seguinte:

      • Se você baixou um certificado de CA raiz da Amazon diferente do Amazon Root CA 1, substitua cada instância do AmazonRootCA1.pem pelo nome do arquivo de CA raiz da Amazon.

      • Substitua cada instância de certificateID pelo ID do certificado no nome do certificado e dos arquivos de chave.

      • Substitua arn:aws:iot:region:account-id:thing/MyGreengrassV1Core pelo ARN da coisa do seu núcleo que você salvou anteriormente.

      • Substitua MyGreengrassV1core pelo nome do seu núcleo.

      • Substitua device-data-prefix-ats.iot.region.amazonaws.com pelo endpoint de dados do dispositivo AWS IoT que você salvou anteriormente.

      • Substitua região pela sua Região da AWS.

      Para obter mais informações sobre as opções de configuração que você pode especificar nessa configuração, consulte Arquivo de configuração de núcleo do AWS IoT Greengrass.

  7. Verifique se o dispositivo de núcleo está conectado à Internet. Depois, inicie o AWS IoT Greengrass no dispositivo de núcleo.

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

    Você deverá uma mensagem Greengrass successfully started. Anote o PID da função.

    nota

    Para configurar o dispositivo de núcleo a fim de iniciar o AWS IoT Greengrass na inicialização do sistema, consulte Configurar o sistema init para iniciar o daemon do Greengrass.

    É possível executar o comando a seguir para confirmar que o software do núcleo do AWS IoT Greengrass (daemon Greengrass) está funcionando. Substitua Número-PID pelo seu PID:

    ps aux | grep PID-number

    Você deve ver uma entrada do PID com um caminho para o daemon do Greengrass que está em execução (por exemplo, /greengrass/ggc/packages/1.11.6/bin/daemon). Se você tiver problemas ao iniciar o AWS IoT Greengrass, consulte Solução de problemas de AWS IoT Greengrass.