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.
Exécuter des tests Bluetooth Low Energy
Cette section décrit comment configurer et exécuter des tests Bluetooth Low Energy à l'aide AWS IoT Device Tester de FreeRTOS.
Les tests Bluetooth ne sont pas requis pour la qualification principale. Si vous ne souhaitez pas tester votre appareil avec le support Bluetooth FreeRTOS, vous pouvez ignorer cette configuration. Assurez-vous de laisser la fonctionnalité BLE dans device.json définie sur. No
Prérequis
-
Suivez les instructions de la section Premier test de votre carte microcontrôleur.
-
Un Raspberry Pi 4B ou 3B+. (Requis pour exécuter l'application complémentaire Raspberry Pi BLE)
-
Une carte micro SD et un adaptateur de carte SD pour le logiciel Raspberry Pi.
Configuration de Raspberry Pi Setup
Pour tester les capacités BLE de l'appareil testé (DUT), vous devez disposer d'un Raspberry Pi modèle 4B ou 3B+.
Pour configurer votre Raspberry Pi afin d'exécuter les tests BLE
-
Téléchargez l'une des images Yocto personnalisées contenant le logiciel requis pour effectuer les tests.
Note
L'image Yocto ne doit être utilisée qu'à des fins de test avec AWS IoT Device Tester FreeRTOS et à aucune autre fin.
-
Flashez l'image yocto sur la carte SD pour Raspberry Pi.
-
En utilisant un outil d'écriture sur carte SD comme Etcher
, flashez le fichier
téléchargé sur la carte SD. Comme l'image du système d'exploitation est volumineuse, cette étape peut prendre un peu de temps. Éjectez ensuite votre carte SD de votre ordinateur et insérez la carte microSD dans votre Raspberry Pi.image-name
.rpi-sd.img
-
-
Configurez votre Raspberry Pi.
-
Pour le premier démarrage, nous vous recommandons de connecter le Raspberry Pi à un moniteur, un clavier et une souris.
-
Connectez votre Raspberry Pi à une source d'alimentation micro USB.
-
Connectez-vous à l'aide des informations d'identification par défaut. Pour l’ID utilisateur, saisissez
root
. Pour le mot de passe, saisissezidtafr
. -
En utilisant une connexion Wi-Fi ou Ethernet, connectez le Raspberry Pi à votre réseau.
-
Pour connecter votre Raspberry Pi par Wi-Fi, ouvrez
/etc/wpa_supplicant.conf
sur le Raspberry Pi et ajoutez vos informations d'identification Wi-Fi à la configurationNetwork
.ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 update_config=1 network={ scan_ssid=1 ssid="
your-wifi-ssid
" psk="your-wifi-password
" } -
Exécutez
ifup wlan0
pour démarrer la connexion Wi-Fi. La connexion à votre réseau Wi-Fi peut prendre une minute.
-
-
Pour une connexion Ethernet, exécutez
ifconfig eth0
. Pour une connexion Wi-Fi, exécutezifconfig wlan0
. Prenez note de l'adresse IP qui apparaît sous la formeinet addr
dans la sortie de commande. Vous aurez besoin de l'adresse IP ultérieurement dans cette procédure. -
(Facultatif) Les tests exécutent les commandes sur le Raspberry Pi via SSH à l'aide des informations d'identification par défaut pour l’image yocto. Pour plus de sécurité, nous vous recommandons de configurer l'authentification par clé publique pour SSH et de désactiver SSH basé sur un mot de passe.
-
Créez une clé SSH à l'aide de la commande OpenSSL
ssh-keygen
. Si vous avez déjà une paire de clés SSK sur votre ordinateur hôte, il est recommandé d'en créer une nouvelle AWS IoT Device Tester pour permettre à FreeRTOS de se connecter à votre Raspberry Pi.Note
Windows n'est fourni avec une installation de client SSH. Pour plus d'informations sur la façon d'installer un client SSH sur Windows, consultez la section Download SSH Software
. -
La commande
ssh-keygen
vous invite à indiquer un nom et un chemin d'accès pour stocker la paire de clés. Par défaut, les fichiers de la paire de clés sont nommésid_rsa
(clé privée) etid_rsa.pub
(clé publique). Sur Mac OS et Linux, l'emplacement par défaut de ces fichiers est~/.ssh/
. Sur Windows, l'emplacement par défaut estC:\Users\
.user-name
-
Lorsque vous êtes invité à saisir une expression clé, appuyez sur Entrée pour continuer.
-
Pour ajouter votre clé SSH sur votre Raspberry Pi afin que AWS IoT Device Tester FreeRTOS puisse se connecter à l'appareil, utilisez
ssh-copy-id
la commande de votre ordinateur hôte. Cette commande ajoute votre clé publique au fichier~/.ssh/authorized_keys
sur votre Raspberry Pi.ssh-copy-id root@
raspberry-pi-ip-address
-
Lorsque vous êtes invité à saisir un mot de passe, saisissez
idtafr
. Il s'agit du mot de passe par défaut de l’image yocto.Note
La commande
ssh-copy-id
suppose que la clé publique est nomméeid_rsa.pub
. Sur macOS et Linux, l'emplacement par défaut est~/.ssh/
. Sur Windows, l'emplacement par défaut estC:\Users\
. Si vous avez donné à la clé publique un autre nom ou si vous l'avez stockée à un autre emplacement, vous devez spécifier le chemin d'accès qualifié complet de votre clé publique SSH à l'aide de l'optionuser-name
\.ssh-i
pourssh-copy-id
(par exemple,ssh-copy-id -i ~/my/path/myKey.pub
). Pour plus d'informations sur la création de clés SSH et la copie des clés publiques, consultez SSH-COPY-ID. -
Pour vérifier que l'authentification par clé publique fonctionne, exécutez
ssh -i
./my/path/myKey
root@raspberry-pi-device-ip
Si vous n'êtes pas invité à saisir un mot de passe, votre authentification par clé publique fonctionne.
-
Vérifiez que vous pouvez vous connecter à votre Raspberry Pi à l'aide d'une clé publique, puis désactivez SSH basé sur un mot de passe.
-
Sur le Raspberry Pi, modifiez le fichier
/etc/ssh/sshd_config
. -
Définissez l'attribut
PasswordAuthentication
surno
. -
Enregistrez et fermez le fichier
sshd_config
. -
Rechargez le serveur SSH en exécutant
/etc/init.d/sshd reload
.
-
-
-
Créez un fichier
resource.json
.-
Dans le répertoire dans lequel vous avez extrait AWS IoT Device Tester, créez un fichier nommé
resource.json
. -
Ajoutez les informations suivantes concernant votre Raspberry Pi au fichier, en les
rasp-pi-ip-address
remplaçant par l'adresse IP de votre Raspberry Pi.[ { "id": "ble-test-raspberry-pi", "features": [ {"name":"ble", "version":"4.2"} ], "devices": [ { "id": "ble-test-raspberry-pi-1", "connectivity": { "protocol": "ssh", "ip": "
rasp-pi-ip-address
" } } ] } ] -
Si vous n'avez pas choisi d'utiliser l'authentification par clé publique pour SSH, ajoutez ce qui suit à la
connectivity
section duresource.json
fichier."connectivity": { "protocol": "ssh", "ip": "
rasp-pi-ip-address
", "auth": { "method": "password", "credentials": { "user": "root", "password": "idtafr" } } } -
(Facultatif) Si vous avez choisi d'utiliser l’authentification par clé publique pour SSH, ajoutez les éléments suivants à la section
connectivity
du fichierresource.json
."connectivity": { "protocol": "ssh", "ip": "
rasp-pi-ip-address
", "auth": { "method": "pki", "credentials": { "user": "root", "privKeyPath": "location-of-private-key
" } } }
-
-
Configuration de l'appareil FreeRTOS
Dans votre fichier device.json
, définissez la fonctionnalité BLE
sur Yes
. Si vous commencez avec un fichier device.json
qui existait avant que les tests Bluetooth ne soient disponibles, vous devez ajouter la fonctionnalité BLE au tableau features
:
{ ... "features": [ { "name": "BLE", "value": "Yes" }, ... }
Exécutez les tests BLE
Une fois que vous avez activé la fonctionnalité BLE dans device.json
, les tests BLE commencent lorsque vous exécutez devicetester_
sans spécifier d'ID de groupe.[linux | mac |
win_x86-64]
run-suite
Si vous souhaitez exécuter les tests BLE séparément, vous pouvez spécifier l'ID de groupe pour BLE : devicetester_
.[linux | mac | win_x86-64]
run-suite
--userdata path-to-userdata
/userdata.json --group-id
FullBLE
Pour des performances optimales, placez votre Raspberry Pi à proximité de l'appareil testé.
Résoudre les problèmes liés aux tests BLE
Vérifiez que vous avez suivi les étapes décrites dans Premier test de votre carte microcontrôleur. Si des tests autres que les tests BLE échouent, le problème n'est probablement pas dû à la configuration Bluetooth.