AWS IoT Greengrass Version 1 est entré dans la phase de durée de vie prolongée le 30 juin 2023. Pour plus d'informations, consultez la politique de AWS IoT Greengrass V1 maintenance. Après cette date, AWS IoT Greengrass V1 ne publiera pas de mises à jour fournissant des fonctionnalités, des améliorations, des corrections de bogues ou des correctifs de sécurité. Les appareils qui fonctionnent AWS IoT Greengrass V1 sous tension ne seront pas perturbés et continueront à fonctionner et à se connecter au cloud. Nous vous recommandons vivement de migrer vers AWS IoT Greengrass Version 2, qui ajoute de nouvelles fonctionnalités importantes et prend en charge des plateformes supplémentaires.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Didacticiel : Générez et exécutez l'exemple de suite de tests IDT
LeAWS IoTLe téléchargement de Device Tester inclut le code source d'un exemple de suite de tests. Vous pouvez suivre ce didacticiel pour créer et exécuter l'exemple de suite de tests afin de comprendre comment utiliserAWS IoTDevice Tester pourAWS IoT Greengrasspour exécuter des suites de tests personnalisées.
Dans ce didacticiel, vous allez réaliser les étapes suivantes :
Prérequis
Pour suivre ce didacticiel, vous aurez besoin des éléments suivants :
-
Configuration requise de l'ordinateur hôte
-
Dernière version deAWS IoTDevice Tester
-
Python
3.7 ou version ultérieure Pour vérifier la version de Python installée sur votre ordinateur, exécutez la commande suivante :
python3 --version
Sous Windows, si l'utilisation de cette commande renvoie une erreur, utilisez
python --version
à la place. Si le numéro de version renvoyé est 3.7 ou supérieur, exécutez la commande suivante dans un terminal Powershell pour définirpython3
comme alias pourpython
commande.Set-Alias -Name "python3" -Value "python"
Si aucune information de version n'est renvoyée ou si le numéro de version est inférieur à 3,7, suivez les instructions deTéléchargement de Python
pour installer Python 3.7+. Pour plus d'informations, consultez le .Documentation Python . -
Pour vérifier que
urllib3
est installé correctement, exécutez la commande suivante :python3 -c 'import urllib3'
Si
urllib3
n'a pas encore été installé, exécutez la commande suivante pour l'installer :python3 -m pip install urllib3
-
-
Exigences relatives aux dispositifs
-
Un appareil doté d'un système d'exploitation Linux et d'une connexion réseau au même réseau que votre ordinateur hôte.
Nous vous recommandons d'utiliser unRaspberry Pi
avec Raspberry Pi OS Assurez-vous que vous avez configuréSSH sur votre Raspberry Pi pour se connecter à distance.
-
Configuration des informations sur les appareils pour IDT
Configurez les informations de votre appareil pour qu'IDT puisse exécuter le test. Vous devez mettre à jour ladevice.json
modèle situé dans le
dossier contenant les informations suivantes.<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>
" } } } } ] } ]
Dansdevices
, fournissez les informations suivantes :
id
-
Un identificateur unique défini par l'utilisateur pour votre appareil.
connectivity.ip
-
Adresse IP de votre appareil.
connectivity.port
-
Facultatif. Numéro de port à utiliser pour les connexions SSH à votre appareil.
connectivity.auth
-
Informations d'authentification pour la connexion.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
.connectivity.auth.method
-
Méthode d'authentification utilisée pour accéder à un appareil sur le protocole de connectivité donné.
Les valeurs prises en charge sont :
-
pki
-
password
-
connectivity.auth.credentials
-
Informations d'identification utilisées pour l'authentification.
connectivity.auth.credentials.user
-
Le nom d'utilisateur utilisé pour se connecter à votre appareil.
connectivity.auth.credentials.privKeyPath
-
Chemin complet à la clé privée utilisée pour se connecter à votre appareil.
Cette valeur s'applique uniquement si
connectivity.auth.method
est défini surpki
. devices.connectivity.auth.credentials.password
-
Mot de passe utilisé pour se connecter à votre appareil.
Cette valeur s'applique uniquement si
connectivity.auth.method
est défini surpassword
.
Note
Spécifiez privKeyPath
uniquement si method
est défini sur pki
.
Spécifiez password
uniquement si method
est défini sur password
.
Création de la suite de tests d'échantillons
Le
contient des exemples de fichiers de configuration, de code source et du kit SDK client IDT que vous pouvez combiner dans une suite de tests à l'aide des scripts de génération fournis. L'arborescence de répertoires suivante indique l'emplacement de ces exemples de fichiers :<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
Pour créer la suite de tests, exécutez les commandes suivantes sur votre ordinateur hôte :
Cela crée l'exemple de suite de tests dans leIDTSampleSuitePython_1.0.0
dans le dossier
folder. Passez en revue les fichiers dans le<device-tester-extract-location>
/testsIDTSampleSuitePython_1.0.0
pour comprendre comment l'exemple de suite de tests est structuré et voir divers exemples d'exécutables de cas de test et de fichiers JSON de configuration de test.
Étape suivante: Utilisez IDT pourExécutez la suite de tests d'échantillonsque vous avez créé.
Utiliser IDT pour exécuter la suite de tests d'échantillons
Pour exécuter l'exemple de suite de tests, exécutez les commandes suivantes sur votre ordinateur hôte :
cd
<device-tester-extract-location>
/bin ./devicetester_[linux | mac | win_x86-64]
run-suite --suite-id IDTSampleSuitePython
IDT exécute la suite de tests d'exemple et diffuse les résultats vers la console. Lorsque le test est terminé, les informations suivantes s'affichent :
========== 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
Dépannage
Utilisez les informations suivantes pour résoudre les problèmes liés à la réalisation du didacticiel.
Le cas de test ne s'exécute pas correctement
Si le test ne s'exécute pas correctement, IDT diffuse les journaux d'erreurs vers la console, ce qui peut vous aider à résoudre le problème de l'exécution du test. Assurez-vous que vous rencontrez tous lesexigencespour ce didacticiel.
Impossible de se connecter à l'appareil testé
Vérifiez les paramètres suivants :
-
Votre
device.json
contient l'adresse IP, le port et les informations d'authentification correctes. -
Vous pouvez vous connecter à votre appareil via SSH à partir de votre ordinateur hôte.