

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Começando com o Espressif ESP32-WROOM-32SE
<a name="getting_started_esp32wroom-32se"></a>

**Importante**  <a name="deprecation-message"></a>
Essa integração de referência está hospedada no Amazon-FreeRTOS repositório que está obsoleto. Recomendamos [começar aqui](freertos-getting-started-modular.md) ao criar um novo projeto. Se você já tem um projeto FreeRTOS existente com base no repositório agora Amazon-FreeRTOS obsoleto, consulte o. [Amazon-FreeRTOS Guia de migração do repositório Github](github-repo-migration.md)

**nota**  
[Para explorar como integrar bibliotecas modulares e demonstrações do FreeRTOS em seu próprio projeto Espressif IDF, veja nossa integração de referência em destaque para a plataforma. ESP32-C3 ](https://www.freertos.org/featured-freertos-iot-integration-targeting-an-espressif-esp32-c3-risc-v-mcu/) 
Atualmente, a porta FreeRTOS ESP32-WROOM-32SE para não suporta o recurso de multiprocessamento simétrico (SMP).

Este tutorial mostra como começar a usar o ESP32-WROOM-32SE Espressif. Para comprar um de nosso AWS parceiro no catálogo de dispositivos parceiros, consulte [ESP32-WROOM-32SE](https://devices.amazonaws.com/detail/a3G0h0000077nRtEAI/ESP32-WROOM-32SE).

## Visão geral do
<a name="getting_started_esp32wroom-32se-overview"></a>

Este tutorial orienta você pelas seguintes etapas:

1. Conectar a placa a uma máquina host.

1. Instalar o software na máquina host para desenvolver e depurar aplicações incorporadas para a placa do microcontrolador.

1. Compilar uma aplicação de demonstração do FreeRTOS de forma cruzada para uma imagem binária.

1. Carregar a imagem binária do aplicativo em na placa e executar o aplicativo.

1. Monitorar e depurar a aplicação em execução usando uma conexão serial.

## Pré-requisitos
<a name="setup-esp32wroom-32se-prereqs"></a>

Antes de começar a usar os FreeRTOS em seu quadro Espressif, você deve configurar sua conta e permissões. AWS 

### Inscreva-se para um Conta da AWS
<a name="sign-up-for-aws"></a>

Para começar AWS, você precisa de um Conta da AWS. Para obter informações sobre como criar um Conta da AWS, consulte [Introdução a um Conta da AWS](https://docs.aws.amazon.com//accounts/latest/reference/getting-started.html) no *Guia de AWS Gerenciamento de contas referência*.

Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
+ Usuários e grupos em Centro de Identidade do AWS IAM:

  Crie um conjunto de permissões. Siga as instruções em [Criação de um conjunto de permissões](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.
+ Usuários gerenciados no IAM com provedor de identidades:

  Crie um perfil para a federação de identidades. Siga as instruções em [Criando um perfil para um provedor de identidades de terceiros (federação)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) no *Guia do Usuário do IAM*.
+ Usuários do IAM:
  + Crie um perfil que seu usuário possa assumir. Siga as instruções em [Criação de um perfil para um usuário do IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) no *Guia do usuário do IAM*.
  + (Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em [Adição de permissões a um usuário (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) no *Guia do usuário do IAM*.

## Conceitos básicos
<a name="setup-esp32wroom-32s-idf42"></a>

**nota**  
Os comandos do Linux neste tutorial exigem o uso do shell Bash.

1. **Configuração de hardware da Espressif.**

   Para obter informações sobre como configurar o hardware da placa de ESP32-WROOM-32SE desenvolvimento, consulte o [Guia de introdução da ESP32-DevKitC V4](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/get-started/index.html#installation-step-by-step).
**Importante**  
Ao chegar à seção **Guia detalhado de instalação** deste guia, siga até concluir a Etapa 4 (Configurar as variáveis de ambiente). Pare depois de concluir a Etapa 4 e siga as etapas restantes aqui.

1. Faça o download dos Amazon [GitHub](https://github.com/aws/amazon-freertos)FreeRTOS em. (Para obter instruções, consulte o [README.md](https://github.com/aws/amazon-freertos/blob/main/README.md)arquivo.)

1. **Configure o ambiente de desenvolvimento**.

   Para se comunicar com sua placa, você deve instalar uma cadeia de ferramentas. A Espressif fornece o desenvolvimento ESP-IDF de software para suas placas. Como ESP-IDF tem sua própria versão do Kernel do FreeRTOS integrada como um componente, o Amazon FreeRTOS inclui uma versão personalizada da v4.2 que tem o Kernel do ESP-IDF FreeRTOS removido. Isso corrige problemas com arquivos duplicados durante a compilação. Para usar a versão personalizada da versão ESP-IDF 4.2 incluída no Amazon FreeRTOS, siga as instruções abaixo para o sistema operacional da sua máquina host.

   **Windows**

   1. Baixe ESP-IDF o [Universal Online Installer](https://dl.espressif.com/dl/esp-idf/?idf=4.2) para Windows.

   1. Execute o **Instalador online universal**.

   1. Ao chegar à etapa **Baixar ou usar ESP-IDF, selecione Usar** **um ESP-IDF diretório existente** e defina **Escolher ESP-IDF diretório existente** como`{{freertos}}/vendors/espressif/esp-idf`.

   1. Concluir a instalação.

   **macOS**

   1. Siga as instruções na [Configuração padrão dos pré-requisitos do Toolchain (ESP-IDF v4.2)](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/get-started/macos-setup.html) para macOS.
**Importante**  
Ao acessar as instruções “Obter ESP-IDF” em **Próximas etapas**, pare e retorne às instruções nesta página.

   1. Abra a janela de linha de comando.

   1. Navegue até o diretório de download do FreeRTOS e, em seguida, execute o script a seguir para baixar e instalar a cadeia de ferramentas do espressif em sua plataforma.

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

   1. Adicione as ESP-IDF ferramentas do conjunto de ferramentas ao caminho do seu terminal com o comando a seguir.

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

   **Linux**

   1. Siga as instruções na [Configuração padrão dos pré-requisitos do Toolchain (ESP-IDF v4.2](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/get-started/linux-setup.html)) para Linux.
**Importante**  
Ao acessar as instruções “Obter ESP-IDF” em **Próximas etapas**, pare e retorne às instruções nesta página.

   1. Abra a janela de linha de comando.

   1. Navegue até o diretório de download do FreeRTOS e execute o script a seguir para baixar e instalar a cadeia de ferramentas do Espressif em sua plataforma.

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

   1. Adicione as ESP-IDF ferramentas do conjunto de ferramentas ao caminho do seu terminal com o comando a seguir.

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

1. **Estabelecimento de uma conexão serial**.

   1. Para estabelecer uma conexão serial entre sua máquina host e o. ESP32-WROOM-32SE, instale os drivers CP210x USB para UART Bridge VCP. Você pode fazer download desses drivers no [Silicon Labs](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers).

   1. Siga as etapas para [ Estabelecer uma conexão serial com ESP32](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/get-started/establish-serial-connection.html).

   1. Depois de estabelecer uma conexão serial, anote a porta serial da conexão de sua placa. Você precisa disso para instalar a demonstração.

### Configuração das aplicações de demonstração do FreeRTOS
<a name="configure-demos-esp32wroom-32s-idf42"></a>

Para este tutorial, o arquivo de configuração do FreeRTOS está localizado em `{{freertos}}/vendors/espressif/boards/{{board-name}}/aws_demos/config_files/FreeRTOSConfig.h`. (Por exemplo, se `AFR_BOARD espressif.esp32_devkitc` for escolhido, o arquivo de configuração estará localizado em `{{freertos}}/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h`.) 

**Importante**  
O dispositivo ATECC608A tem uma inicialização única que está bloqueada no dispositivo na primeira vez que um projeto é executado (durante a chamada para `C_InitToken`). No entanto, o projeto de demonstração e o projeto de teste do FreeRTOS têm configurações diferentes. Se o dispositivo estiver bloqueado durante as configurações do projeto de demonstração, nem todos os testes no projeto de teste serão bem-sucedidos.

1. Configure o projeto de demonstração do FreeRTOS seguindo as etapas em [Configuração das demonstrações do FreeRTOS](freertos-prereqs.md#freertos-configure). Quando você chegar à última etapa **Para formatar suas AWS IoT credenciais**, pare e execute as etapas a seguir.

1. A Microchip forneceu várias ferramentas de script para ajudar a configurar as peças do ATECC608A. Navegue até o diretório `{{freertos}}/vendors/microchip/example_trust_chain_tool` e abra o arquivo `README.md`.

1. Siga as instruções no arquivo `README.md` para provisionar seu dispositivo. As etapas incluem o seguinte:

   1. Crie e registre uma autoridade de certificação com AWS.

   1. Gerar suas chaves no ATECC608A e exportar a chave pública e o número de série do dispositivo.

   1. Gere um certificado para o dispositivo e registre esse certificado com AWS.

1. Carregar o certificado CA e o certificado de dispositivo no dispositivo seguindo as instruções para [Developer-mode provisionamento de chaves](dev-mode-key-provisioning.md).

### Monitorando mensagens MQTT no AWS Nuvem
<a name="gsg-esp32wroom-32se-monitor-mqtt"></a>

Antes de executar o projeto de demonstração do FreeRTOS, você pode configurar o cliente MQTT no console para monitorar AWS IoT as mensagens que seu dispositivo envia para a nuvem. AWS 

**Para assinar o tópico do MQTT com o AWS IoT Cliente MQTT**

1. Faça login no [console do AWS IoT](https://console.aws.amazon.com/iotv2/).

1. No painel de navegação, escolha **Teste** e, em seguida, escolha **Cliente de teste MQTT**.

1. Em **Tópico de assinatura**, insira `{{your-thing-name}}/example/topic` e selecione **Assinar o tópico**.

### Compilação, atualização e execução do projeto de demonstração do FreeRTOS usando o script idf.py
<a name="build-and-run-example-esp32wroom-32se-idf42"></a>

Você pode usar o utilitário Espressif (`idf.py`) do IDF para gerar os arquivos de compilação, compilar o binário da aplicação e instalar os binários em seu dispositivo.

**nota**  
Algumas configurações podem exigir que você use a opção de porta "`-p port-name`" com`idf.py` para especificar a porta correta, como no exemplo a seguir.  

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

**Crie e atualize Freertos no Windows, Linux e macOS (v4.2) ESP-IDF**

1. Navegue até a raiz do diretório de downloads do FreeRTOS.

1. Em uma janela de linha de comando, digite o seguinte comando para adicionar as ESP-IDF ferramentas ao PATH do seu terminal:  
**Windows (aplicação "Comando")**  

   ```
   vendors\espressif\esp-idf\export.bat
   ```  
**Windows (aplicativo “ESP-IDF 4.x CMD”)**  
(Isso já foi feito quando você abriu a aplicação.)  
**Linux / macOS**  

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

1. Configure o cmake no diretório `build` e compile a imagem do firmware com o comando a seguir.

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

   A saída deverá ser parecida com a do exemplo a seguir.

   ```
      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'
   ```

   Se não houver erros, a compilação gerará os arquivos .bin binários do firmware.

1. Apague a memória instalada da placa de desenvolvimento com o comando a seguir.

   ```
   idf.py erase_flash
   ```

1. Use o script `idf.py` para instalar o binário da aplicação na placa.

   ```
   idf.py flash
   ```

1. Monitore a saída da porta serial da placa com o comando a seguir.

   ```
   idf.py monitor
   ```
**nota**  
Você pode combinar esses comandos, como no exemplo a seguir.  

     ```
     idf.py erase_flash flash monitor
     ```
Para determinadas configurações da máquina host, você deve especificar a porta ao instalar a placa, como no exemplo a seguir.  

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

### Compilação e instalação do FreeRTOS com o CMake
<a name="flash-esp32wroom-32se-cmake-idf42"></a>

Além de usar o script `idf.py` fornecido pelo SDK do IDF para criar e executar seu código, você também pode compilar o projeto com o CMake. Atualmente, ele é compatível com o Makefile da Unix e o sistema de compilação Ninja.

**Como compilar e instalar o projeto**

1. Em uma janela da linha de comando, navegue até o diretório raiz de downloads do FreeRTOS.

1. Execute o script a seguir para adicionar as ESP-IDF ferramentas ao PATH do seu shell.  
**Windows**  

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

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

1. Insira o comando a seguir para gerar os arquivos de compilação.  
**Com Makefiles da Unix**  

   ```
   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
   ```  
**Com 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. Apague a instalada e depois instale a placa.  
**Com Makefiles da Unix**  

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

   ```
   make -C ./{{YOUR_BUILD_DIRECTORY}} flash
   ```  
**Com Ninja**  

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

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

## Mais informações
<a name="getting_started_esp32wroom-32se-additional"></a>

Para obter mais informações sobre o uso e a solução de problemas das placas Espressif ESP32, consulte os seguintes tópicos:
+ [Uso do FreeRTOS em seu próprio projeto CMake para ESP32](getting_started_espressif.md#getting_started_espressif_cmake_project)
+ [Solução de problemas](getting_started_espressif.md#getting_started_espressif_troubleshooting)
+ [Depuração](getting_started_espressif.md#getting_started_espressif_debugging)