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á.
Tutorial: compile e execute o pacote de amostra de teste de IDT
O download do AWS IoT Device Tester inclui o código-fonte de um pacote de amostra de teste. Você pode seguir este tutorial para criar e executar o pacote de amostra de teste para entender como você pode usar o AWS IoT Device Tester para executar conjuntos de teste personalizados do AWS IoT Greengrass.
Neste tutorial, você completará as seguintes etapas:
Pré-requisitos
Para concluir este tutorial, você precisará do seguinte:
-
Requisitos do computador host
-
Versão mais recente do AWS IoT Device Tester
-
Python
3.7 ou posterior Para verificar a versão do Python instalada em seu computador, execute o comando a seguir:
python3 --version
No Windows, se o uso desse comando retornar um erro, use
python --version
em vez disso. Se o número da versão retornada for 3.7 ou superior, execute o seguinte comando em um terminal Powershell para definirpython3
como um alias para seu comandopython
.Set-Alias -Name "python3" -Value "python"
Se nenhuma informação sobre versão for retornada ou se o número da versão for menor do que 3.7, siga as instruções em Fazer download do Python
para instalar o Python 3.7+. Para obter mais informações, consulte a Documentação do Python . -
Para verificar se
urllib3
está instalado corretamente, execute o comando a seguir:python3 -c 'import urllib3'
Se o
urllib3
não estiver instalado, execute o comando a seguir para instalá-lo:python3 -m pip install urllib3
-
-
Requisitos do dispositivo
-
Um dispositivo com sistema operacional Linux e uma conexão de rede com a mesma rede do seu computador host.
Recomendamos que você use um Raspberry Pi
com o sistema operacional Raspberry Pi. Verifique que você configurou o SSH no seu Raspberry Pi para se conectar remotamente a ele.
-
Configure as informações do dispositivo para o IDT
Configure as informações do seu dispositivo para que o IDT execute o teste. Você deve atualizar o modelo device.json
localizado na pasta
com as seguintes informações.<device-tester-extract-location>
/configs
[ { "id": "pool", "sku": "N/A", "devices": [ { "id": "
<device-id>
", "connectivity": { "protocol": "ssh", "ip": "<ip-address>
", "port": "<port>
", "auth": { "method": "pki | password", "credentials": { "user": "<user-name>
", "privKeyPath": "/path/to/private/key
", "password": "<password>
" } } } } ] } ]
No objeto devices
, forneça as seguintes informações:
id
-
Um identificador exclusivo, definido pelo usuário, para seu dispositivo.
connectivity.ip
-
O endereço IP do seu dispositivo.
connectivity.port
-
Opcional. O número da porta a ser usada para conexões SSH com o dispositivo.
connectivity.auth
-
Informações de autenticação da conexão.
Essa propriedade será aplicada somente se
connectivity.protocol
estiver definido comossh
.connectivity.auth.method
-
O método de autenticação usado para acessar um dispositivo pelo protocolo de conectividade indicado.
Os valores compatíveis são:
-
pki
-
password
-
connectivity.auth.credentials
-
As credenciais usadas para autenticação.
connectivity.auth.credentials.user
-
O nome de usuário usado para fazer login no seu dispositivo.
connectivity.auth.credentials.privKeyPath
-
O caminho completo para a chave privada usada para fazer login no seu dispositivo.
Esse valor se aplica somente se
connectivity.auth.method
estiver definido comopki
. devices.connectivity.auth.credentials.password
-
A senha usada para fazer login no seu dispositivo.
Esse valor se aplica somente se
connectivity.auth.method
estiver definido comopassword
.
nota
Especifique privKeyPath
somente se method
estiver definido como pki
.
Especifique password
somente se method
estiver definido como password
.
Compile o pacote de amostra de teste
A pasta
contém exemplos de arquivos de configuração, código-fonte e o SDK do cliente IDT que você pode combinar em um pacote de testes usando os scripts de construção fornecidos. A árvore de diretórios a seguir mostra a localização desses arquivos de amostra:<device-tester-extract-location>
/samples/python
<device-tester-extract-location>
├── ... ├── tests ├── samples │ ├── ... │ └── python │ ├── configuration │ ├── src │ └── build-scripts │ ├── build.sh │ └── build.ps1 └── sdks ├── ... └── python └── idt_client
Para criar o pacote de testes, execute os seguintes comandos em seu computador host:
Isso cria o pacote de amostra de teste na pasta IDTSampleSuitePython_1.0.0
dentro da pasta
. Examine os arquivos na pasta <device-tester-extract-location>
/testsIDTSampleSuitePython_1.0.0
para entender como o pacote de amostra de teste está estruturado e veja vários exemplos de executáveis de casos de teste e arquivos JSON de configuração de teste.
Próxima etapa: use o IDT para executar o pacote de amostra de teste que você criou.
Use o IDT para executar o pacote de amostra de teste
Para executar o pacote de amostra de teste, execute os seguintes comandos em seu computador host:
cd
<device-tester-extract-location>
/bin ./devicetester_[linux | mac | win_x86-64]
run-suite --suite-id IDTSampleSuitePython
O IDT executa o pacote de amostra de teste e transmite os resultados para o console. Quando a execução do teste for concluída, você verá as seguintes informações:
========== Test Summary ========== Execution Time: 5s Tests Completed: 4 Tests Passed: 4 Tests Failed: 0 Tests Skipped: 0 ---------------------------------- Test Groups: sample_group: PASSED ---------------------------------- Path to IoT Device Tester Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/awsiotdevicetester_report.xml Path to Test Execution Logs: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/logs Path to Aggregated JUnit Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/IDTSampleSuitePython_Report.xml
Solução de problemas
Use as informações a seguir para ajudar você a resolver quaisquer problemas do tutorial.
O caso de teste não é executado com êxito
Se o teste não for executado com êxito, o IDT transmite os logs de erros para o console, o que pode ajudar você a solucionar o problema da execução do teste. Certifique-se de que você atendeu a todos os pré-requisitos deste tutorial.
Não é possível se conectar ao dispositivo em teste
Verifique o seguinte:
-
Seu arquivo
device.json
contém o endereço IP, a porta e as informações de autenticação corretos. -
Você pode se conectar ao seu dispositivo via SSH a partir do seu computador host.