Configurar um Raspberry Pi - 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á.

Configurar um Raspberry Pi

Siga as etapas neste tópico para configurar um Raspberry Pi para usar como seu núcleo AWS IoT Greengrass.

dica

O AWS IoT Greengrass também fornece outras opções para instalar o software do AWS IoT Greengrass Core. Por exemplo, é possível usar a configuração do dispositivo do Greengrass para configurar o ambiente e instalar a versão mais recente do software do AWS IoT Greengrass Core. Ou, nas plataformas Debian compatíveis, é possível usar o gerenciador de pacotes do APT para instalar ou atualizar o software do AWS IoT Greengrass Core. Para obter mais informações, consulte Instalar o software do AWS IoT Greengrass Core.

Se você estiver configurando um Raspberry Pi pela primeira vez, siga todas estas etapas. Caso contrário, pule para o passo 9. No entanto, recomendamos que você crie uma nova imagem do seu Raspberry Pi com o sistema operacional, conforme recomendado na Etapa 2.

 

  1. Faça download e instale um formatador de cartão SD, como o Formatador de cartão de memória SD. Insira o cartão SD no seu computador. Inicie o programa e selecione a unidade em que você inseriu seu cartão SD. Você pode executar uma formatação rápida do cartão SD.

  2. Faça download do sistema operacional Raspbian Buster como um arquivo zip.

  3. Usando uma ferramenta de gravação de cartão SD (como Etcher), siga as instruções da ferramenta para instalar a imagem do arquivo zip obtido por download no cartão SD. Como a imagem do sistema operacional é grande, essa etapa deve levar algum tempo. Ejete seu cartão SD do computador e insira o cartão microSD no seu Raspberry Pi.

  4. Durante a primeira inicialização, recomendamos que você conecte o Raspberry Pi a um monitor (por meio de HDMI), teclado e mouse. Em seguida, conecte seu Pi a uma fonte de energia micro USB e o sistema operacional Raspbian deverá ser iniciado.

  5. Você pode configurar o layout de teclado do Pi antes de continuar. Para fazer isso, clique no ícone Raspberry no canto superior direito, selecione Preferences (Preferências) e, em seguida, Mouse and Keyboard Settings (Configurações de mouse e teclado). Depois, clique na guia Keyboard (Teclado), Keyboard Layout (Layout de teclado) e, em seguida, selecione uma variante apropriada do teclado.

  6. Em seguida, conecte seu Raspberry Pi à Internet por meio de uma rede Wi-Fi ou com um cabo Ethernet.

    nota

    Conecte seu Raspberry Pi à mesma rede que o seu computador está conectado, e certifique-se de que o computador e o Raspberry Pi tenham acesso à Internet antes de continuar. Se você estiver em um ambiente de trabalho ou atrás de um firewall, talvez seja necessário conectar o Pi e o computador à rede de convidado para colocar ambos os dispositivos na mesma rede. No entanto, essa abordagem pode desconectar o computador dos recursos da rede local, como sua intranet. Uma solução é conectar o Pi à rede Wi-Fi de convidado e conectar o computador à rede Wi-Fi de convidado e à rede local por meio de um cabo Ethernet. Com essa configuração, o computador deverá poder se conectar ao Raspberry PI por meio da rede Wi-Fi de convidado e a seus recursos de rede local por meio do cabo Ethernet.

  7. Você deve configurar o SSH no seu Pi para se conectar remotamente a ele. No Raspberry Pi, abra uma janela de terminal e execute o seguinte comando:

    sudo raspi-config

    Você deve ver o seguinte:

    Captura de tela da ferramenta de configuração de software do Raspberry Pi (raspi-config).

    Role para baixo e selecione Interfacing Options e, em seguida, selecione P2 SSH. Quando solicitado, selecione Sim. (Use a tecla Tab seguida por Enter). Agora, o SSH deve estar habilitado. Selecione OK. Use a tecla Tab para escolher Finish (Concluir) e, em seguida, pressione Enter. Se o Raspberry Pi não reinicializar automaticamente, execute o seguinte comando:

    sudo reboot
  8. No Raspberry Pi, execute o seguinte comando no terminal:

    hostname -I

    Isso retorna o endereço IP do seu Raspberry Pi.

    nota

    Para o seguinte, se você receber uma mensagem relacionada à impressão digital da chave ECDSA (Are you sure you want to continue connecting (yes/no)?), insira yes. A senha padrão do Raspberry Pi é raspberry.

    Se você estiver usando macOS, abra uma janela de terminal e insira o seguinte:

    ssh pi@IP-address

    Aqui, Endereço-IP é o endereço IP do Raspberry Pi obtido por você usando o comando hostname -I anterior.

    Se você estiver usando uma máquina com Windows, precisará instalar e configurar o PuTTY. Expanda Connection (Conexão), selecione Data (Dados) e certifique-se de que Prompt (Solicitar) esteja selecionado:

    Janela PuTTY com Prompt selecionado.

    Em seguida, selecione Session (Sessão), insira o endereço IP do Raspberry Pi e selecione Open (Abrir) usando as configurações padrão.

    Janela PuTTY com o endereço IP no campo “Host Name (or IP address)” (Nome de host [ou endereço IP]).

    Se um alerta de segurança do PuTTY for exibido, selecione Yes (Sim).

    O login e senha padrão do Raspberry Pi são pi e raspberry, respectivamente.

    Janela de terminal de PuTTY inicial.
    nota

    Se o seu computador estiver conectado a uma rede remota usando VPN , isso poderá dificultar a conexão do computador com o Raspberry Pi usando SSH.

  9. Agora você está pronto para configurar o Raspberry Pi para o AWS IoT Greengrass. Primeiro, execute os seguintes comandos a partir de uma janela de terminal local do Raspberry Pi ou uma janela de terminal SSH:

    dica

    O AWS IoT Greengrass também fornece outras opções para instalar o software do AWS IoT Greengrass Core. Por exemplo, é possível usar a configuração do dispositivo do Greengrass para configurar o ambiente e instalar a versão mais recente do software do AWS IoT Greengrass Core. Ou, nas plataformas Debian compatíveis, é possível usar o gerenciador de pacotes do APT para instalar ou atualizar o software do AWS IoT Greengrass Core. Para obter mais informações, consulte Instalar o software do AWS IoT Greengrass Core.

    sudo adduser --system ggc_user sudo addgroup --system ggc_group
  10. Para aumentar a segurança no dispositivo Pi, habilite as proteções de hardlink e softlink (symlink) no sistema operacional durante a startup.

    1. Navegue até o arquivo 98-rpi.conf.

      cd /etc/sysctl.d ls
      nota

      Se você não encontrar o arquivo 98-rpi.conf, siga as instruções no arquivo README.sysctl.

    2. Use um editor de texto (como Leafpad, GNU nano ou vi) para adicionar as duas linhas a seguir ao final do arquivo. Pode ser necessário usar o comando sudo para editar como raiz (por exemplo, sudo nano 98-rpi.conf).

      fs.protected_hardlinks = 1 fs.protected_symlinks = 1
    3. Reinicialize o Pi.

      sudo reboot

      Depois de cerca de um minuto, conecte-se ao Pi usando SSH e então execute o comando a seguir para confirmar a alteração:

      sudo sysctl -a 2> /dev/null | grep fs.protected

      Você deve ver fs.protected_hardlinks = 1 e fs.protected_symlinks = 1.

  11. Edite o arquivos de inicialização da linha de comando para habilitar e montar cgroups de memória. Isso permite que o AWS IoT Greengrass defina o limite de memória para funções do Lambda. Também é necessário que os Cgroups executem o AWS IoT Greengrass no modo de conteinerização padrão.

    1. Navegue até o diretório boot.

      cd /boot/
    2. Use um editor de texto para abrir cmdline.txt. Anexe o seguinte ao final da linha existente, e não como uma nova linha. Pode ser necessário usar o comando sudo para editar como raiz (por exemplo, sudo nano cmdline.txt).

      cgroup_enable=memory cgroup_memory=1
    3. Agora, reinicialize o Pi.

      sudo reboot

    Agora, seu Raspberry Pi deve estar pronto para o AWS IoT Greengrass.

  12. Opcional. Instale o tempo de execução do Java 8, que é exigido pelo gerenciador de fluxo. Este tutorial não usa o gerenciador de fluxo, mas usa o fluxo de trabalho de Criação de grupo padrão que habilita o gerenciador de fluxo por padrão. Use os comandos a seguir para instalar o módulo de tempo de execução do Java 8 no dispositivo de núcleo ou desabilite o gerenciador de fluxo antes de implantar seu grupo. As instruções para desabilitar o gerenciador de fluxo são fornecidas no Módulo 3.

    sudo apt install openjdk-8-jdk
  13. Para garantir que você tenha todas as dependências necessárias, faça download e execute o verificador de dependências do Greengrass no repositório de Amostras do AWS IoT Greengrass no GitHub. Esses comandos descompactam e executam o script verificador de dependências no diretório Downloads.

    nota

    O verificador de dependências pode falhar se você estiver executando a versão 5.4.51 do kernel Raspbian. Essa versão não monta cgroups de memória corretamente. Isso pode fazer com que as funções do Lambda em execução no modo contêiner falhem.

    Para obter mais informações sobre como atualizar seu kernel, consulte os Cgroups não carregados após a atualização do kernel nos fóruns do Raspberry Pi.

    cd /home/pi/Downloads mkdir greengrass-dependency-checker-GGCv1.11.x cd greengrass-dependency-checker-GGCv1.11.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip unzip greengrass-dependency-checker-GGCv1.11.x.zip cd greengrass-dependency-checker-GGCv1.11.x sudo modprobe configs sudo ./check_ggc_dependencies | more

    Se more for exibido, pressione a tecla Spacebar para exibir outra tela de texto.

    Importante

    Este tutorial requer o Python 3.7 Runtime para executar funções locais do Lambda. Quando o gerenciador de fluxo está habilitado, ele também requer o Java 8 Runtime. Se o script check_ggc_dependencies gerar avisos sobre esses pré-requisitos de tempo de execução ausentes, certifique-se de instalá-los antes de continuar. Você pode ignorar os avisos sobre outros pré-requisitos de tempo de execução opcionais ausentes.

    Para obter informações sobre o comando modprobe, execute man modprobe no terminal.

A configuração do Raspberry Pi está concluída. Avance para Módulo 2: Instalação do software do AWS IoT Greengrass Core.