

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
<a name="afr-bridgekeeper-dt-bt"></a>

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`

## Conditions préalables
<a name="dt-bt-prereq"></a>
+ Suivez les instructions de la section [Premier test de votre carte microcontrôleur](qual-steps.md).
+ Un Raspberry Pi 4B ou 3B\$1. (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
<a name="dt-bt-pi-setup"></a>

Pour tester les capacités BLE de l'appareil testé (DUT), vous devez disposer d'un Raspberry Pi modèle 4B ou 3B\$1.

**Pour configurer votre Raspberry Pi afin d'exécuter les tests BLE**

1. Téléchargez l'une des images Yocto personnalisées contenant le logiciel requis pour effectuer les tests.
   + [Image pour Raspberry Pi 4B](https://docs.aws.amazon.com/freertos/latest/userguide/freertos/IDTFR_BLE_RaspberryPi4B_1.0.0_2021-04-13.rpi-sd.img) 
   + [Image pour Raspberry Pi 3B\$1](https://docs.aws.amazon.com/freertos/latest/userguide/freertos/IDTFR_BLE_RaspberryPi3Bplus_1.0.0_2021-04-13.rpi-sd.img) 
**Note**  
L'image Yocto ne doit être utilisée qu'à des fins de test avec AWS IoT Device Tester FreeRTOS et à aucune autre fin.

1. Flashez l'image yocto sur la carte SD pour Raspberry Pi.

   1. En utilisant un outil d'écriture sur carte SD comme [Etcher](https://www.balena.io/etcher), flashez le fichier `image-name.rpi-sd.img` 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.

1. Configurez votre Raspberry Pi.

   1. Pour le premier démarrage, nous vous recommandons de connecter le Raspberry Pi à un moniteur, un clavier et une souris.

   1. Connectez votre Raspberry Pi à une source d'alimentation micro USB.

   1. Connectez-vous à l'aide des informations d'identification par défaut. Pour l’ID utilisateur, saisissez **root**. Pour le mot de passe, saisissez **idtafr**.

   1. En utilisant une connexion Wi-Fi ou Ethernet, connectez le Raspberry Pi à votre réseau.

      1. 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 configuration `Network`.

         ```
         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"
                 }
         ```

      1. Exécutez `ifup wlan0` pour démarrer la connexion Wi-Fi. La connexion à votre réseau Wi-Fi peut prendre une minute.

   1. Pour une connexion Ethernet, exécutez `ifconfig eth0`. Pour une connexion Wi-Fi, exécutez `ifconfig wlan0`. Prenez note de l'adresse IP qui apparaît sous la forme `inet addr` dans la sortie de commande. Vous aurez besoin de l'adresse IP ultérieurement dans cette procédure.

   1. (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.

      1. 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](https://www.ssh.com/ssh/#sec-Download-client-software).

      1. 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és `id_rsa` (clé privée) et `id_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 est `C:\Users\user-name`.

      1. Lorsque vous êtes invité à saisir une expression clé, appuyez sur Entrée pour continuer.

      1. 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`

      1. 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ée `id_rsa.pub`. Sur macOS et Linux, l'emplacement par défaut est ` ~/.ssh/`. Sur Windows, l'emplacement par défaut est `C:\Users\user-name\.ssh`. 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'option `-i` pour `ssh-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](https://www.ssh.com/ssh/copy-id).

      1. 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.

      1. 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.

         1. Sur le Raspberry Pi, modifiez le fichier `/etc/ssh/sshd_config`.

         1. Définissez l'attribut `PasswordAuthentication` sur `no`.

         1. Enregistrez et fermez le fichier `sshd_config`.

         1. Rechargez le serveur SSH en exécutant `/etc/init.d/sshd reload`.

   1. Créez un fichier `resource.json`.

      1. Dans le répertoire dans lequel vous avez extrait AWS IoT Device Tester, créez un fichier nommé`resource.json`.

      1. 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"
                         }
                     }
                 ]
             }
         ]
         ```

      1. Si vous n'avez pas choisi d'utiliser l'authentification par clé publique pour SSH, ajoutez ce qui suit à la `connectivity` section du `resource.json` fichier.

         ```
         "connectivity": {
             "protocol": "ssh",
             "ip": "rasp-pi-ip-address",
             "auth": {
                 "method": "password",
                 "credentials": {
                     "user": "root",
                     "password": "idtafr"
                 }
             }
         }
         ```

      1. (Facultatif) Si vous avez choisi d'utiliser l’authentification par clé publique pour SSH, ajoutez les éléments suivants à la section `connectivity` du fichier `resource.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
<a name="afr-device-setup"></a>

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
<a name="running-ble-test"></a>

Une fois que vous avez activé la fonctionnalité BLE dans `device.json`, les tests BLE commencent lorsque vous exécutez `devicetester_[linux | mac | win_x86-64] run-suite` *sans spécifier d'ID de groupe*.

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
<a name="troubleshooting-ble"></a>

Vérifiez que vous avez suivi les étapes décrites dans [Premier test de votre carte microcontrôleur](qual-steps.md). Si des tests autres que les tests BLE échouent, le problème n'est probablement pas dû à la configuration Bluetooth.