

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.

# Commencer à utiliser l'Espressif -WROOM-32SE ESP32
<a name="getting_started_esp32wroom-32se"></a>

**Important**  <a name="deprecation-message"></a>
Cette intégration de référence est hébergée sur le référentiel Amazon-FreeRTOS, qui est obsolète. Nous vous recommandons de [commencer ici](freertos-getting-started-modular.md) lorsque vous créez un nouveau projet. Si vous possédez déjà un projet FreeRTOS basé sur le référentiel Amazon-FreeRTOS, désormais obsolète, consultez le. [Guide de migration du référentiel Github d'Amazon-FreeRTOS](github-repo-migration.md)

**Note**  
Pour découvrir comment intégrer les bibliothèques modulaires et les démos FreeRTOS dans votre propre projet Espressif IDF, consultez [notre](https://www.freertos.org/featured-freertos-iot-integration-targeting-an-espressif-esp32-c3-risc-v-mcu/) intégration de référence pour la plate-forme -C3. ESP32 
Actuellement, le port FreeRTOS ESP32 pour -WROOM-32SE ne prend pas en charge la fonctionnalité de multitraitement symétrique (SMP).

Ce tutoriel explique comment démarrer avec l'Espressif -WROOM-32SE ESP32. Pour en acheter un auprès de notre partenaire sur le catalogue des appareils AWS partenaires, consultez [ESP32-WROOM-32SE](https://devices.amazonaws.com/detail/a3G0h0000077nRtEAI/ESP32-WROOM-32SE).

## Présentation de
<a name="getting_started_esp32wroom-32se-overview"></a>

Ce didacticiel vous guide à travers les étapes suivantes :

1. Connectez votre carte à un appareil hôte.

1. Installation du logiciel sur votre machine hôte pour développer et déboguer les applications intégrées de votre carte de microcontrôleur.

1. Compilez de manière croisée une application de démonstration FreeRTOS en une image binaire.

1. Chargement de l’image binaire de l’application dans votre carte et exécution de l’application.

1. Surveillez et déboguez l'application en cours d'exécution à l'aide d'une connexion série.

## Conditions préalables
<a name="setup-esp32wroom-32se-prereqs"></a>

Avant de commencer à utiliser FreeRTOS sur votre tableau Espressif, vous devez configurer votre compte et vos autorisations. AWS 

### Inscrivez-vous pour un Compte AWS
<a name="sign-up-for-aws"></a>

Si vous n'en avez pas Compte AWS, procédez comme suit pour en créer un.

**Pour vous inscrire à un Compte AWS**

1. Ouvrez l'[https://portal.aws.amazon.com/billing/inscription.](https://portal.aws.amazon.com/billing/signup)

1. Suivez les instructions en ligne.

   Dans le cadre de la procédure d’inscription, vous recevrez un appel téléphonique ou un SMS et vous saisirez un code de vérification en utilisant le clavier numérique du téléphone.

   Lorsque vous vous inscrivez à un Compte AWS, un *Utilisateur racine d'un compte AWS*est créé. Par défaut, seul l’utilisateur racine a accès à l’ensemble des Services AWS et des ressources de ce compte. La meilleure pratique de sécurité consiste à attribuer un accès administratif à un utilisateur, et à utiliser uniquement l’utilisateur racine pour effectuer les [tâches nécessitant un accès utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS vous envoie un e-mail de confirmation une fois le processus d'inscription terminé. À tout moment, vous pouvez consulter l'activité actuelle de votre compte et gérer votre compte en accédant à [https://aws.amazon.com/](https://aws.amazon.com/)et en choisissant **Mon compte**.

### Création d’un utilisateur doté d’un accès administratif
<a name="create-an-admin"></a>

Après vous être inscrit à un Compte AWS, sécurisez Utilisateur racine d'un compte AWS AWS IAM Identity Center, activez et créez un utilisateur administratif afin de ne pas utiliser l'utilisateur root pour les tâches quotidiennes.

**Sécurisez votre Utilisateur racine d'un compte AWS**

1.  Connectez-vous en [AWS Management Console](https://console.aws.amazon.com/)tant que propriétaire du compte en choisissant **Utilisateur root** et en saisissant votre adresse Compte AWS e-mail. Sur la page suivante, saisissez votre mot de passe.

   Pour obtenir de l’aide pour vous connecter en utilisant l’utilisateur racine, consultez [Connexion en tant qu’utilisateur racine](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) dans le *Guide de l’utilisateur Connexion à AWS *.

1. Activez l’authentification multifactorielle (MFA) pour votre utilisateur racine.

   Pour obtenir des instructions, voir [Activer un périphérique MFA virtuel pour votre utilisateur Compte AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) dans le guide de l'utilisateur *IAM*.

**Création d’un utilisateur doté d’un accès administratif**

1. Activez IAM Identity Center.

   Pour obtenir des instructions, consultez [Activation d’ AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

1. Dans IAM Identity Center, octroyez un accès administratif à un utilisateur.

   Pour un didacticiel sur l'utilisation du Répertoire IAM Identity Center comme source d'identité, voir [Configurer l'accès utilisateur par défaut Répertoire IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) dans le *Guide de AWS IAM Identity Center l'utilisateur*.

**Connexion en tant qu’utilisateur doté d’un accès administratif**
+ Pour vous connecter avec votre utilisateur IAM Identity Center, utilisez l’URL de connexion qui a été envoyée à votre adresse e-mail lorsque vous avez créé l’utilisateur IAM Identity Center.

  Pour obtenir de l'aide pour vous connecter en utilisant un utilisateur d'IAM Identity Center, consultez la section [Connexion au portail AWS d'accès](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) dans le *guide de l'Connexion à AWS utilisateur*.

**Attribution d’un accès à d’autres utilisateurs**

1. Dans IAM Identity Center, créez un ensemble d’autorisations qui respecte la bonne pratique consistant à appliquer les autorisations de moindre privilège.

   Pour obtenir des instructions, consultez [Création d’un ensemble d’autorisations](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

1. Attribuez des utilisateurs à un groupe, puis attribuez un accès par authentification unique au groupe.

   Pour obtenir des instructions, consultez [Ajout de groupes](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :
+ Utilisateurs et groupes dans AWS IAM Identity Center :

  Créez un jeu d’autorisations. Suivez les instructions de la rubrique [Création d’un jeu d’autorisations](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) du *Guide de l’utilisateur AWS IAM Identity Center *.
+ Utilisateurs gérés dans IAM par un fournisseur d’identité :

  Créez un rôle pour la fédération d’identité. Suivez les instructions de la rubrique [Création d’un rôle pour un fournisseur d’identité tiers (fédération)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dans le *Guide de l’utilisateur IAM*.
+ Utilisateurs IAM :
  + Créez un rôle que votre utilisateur peut assumer. Suivez les instructions de la rubrique [Création d’un rôle pour un utilisateur IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l’utilisateur IAM*.
  + (Non recommandé) Attachez une politique directement à un utilisateur ou ajoutez un utilisateur à un groupe d’utilisateurs. Suivez les instructions de la rubrique [Ajout d’autorisations à un utilisateur (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) du *Guide de l’utilisateur IAM*.

## Mise en route
<a name="setup-esp32wroom-32s-idf42"></a>

**Note**  
Les commandes Linux de ce didacticiel nécessitent que vous utilisiez le shell Bash.

1. **Configurez le matériel Espressif.**

   Pour plus d'informations sur la configuration matérielle de la carte de développement ESP32 -WROOM-32SE, consultez le guide de démarrage [ ESP32- DevKit C V4](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/get-started/index.html#installation-step-by-step).
**Important**  
Lorsque vous atteignez la section **Installation étape par étape** du guide, suivez jusqu'à ce que vous ayez terminé l'étape 4 (Configuration des variables d'environnement). Arrêtez-vous après avoir terminé l'étape 4 et suivez les étapes restantes ici.

1. Téléchargez Amazon [GitHub](https://github.com/aws/amazon-freertos)FreeRTOS depuis. (Pour obtenir des instructions, consultez le [fichier README.md.)](https://github.com/aws/amazon-freertos/blob/main/README.md)

1. **Configurez votre environnement de développement**.

   Pour communiquer avec votre tableau, vous devez installer une chaîne d'outils. Espressif fournit l'ESP-IDF pour développer des logiciels pour leurs cartes. Étant donné que l'ESP-IDF possède sa propre version du noyau FreeRTOS intégrée en tant que composant, Amazon FreeRTOS inclut une version personnalisée de l'ESP-IDF v4.2 dans laquelle le noyau FreeRTOS a été supprimé. Cela permet de résoudre les problèmes liés aux fichiers dupliqués lors de la compilation. Pour utiliser la version personnalisée de l'ESP-IDF v4.2 incluse dans Amazon FreeRTOS, suivez les instructions ci-dessous correspondant au système d'exploitation de votre machine hôte.

   **Windows**

   1. Téléchargez le programme d'[installation en ligne universel d'ESP-IDF pour Windows](https://dl.espressif.com/dl/esp-idf/?idf=4.2).

   1. Exécutez le programme d'**installation en ligne universel**.

   1. Lorsque vous arrivez à l'étape **Télécharger ou utiliser ESP-IDF, sélectionnez Utiliser un répertoire ESP-IDF** **existant et définissez Choisir le répertoire ESP-IDF** **existant** sur. `freertos/vendors/espressif/esp-idf`

   1. Terminez l'installation.

   **macOS**

   1. Suivez les instructions de la [configuration standard des prérequis de la chaîne d'outils (ESP-IDF v4.2](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/get-started/macos-setup.html)) pour macOS.
**Important**  
Lorsque vous atteignez les instructions « Get ESP-IDF » sous **Prochaines étapes**, arrêtez-vous, puis revenez aux instructions de cette page.

   1. Ouvrez une fenêtre de ligne de commande.

   1. Accédez au répertoire de téléchargement de FreeRTOS, puis exécutez le script suivant pour télécharger et installer la chaîne d'outils espressif pour votre plateforme.

      ```
      vendors/espressif/esp-idf/install.sh
      ```

   1. Ajoutez les outils de la chaîne d'outils ESP-IDF au chemin de votre terminal à l'aide de la commande suivante.

      ```
      source vendors/espressif/esp-idf/export.sh
      ```

   **Linux**

   1. Suivez les instructions de la [configuration standard des prérequis de la chaîne d'outils (ESP-IDF v4.2](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/get-started/linux-setup.html)) pour Linux.
**Important**  
Lorsque vous atteignez les instructions « Get ESP-IDF » sous **Prochaines étapes**, arrêtez-vous, puis revenez aux instructions de cette page.

   1. Ouvrez une fenêtre de ligne de commande.

   1. Accédez au répertoire de téléchargement de FreeRTOS, puis exécutez le script suivant pour télécharger et installer la chaîne d'outils Espressif pour votre plateforme.

      ```
      vendors/espressif/esp-idf/install.sh
      ```

   1. Ajoutez les outils de la chaîne d'outils ESP-IDF au chemin de votre terminal à l'aide de la commande suivante.

      ```
      source vendors/espressif/esp-idf/export.sh
      ```

1. **Établissez une connexion série.**

   1. Pour établir une connexion série entre votre machine hôte et le ESP32 -WROOM-32SE, installez les pilotes VCP CP210x USB to UART Bridge. Vous pouvez télécharger ces pilotes à partir de [Silicon Labs](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers).

   1. Suivez les étapes pour [établir une connexion série avec ESP32](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/get-started/establish-serial-connection.html).

   1. Une fois que vous avez établi une connexion série, notez le port série pour la connexion de votre carte. Vous en avez besoin pour flasher la démo.

### Configuration des applications de démonstration FreeRTOS
<a name="configure-demos-esp32wroom-32s-idf42"></a>

Pour ce didacticiel, le fichier de configuration FreeRTOS se trouve à l'adresse. `freertos/vendors/espressif/boards/board-name/aws_demos/config_files/FreeRTOSConfig.h` (Par exemple, si cette option `AFR_BOARD espressif.esp32_devkitc` est sélectionnée, le fichier de configuration se trouve à l'adresse`freertos/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h`.) 

**Important**  
L' ATECC608appareil A possède une initialisation unique qui est verrouillée sur l'appareil lors de la première exécution d'un projet (lors de l'appel à`C_InitToken`). Cependant, le projet de démonstration FreeRTOS et le projet de test ont des configurations différentes. Si le périphérique est verrouillé pendant les configurations du projet de démonstration, tous les tests du projet de test ne réussiront pas.

1. Configurez le projet de démonstration FreeRTOS en suivant les étapes décrites dans. [Configuration des démos de FreeRTOS](freertos-prereqs.md#freertos-configure) Lorsque vous arrivez à la dernière étape **Pour formater vos AWS IoT informations d'identification**, arrêtez-vous et effectuez les étapes suivantes.

1. Microchip a fourni plusieurs outils de script pour aider à la configuration des parties ATECC608 A. Accédez au répertoire `freertos/vendors/microchip/example_trust_chain_tool` et ouvrez le fichier `README.md`.

1. Pour approvisionner votre appareil, suivez les instructions du `README.md` fichier. Voici les principales étapes à suivre :

   1. Créez et enregistrez une autorité de certification auprès de AWS.

   1. Générez vos clés sur le ATECC608 A et exportez la clé publique et le numéro de série de l'appareil.

   1. Générez un certificat pour l'appareil et enregistrez-le auprès de AWS.

1. Chargez le certificat d'autorité de certification et le certificat de périphérique sur le périphérique en suivant les instructions de [Mise en service de clés en mode développeur](dev-mode-key-provisioning.md).

### Surveillance des messages MQTT sur le cloud AWS
<a name="gsg-esp32wroom-32se-monitor-mqtt"></a>

Avant de lancer le projet de démonstration FreeRTOS, vous pouvez configurer le client MQTT dans la console pour surveiller AWS IoT les messages que votre appareil envoie au Cloud. AWS 

**Pour vous abonner à la rubrique MQTT avec le client AWS IoT MQTT**

1. Connectez-vous à la [console AWS IoT](https://console.aws.amazon.com/iotv2/).

1. Dans le volet de navigation, choisissez **Test**, puis **MQTT Test Client**.

1. Dans **Sujet d'abonnement**, entrez `your-thing-name/example/topic` puis choisissez **S'abonner au sujet**.

### Créez, flashez et exécutez le projet de démonstration FreeRTOS à l'aide du script idf.py
<a name="build-and-run-example-esp32wroom-32se-idf42"></a>

Vous pouvez utiliser l'utilitaire IDF (`idf.py`) d'Espressif pour générer les fichiers de compilation, créer le binaire de l'application et flasher les fichiers binaires sur votre appareil.

**Note**  
Certaines configurations peuvent nécessiter que vous utilisiez l'option de port « `-p port-name` » with `idf.py` pour spécifier le port correct, comme dans l'exemple suivant.  

```
idf.py -p /dev/cu.usbserial-00101301B flash
```

**Créez et flashez des FreeRTOS sous Windows, Linux et macOS (ESP-IDF v4.2)**

1. Naviguez jusqu'à la racine de votre répertoire de téléchargement de FreeRTOS.

1. Dans une fenêtre de ligne de commande, entrez la commande suivante pour ajouter les outils ESP-IDF au PATH de votre terminal :  
**Windows (application « Command »)**  

   ```
   vendors\espressif\esp-idf\export.bat
   ```  
**Windows (application « ESP-IDF 4.x CMD »)**  
(Cela a déjà été fait lorsque vous avez ouvert l'application.)  
**Linux/ macOS**  

   ```
   source vendors/espressif/esp-idf/export.sh
   ```

1. Configurez cmake dans le `build` répertoire et créez l'image du microprogramme à l'aide de la commande suivante.

   ```
   idf.py -DVENDOR=espressif -DBOARD=esp32_ecc608a_devkitc -DCOMPILER=xtensa-esp32 build
   ```

   Vous devriez voir une sortie comme dans l'exemple suivant.

   ```
      Running cmake in directory /path/to/hello_world/build
      Executing "cmake -G Ninja --warn-uninitialized /path/to/hello_world"...
      Warn about uninitialized values.
      -- Found Git: /usr/bin/git (found version "2.17.0")
      -- Building empty aws_iot component due to configuration
      -- Component names: ...
      -- Component paths: ...
   
      ... (more lines of build system output)
   
      [527/527] Generating hello-world.bin
      esptool.py v2.3.1
   
      Project build complete. To flash, run this command:
      ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x10000 build/hello-world.bin  build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin
      or run 'idf.py -p PORT flash'
   ```

   S'il n'y a aucune erreur, la compilation générera les fichiers binaires .bin du microprogramme.

1. Effacez la mémoire flash de votre carte de développement à l'aide de la commande suivante.

   ```
   idf.py erase_flash
   ```

1. Utilisez le `idf.py` script pour flasher le binaire de l'application sur votre tableau.

   ```
   idf.py flash
   ```

1. Surveillez la sortie du port série de votre carte à l'aide de la commande suivante.

   ```
   idf.py monitor
   ```
**Note**  
Vous pouvez combiner ces commandes comme dans l'exemple suivant.  

     ```
     idf.py erase_flash flash monitor
     ```
Pour certaines configurations de machine hôte, vous devez spécifier le port lorsque vous flashez la carte, comme dans l'exemple suivant.  

     ```
     idf.py erase_flash flash monitor -p /dev/ttyUSB1
     ```

### Créez et flashez des FreeRTOS avec CMake
<a name="flash-esp32wroom-32se-cmake-idf42"></a>

Outre l'utilisation du `idf.py` script fourni par le SDK IDF pour créer et exécuter votre code, vous pouvez également créer le projet avec CMake. Actuellement, il prend en charge Unix Makefile et le système de construction Ninja.

**Pour créer et flasher le projet**

1. Dans une fenêtre de ligne de commande, naviguez jusqu'à la racine du répertoire de téléchargement de FreeRTOS.

1. Exécutez le script suivant pour ajouter les outils ESP-IDF au PATH de votre shell.  
**Windows**  

   ```
   vendors\espressif\esp-idf\export.bat
   ```  
**Linux/ macOS**  

   ```
   source vendors/espressif/esp-idf/export.sh
   ```

1. Entrez la commande suivante pour générer les fichiers de compilation.  
**Avec Unix Makefiles**  

   ```
   cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B ./YOUR_BUILD_DIRECTORY -DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0
   ```  
**Avec Ninja**  

   ```
   cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B ./YOUR_BUILD_DIRECTORY -DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -GNinja
   ```

1. Effacez le flash, puis faites clignoter le tableau.  
**Avec Unix Makefiles**  

   ```
   make -C ./YOUR_BUILD_DIRECTORY erase_flash
   ```

   ```
   make -C ./YOUR_BUILD_DIRECTORY flash
   ```  
**Avec Ninja**  

   ```
   ninja -C ./YOUR_BUILD_DIRECTORY erase_flash
   ```

   ```
   ninja -C ./YOUR_BUILD_DIRECTORY flash
   ```

## Informations supplémentaires
<a name="getting_started_esp32wroom-32se-additional"></a>

Pour plus d'informations sur l'utilisation et le dépannage des ESP32 cartes Espressif, consultez les rubriques suivantes :
+ [Utiliser FreeRTOS dans votre propre projet pour CMake ESP32](getting_started_espressif.md#getting_started_espressif_cmake_project)
+ [Résolution des problèmes](getting_started_espressif.md#getting_started_espressif_troubleshooting)
+ [Débogage](getting_started_espressif.md#getting_started_espressif_debugging)