Configure seu dispositivo para executar testes de IDT - 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á.

Configure seu dispositivo para executar testes de IDT

Para configurar o dispositivo, você deve instalar dependências do AWS IoT Greengrass, configurar o software do núcleo do AWS IoT Greengrass, configurar seu computador host para acessar o dispositivo e configurar permissões de usuário no seu dispositivo.

Verificar as dependências do AWS IoT Greengrass no dispositivo em teste

Para que o IDT para AWS IoT Greengrass possa testar os dispositivos, verifique se o dispositivo está configurado conforme descrito em Conceitos básicos do AWS IoT Greengrass. Para obter mais informações sobre as plataformas compatíveis, consulte Plataformas compatíveis.

Configurar o software do AWS IoT Greengrass

O IDT AWS IoT Greengrass testa a compatibilidade do seu dispositivo com uma versão específica do AWS IoT Greengrass. O IDT fornece duas opções para testar o AWS IoT Greengrass em seus dispositivos:

  • Faça download e use uma versão do software de núcleo do AWS IoT Greengrass. O IDT instala o software para você.

  • Use uma versão do software de núcleo do AWS IoT Greengrass já instalado no seu dispositivo.

nota

Cada versão do AWS IoT Greengrass tem uma versão IDT correspondente. Você deve fazer download da versão do IDT que corresponda à versão do AWS IoT Greengrass que você está usando.

As seções a seguir descrevem essas opções. Você só precisa fazer uma delas.

Você pode baixar o software AWS IoT Greengrass Core a partir da página de downloads do software AWS IoT Greengrass Core.

  1. Localize a arquitetura correta e distribuição do Linux e, em seguida selecione Download (Fazer download).

  2. Copie o arquivo tar.gz para <device-tester-extract-location>/products/greengrass/ggc.

nota

Não altere o nome do arquivo tar.gz do AWS IoT Greengrass. Não coloque vários arquivos nesse diretório para o mesmo sistema operacional e arquitetura. Por exemplo, a presença dos arquivos greengrass-linux-armv7l-1.7.1.tar.gz e greengrass-linux-armv7l-1.8.1.tar.gz nesse diretório fará com que os testes falhem.

Configure o IDT para testar o software do núcleo do AWS IoT Greengrass instalado no dispositivo adicionando o atributo greengrassLocation ao arquivo device.json na pasta <device-tester-extract-location>/configs. Por exemplo:

"greengrassLocation" : "<path-to-greengrass-on-device>"

Para obter mais informações sobre o arquivo device.json, consulte Configurar device.json.

Em dispositivos Linux, o local padrão do software de núcleo do AWS IoT Greengrass é /greengrass.

nota

Seu dispositivo deve ter uma instalação do software do núcleo do AWS IoT Greengrass que não tenha sido iniciada.

Certifique-se de ter adicionado o usuário ggc_user e ggc_group no seu dispositivo. Para obter mais informações, consulte Configuração de ambiente para o AWS IoT Greengrass.

Configurar o computador host para acessar o dispositivo em teste

O ITD é executado em seu computador host e deve ser capaz de usar o SSH para se conectar ao seu dispositivo. Há duas opções para permitir que o IDT obtenha acesso SSH aos dispositivos em teste:

  1. Siga as instruções aqui para criar um par de chaves SSH e autorizar sua chave a fazer login no dispositivo em teste sem especificar uma senha.

  2. Forneça um nome de usuário e uma senha para cada dispositivo no arquivo device.json. Para obter mais informações, consulte Configurar device.json.

Você pode usar qualquer implementação SSL para criar uma chave SSH. As instruções a seguir mostram como usar o SSH-KEYGEN ou PuTTYgen (para Windows). Se você estiver usando outra implementação de SSL, consulte a documentação para essa implementação.

O IDT usa chaves SSH para autenticar com o dispositivo em teste.

Para criar uma chave SSH com SSH-KEYGEN
  1. Crie uma chave SSH.

    Você pode usar o comando ssh-keygen Open SSH para criar um par de chaves SSH. Se você já tem um par de chaves SSH em seu computador host, é uma prática recomendada criar um par de chaves SSH especificamente para IDT. Dessa forma, depois de concluir o teste, o computador host não poderá mais se conectar ao dispositivo sem inserir uma senha. Ele também permite que você restrinja o acesso ao dispositivo remoto apenas para aqueles que precisam.

    nota

    O Windows não tem um cliente SSH instalado. Para obter informações sobre como instalar um cliente SSH no Windows, consulte Fazer download do software cliente SSH.

    O comando ssh-keygen solicita que você informe um nome e caminho para armazenar o par de chaves. Por padrão, os arquivos de pares de chaves são nomeados como id_rsa (chave privada) e id_rsa.pub (chave pública). No macOS e no Linux, o local padrão desses arquivos é ~/.ssh/. No Windows, o local padrão é C:\Users\<user-name>\.ssh.

    Quando solicitado, insira uma frase-chave para proteger sua chave SSH. Para obter mais informações, consulte Gerar uma chave SSH.

  2. Adição de chaves SSH autorizadas ao seu dispositivo em teste.

    O ITD deve usar sua chave privada SSH para fazer login no seu dispositivo em teste. Para autorizar sua chave privada SSH a fazer login no seu dispositivo em teste, use o comando ssh-copy-id do seu computador host. Esse comando adiciona sua chave pública ao arquivo ~/.ssh/authorized_keys no seu dispositivo em teste. Por exemplo:

    $ ssh-copy-id <remote-ssh-user>@<remote-device-ip>

    Onde remote-ssh-user é o nome de usuário usado para fazer login no seu dispositivo em teste e remote-device-ip é o endereço IP do dispositivo em teste para executar testes. Por exemplo:

    ssh-copy-id pi@192.168.1.5

    Quando solicitado, insira a senha para o nome de usuário especificado no comando ssh-copy-id.

    ssh-copy-id supõe que a chave pública chama-se id_rsa.pub e está armazenada no local padrão (~/.ssh/ no macOS e no Linux, e C:\Users\<user-name>\.ssh no Windows). Se você atribuiu à chave pública um nome diferente ou armazenou em um local diferente, você deve especificar o caminho para sua chave pública SSH usando a opção -i para ssh-copy-id (por exemplo, ssh-copy-id -i ~/my/path/myKey.pub). Para obter mais informações sobre a criação de chaves SSH e a cópia de chaves públicas, consulte SSH-COPY-ID.

Para criar uma chave SSH usando o PuTTYgen (somente Windows)
  1. Verifique se o servidor e o cliente OpenSSH estão instalados no dispositivo em teste. Para obter mais informações, consulte OpenSSH.

  2. Instale o PuTTYgen no dispositivo em teste.

  3. Abra o PuTTYgen.

  4. Selecione Generate (Gerar) e mova o cursor do mouse dentro da caixa para gerar uma chave privada.

  5. No menu Conversions (Conversões), selecione Export OpenSSH key (Exportar chave OpenSSH) e salve a chave privada com uma extensão de arquivo .pem.

  6. Adicione a chave pública ao arquivo /home/<user>/.ssh/authorized_keys no dispositivo em teste.

    1. Copie o texto da chave pública da janela PuTTYgen.

    2. Use o PuTTY para criar uma sessão no dispositivo em teste.

      1. Em um prompt de comando ou janela Windows Powershell, execute o seguinte comando:

        C:/<path-to-putty>/putty.exe -ssh <user>@<dut-ip-address>

      2. Quando solicitado, insira a senha do dispositivo.

      3. Use vi ou outro editor de texto para anexar a chave pública ao arquivo /home/<user>/.ssh/authorized_keys no dispositivo em teste.

  7. Atualize o arquivo device.json com o nome de usuário, o endereço IP e o caminho para o arquivo da chave privada que você acabou de salvar no computador host para cada dispositivo em teste. Para obter mais informações, consulte Configurar device.json. Você deve fornecer o caminho completo e o nome do arquivo para a chave privada e usar barras ('/'). Por exemplo, para o caminho do Windows C:\DT\privatekey.pem, use C:/DT/privatekey.pem no arquivo device.json.

Configurar permissões de usuário no dispositivo

O ITD executa operações em vários diretórios e arquivos em um dispositivo em teste. Algumas dessas operações exigem permissões elevadas (usando sudo). Para automatizar essas operações, o ITD para AWS IoT Greengrass deverá ser capaz de executar comandos com sudo sem informar uma senha.

Siga estas etapas no dispositivo em teste para permitir o acesso ao sudo sem receber uma solicitação de senha.

nota

username refere-se ao usuário SSH usado pelo IDT para acessar o dispositivo em teste.

Para adicionar o usuário ao grupo sudo
  1. No dispositivo em teste, execute sudo usermod -aG sudo <username>.

  2. Saia e faça login novamente para que as alterações entrem em vigor.

  3. Para verificar se o nome de usuário foi adicionado com êxito, execute sudo echo test. Se você não receber uma solicitação de senha, o usuário foi configurado corretamente.

  4. Abra o arquivo /etc/sudoers e adicione a linha a seguir ao final do arquivo:

    <ssh-username> ALL=(ALL) NOPASSWD: ALL

Configurar seu dispositivo para testar atributos opcionais

Os tópicos a seguir descrevem como configurar seus dispositivos de modo a executar testes IDT para atributos opcionais. Siga os passos de configuração a seguir apenas se você quiser testar estes recursos. Caso contrário, avance para Defina as configurações do IDT para executar o pacote de qualificação AWS IoT Greengrass.