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.
Tutorial: crear y ejecutar el ejemplo del conjunto de pruebas de IDT
La descarga de AWS IoT Device Tester incluye el código fuente de un conjunto de pruebas de muestra. Puede completar este tutorial para crear y ejecutar el conjunto de pruebas de ejemplo y comprender cómo puede utilizar AWS IoT Device Tester para AWS IoT Greengrass y ejecutar conjuntos de pruebas personalizados.
En este tutorial, completará los siguientes pasos:
Requisitos previos
Necesitará lo siguiente para completar este tutorial:
-
Requisitos del equipo host
-
Última versión de Device Tester AWS IoT
-
Python
3.7 o posterior Para comprobar la versión de Python instalada en el equipo, ejecute el siguiente comando:
python3 --version
En Windows, si el uso de este comando devuelve un error, utilice
python --version
en su lugar. Si el número de versión devuelto es 3.7 o superior, ejecute el siguiente comando en una terminal de Powershell para configurarpython3
como alias para el comandopython
.Set-Alias -Name "python3" -Value "python"
Si no se devuelve información sobre la versión o si la versión es inferior a 3.7, siga las instrucciones que se indican en Descarga de Python
para instalar Python 3.7 o superior. Para obtener más información, consulte la documentación de Python . -
Para comprobar que
urllib3
se ha instalado correctamente, ejecute el siguiente comando:python3 -c 'import urllib3'
Si
urllib3
no está instalado, ejecute el siguiente comando para instalarlo:python3 -m pip install urllib3
-
-
Requisitos de los dispositivos
-
Un dispositivo con un sistema operativo Linux y una conexión de red a la misma red que el equipo host.
Le recomendamos que utilice un Raspberry Pi
con el sistema operativo Raspberry Pi. Asegúrese de que tiene configurado SSH en el Raspberry Pi para conectarse de forma remota.
-
Configuración de la información del dispositivo para IDT
Configure la información del dispositivo para que IDT ejecute la prueba. Debe actualizar la plantilla device.json
ubicada en la carpeta
con la siguiente información.<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>
" } } } } ] } ]
En el objeto devices
, indique la siguiente información:
id
-
Un identificador único definido por el usuario para el dispositivo.
connectivity.ip
-
La dirección IP del dispositivo.
connectivity.port
-
Opcional. El número de puerto que se va a utilizar para las conexiones SSH al dispositivo.
connectivity.auth
-
Información de autenticación para la conexión.
Esta propiedad solo se aplica si
connectivity.protocol
está establecido enssh
.connectivity.auth.method
-
El método de autenticación que se utiliza para acceder a un dispositivo a través de un determinado protocolo de conectividad.
Los valores admitidos son:
-
pki
-
password
-
connectivity.auth.credentials
-
Las credenciales que se utilizan para la autenticación.
connectivity.auth.credentials.user
-
El nombre de usuario utilizado para iniciar sesión en el dispositivo.
connectivity.auth.credentials.privKeyPath
-
La ruta completa a la clave privada que se utiliza para iniciar sesión en el dispositivo.
Este valor solo se aplica si
connectivity.auth.method
está establecido enpki
. devices.connectivity.auth.credentials.password
-
La contraseña que se utiliza para iniciar sesión en el dispositivo.
Este valor solo se aplica si
connectivity.auth.method
está establecido enpassword
.
nota
Especifique privKeyPath
solo si method
está establecido en pki
Especifique password
solo si method
está establecido en password
Creación del conjunto de pruebas de muestra
La carpeta
contiene ejemplos de archivos de configuración, código fuente y el SDK de cliente de IDT que puede combinar en un conjunto de pruebas mediante los scripts de creación proporcionados. El siguiente árbol de directorios muestra la ubicación de estos archivos de ejemplo:<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 crear el conjunto de pruebas, ejecute los siguientes comandos en el equipo host:
Esto crea el conjunto de pruebas de muestra en la carpeta IDTSampleSuitePython_1.0.0
, dentro de la carpeta
. Revise los archivos de la carpeta <device-tester-extract-location>
/testsIDTSampleSuitePython_1.0.0
para ver cómo está estructurado el conjunto de pruebas de muestra y consulte varios ejemplos de ejecutables de casos de prueba y archivos JSON de configuración de pruebas.
Siguiente paso: Uso de IDT para ejecutar el conjunto de pruebas de muestra que creó.
Uso de IDT para ejecutar el conjunto de pruebas de muestra
Para ejecutar el conjunto de pruebas de muestra, ejecute los siguientes comandos en el equipo host:
cd
<device-tester-extract-location>
/bin ./devicetester_[linux | mac | win_x86-64]
run-suite --suite-id IDTSampleSuitePython
IDT ejecuta el conjunto de pruebas de muestra y transmite los resultados a la consola. Cuando la prueba termine de ejecutarse, verá la siguiente información:
========== 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
Resolución de problemas
Utilice la siguiente información para resolver cualquier problema que pueda surgir al completar el tutorial.
El caso de prueba no se ejecuta correctamente
Si la prueba no se ejecuta correctamente, IDT transmite los registros de errores a la consola para ayudarle a solucionar los problemas de la prueba. Asegúrese de que cumple con todos los requisitos previos de este tutorial.
No se puede conectar al dispositivo que se está probando
Compruebe lo siguiente:
-
El archivo
device.json
contiene la dirección IP, el puerto y la información de autenticación correctos. -
Puede conectarse a su dispositivo a través de SSH desde su equipo host.