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á.
Introdução ao ESP32 Espressif -WROOM-32SE
Importante
Esta é uma versão arquivada do Guia do usuário do FreeRTOS para usar com a versão 202012.00 do FreeRTOS. Para obter a versão mais recente deste documento, consulte o Guia do usuário do FreeRTOS.
Siga este tutorial para começar a usar o ESP32 Espressif -WROOM-32SE. Para comprar um de nosso parceiro no catálogo de dispositivos AWS parceiros, consulte ESP32-WROOM-32SE
nota
Atualmente, a porta FreeRTOS ESP32 para -WROOM-32SE não suporta o recurso de multiprocessamento simétrico (SMP).
Visão geral
Este tutorial orienta você pelas seguintes etapas:
-
Conectar a placa a uma máquina host
-
Instalar o software na máquina host para desenvolver e depurar aplicativos incorporados para a placa do microcontrolador
-
Fazer a compilação cruzada de um aplicativo de demonstração do FreeRTOS para uma imagem binária
-
Carregar a imagem binária do aplicativo na placa e executar o aplicativo
-
Monitorar e depurar o aplicativo em execução usando uma conexão serial
Pré-requisitos
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
Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.
Para se inscrever em um Conta da AWS
Siga as instruções online.
Parte do procedimento de inscrição envolve receber uma ligação ou mensagem de texto e inserir um código de verificação no teclado do telefone.
Quando você se inscreve em um Conta da AWS, um Usuário raiz da conta da AWSé criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar tarefas que exigem acesso de usuário-raiz.
AWS envia um e-mail de confirmação após a conclusão do processo de inscrição. A qualquer momento, você pode visualizar a atividade atual da sua conta e gerenciar sua conta acessando https://aws.amazon.com/e
Criar um usuário com acesso administrativo
Depois de se inscrever em um Conta da AWS, proteja seu Usuário raiz da conta da AWS AWS IAM Identity Center, habilite e crie um usuário administrativo para que você não use o usuário root nas tarefas diárias.
Proteja seu Usuário raiz da conta da AWS
-
Faça login AWS Management Console
como proprietário da conta escolhendo Usuário raiz e inserindo seu endereço de Conta da AWS e-mail. Na próxima página, insira a senha. Para obter ajuda ao fazer login usando o usuário-raiz, consulte Fazer login como usuário-raiz no Guia do usuário do Início de Sessão da AWS .
-
Habilite a autenticação multifator (MFA) para o usuário-raiz.
Para obter instruções, consulte Habilitar um dispositivo de MFA virtual para seu usuário Conta da AWS raiz (console) no Guia do usuário do IAM.
Criar um usuário com acesso administrativo
-
Habilita o Centro de Identidade do IAM.
Para obter instruções, consulte Habilitar o AWS IAM Identity Center no Guia do usuário do AWS IAM Identity Center .
-
No Centro de Identidade do IAM, conceda o acesso administrativo a um usuário.
Para ver um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como fonte de identidade, consulte Configurar o acesso do usuário com o padrão Diretório do Centro de Identidade do IAM no Guia AWS IAM Identity Center do usuário.
Iniciar sessão como o usuário com acesso administrativo
-
Para fazer login com o seu usuário do Centro de Identidade do IAM, use o URL de login enviado ao seu endereço de e-mail quando o usuário do Centro de Identidade do IAM foi criado.
Para obter ajuda para fazer login usando um usuário do IAM Identity Center, consulte Como fazer login no portal de AWS acesso no Guia Início de Sessão da AWS do usuário.
Atribuir acesso a usuários adicionais
-
No Centro de Identidade do IAM, crie um conjunto de permissões que siga as práticas recomendadas de aplicação de permissões com privilégio mínimo.
Para obter instruções, consulte Criar um conjunto de permissões no Guia do usuário do AWS IAM Identity Center .
-
Atribua usuários a um grupo e, em seguida, atribua o acesso de autenticação única ao grupo.
Para obter instruções, consulte Adicionar grupos no Guia do usuário do AWS IAM Identity Center .
Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
-
Usuários e grupos em AWS IAM Identity Center:
Crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do AWS IAM Identity Center .
-
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) 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 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) no Guia do usuário do IAM.
-
nota
O FreeRTOS versão 202012.00 oferece suporte ao ESP-IDF v3.3. Se você estiver usando uma revisão posterior do FreeRTOS, siga as instruções específicas IDFv4 de .2 em. Conceitos básicos do ESP-IDF v4.2
Conceitos básicos do ESP-IDF v3.3
Esta seção mostra como usar o ESP-IDF v3.3 no hardware da Espressif. Para usar o ESP-IDF v4.2, consulte Conceitos básicos do ESP-IDF v4.2.
Configuração do hardware Espressif
Consulte o Guia de introdução ESP32 - DevKit C para obter
Importante
Quando chegar à seção Get Started do guia do Espressif, siga as etapas abaixo.
Configuração do ambiente de desenvolvimento
Para se comunicar com sua placa, você deve baixar e instalar uma cadeia de ferramentas.
Configuração da cadeia de ferramentas
nota
O ESP-IDF v3.3 (a versão que o FreeRTOS usa) não suporta a versão mais recente do compilador. ESP32 Use o compilador que é compatível com a versão 3.3 do ESP-IDF. Consulte os links anteriores. Para verificar a versão do compilador, execute o comando a seguir.
xtensa-esp32-elf-gcc --version
Para configurar a cadeia de ferramentas, siga as instruções do sistema operacional de sua máquina host:
Importante
Quando você chegar nas instruções de "Obter ESP-IDF" em Next Steps (Próximas etapas), pare e retorne para as instruções desta página.
Se você seguiu as instruções de “Get ESP-IDF” em Next Steps agora ou em uma ocasião anterior, você deve limpar a variável de ambiente IDF_PATH
do sistema antes de continuar. Se você seguiu as instruções de “Get ESP-IDF”, essa variável de ambiente é definida automaticamente.
Instalar CMake
O sistema de CMake compilação é necessário para criar os aplicativos de demonstração e teste do FreeRTOS para esse dispositivo. O FreeRTOS oferece suporte às versões 3.13 ou posteriores.
Você pode baixar a versão mais recente CMake do em CMake.org
Para obter mais detalhes sobre o uso CMake com FreeRTOS, consulte. Usando CMake com FreeRTOS
Estabelecimento de uma conexão serial
-
Para estabelecer uma conexão serial entre sua máquina host e o ESP32 -WROOM-32SE, instale os drivers CP21 0x USB para UART Bridge VCP. Você pode fazer download desses drivers no Silicon Labs
. -
Siga as etapas para estabelecer uma conexão serial com ESP32
. -
Depois de estabelecer uma conexão serial, anote a porta serial da conexão de sua placa. Você precisará dela durante a compilação da demonstração.
Faça download e configure os FreeRTOS
Depois de configurar seu ambiente, você pode baixar os FreeRTOS em. GitHub
Importante
O dispositivo ATECC6 08A tem uma inicialização única que é bloqueada no dispositivo na primeira vez em 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.
-
Configure o projeto de demonstração do FreeRTOS seguindo as etapas em Configuração das demonstrações do FreeRTOS. Pule a última etapa Para formatar as credenciais da AWS IoT e siga as etapas abaixo.
-
A Microchip forneceu várias ferramentas de script para ajudar na configuração das peças ATECC6 08A. Navegue até o diretório
e abra o arquivofreertos
/vendors/microchip/secure_elements/app/example_trust_chain_toolREADME.md
. -
Siga as instruções no arquivo
README.md
para provisionar seu dispositivo. As etapas incluem o seguinte:-
Crie e registre uma autoridade de certificação com AWS
-
Gere suas chaves no ATECC6 08A e exporte a chave pública e o número de série do dispositivo
-
Gere um certificado para o dispositivo e registre esse certificado com AWS
-
-
Carregar o certificado CA e o certificado de dispositivo no dispositivo seguindo as instruções para Provisionamento de chaves no modo de desenvolvedor.
Compilar, instalar e executar o projeto de demonstração do FreeRTOS
Você pode usar CMake para gerar os arquivos de compilação, Make para criar o binário do aplicativo e o utilitário IDF do Espressif para atualizar sua placa.
Compilar o FreeRTOS no Linux ou macOS (ESP-IDF v3.3)
Se estiver usando o Windows, você poderá pular para Compilar o FreeRTOS no Windows (ESP-IDF v3.3).
Use CMake para gerar os arquivos de compilação e, em seguida, use Make para criar o aplicativo.
Para gerar os arquivos de compilação do aplicativo de demonstração com CMake
-
Navegue até a raiz do diretório de downloads do FreeRTOS.
-
Em uma janela de linha de comando, digite o seguinte comando para gerar os arquivos de compilação.
cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B
your-build-directory
Observações
Para criar o aplicativo para depuração, adicione o sinalizador
-DCMAKE_BUILD_TYPE=Debug
.Para gerar os arquivos de compilação do aplicativo de teste, adicione o sinalizador
-DAFR_ENABLE_TESTS=1
.O código fornecido pelo Espressif usa a pilha de IP leve (lwIP) como a pilha de rede padrão. Para usar a pilha de rede FreeRTOS+TCP em vez disso, adicione o sinalizador ao comando.
–DAFR_ESP_FREERTOS_TCP
CMakePara adicionar a dependência do LWIP para código não fornecido pelo fornecedor, adicione as linhas a seguir ao arquivo
CMakeLists.txt
de dependência,, para seu CMake componente Wi-Fi personalizado.# Add a dependency on the bluetooth espressif component to the common component set(COMPONENT_REQUIRES lwip)
Para criar o aplicativo com Make
-
Navegue até o diretório
build
. -
Em uma janela de linha de comando, digite o seguinte comando para compilar o aplicativo com Make.
make all -j4
nota
Você deve gerar os arquivos de compilação com o comando cmake toda vez que alternar entre o projeto
aws_demos
e o projetoaws_tests
.
Compilar o FreeRTOS no Windows (ESP-IDF v3.3)
No Windows, você deve especificar um gerador de compilação para CMake. Caso contrário, o CMake padrão é Visual Studio. O Espressif recomenda oficialmente o sistema de compilação Ninja, porque ele funciona no Windows, no Linux e no MacOS. Você deve executar CMake comandos em um ambiente nativo do Windows, como cmd ou PowerShell. A execução de CMake comandos em um ambiente Linux virtual, como MSYS2 ou WSL, não é suportada.
Use CMake para gerar os arquivos de compilação e, em seguida, use Make para criar o aplicativo.
Para gerar os arquivos de compilação do aplicativo de demonstração com CMake
-
Navegue até a raiz do diretório de downloads do FreeRTOS.
-
Em uma janela de linha de comando, digite o seguinte comando para gerar os arquivos de compilação.
cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -GNinja -S . -B
your-build-directory
nota
Para criar o aplicativo para depuração, adicione o sinalizador
-DCMAKE_BUILD_TYPE=Debug
.Para gerar os arquivos de compilação do aplicativo de teste, adicione o sinalizador
-DAFR_ENABLE_TESTS=1
.O código fornecido pelo Espressif usa a pilha de IP leve (lwIP) como a pilha de rede padrão. Para usar a pilha de rede FreeRTOS+TCP em vez disso, adicione o sinalizador ao comando.
–DAFR_ESP_FREERTOS_TCP
CMakePara adicionar a dependência do LWIP para código não fornecido pelo fornecedor, adicione as linhas a seguir ao arquivo
CMakeLists.txt
de dependência,, para seu CMake componente Wi-Fi personalizado.# Add a dependency on the bluetooth espressif component to the common component set(COMPONENT_REQUIRES lwip)
Para o build do aplicativo
-
Navegue até o diretório
build
. -
Em uma janela de linha de comando, insira o seguinte comando para invocar o Ninja para compilar o aplicativo.
ninja
Ou use a CMake interface genérica para criar o aplicativo.
cmake --build
your-build-directory
nota
Você deve gerar os arquivos de compilação com o comando cmake toda vez que alternar entre o projeto
aws_demos
e o projetoaws_tests
.
Instalar e executar o FreeRTOS (ESP-IDF v3.3)
Use o utilitário IDF da Espressif (
) para atualizar sua placa, executar o aplicativo e visualizar os logs.freertos
/vendors/espressif/esp-idf/tools/idf.py
Para apagar o flash da placa, navegue até o diretório
e insira o seguinte comando.freertos
./vendors/espressif/esp-idf/tools/idf.py erase_flash -B
build-directory
Para atualizar o binário do aplicativo para a placa, use make
:
make flash
Você também pode usar o script do IDF para atualizar a placa.
./vendors/espressif/esp-idf/tools/idf.py flash -B
build-directory
Use os comandos a seguir para visualizar os logs:
./vendors/espressif/esp-idf/tools/idf.py monitor -p /dev/ttyUSB1 -B
build-directory
dica
Você também pode combinar esses comandos.
./vendors/espressif/esp-idf/tools/idf.py erase_flash flash monitor -p /dev/ttyUSB1 -B
build-directory
Conceitos básicos do ESP-IDF v4.2
Esta seção mostra como usar o ESP-IDF v4.2 no hardware da Espressif. Para usar o ESP-IDF v3.3, consulte Conceitos básicos do ESP-IDF v3.3.
nota
Os comandos do Linux neste tutorial exigem o uso do shell Bash.
Configuração do hardware Espressif
Para obter informações sobre como configurar o hardware da placa de desenvolvimento ESP32 -WROOM-32SE, consulte o Guia de introdução ESP32- DevKit C
Importante
Quando chegar à seção Get Started dos guias do Espressif, siga as etapas abaixo.
Configuração do ambiente de desenvolvimento
Para se comunicar com a sua placa, você precisa fazer download e instalar uma cadeia de ferramentas.
Configuração da cadeia de ferramentas
Para configurar a cadeia de ferramentas, siga as instruções do sistema operacional de sua máquina host:
Importante
Quando você chegar nas instruções de "Obter ESP-IDF" em Próximas etapas, pare e retorne para as instruções desta página.
Concluir a instalação (Linux/Mac)
O instalador do ESP-IDF para Windows instala todas as ferramentas necessárias. As plataformas Linux e MAC OSX exigem uma etapa adicional para concluir a instalação.
Abra a janela de linha de comando, 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
Em seguida, adicione as ferramentas da cadeia de ferramentas ESP-IDF ao caminho do terminal com o comando a seguir.
source vendors/espressif/esp-idf/export.sh
Estabelecimento de uma conexão serial
-
Para estabelecer uma conexão serial entre sua máquina host e o ESP32 -WROOM-32SE, instale os drivers CP21 0x USB para UART Bridge VCP. Você pode fazer download desses drivers no Silicon Labs
. -
Siga as etapas para estabelecer uma conexão serial com ESP32
. -
Depois de estabelecer uma conexão serial, anote a porta serial da conexão de sua placa. Você precisará dela durante a compilação da demonstração.
Faça download e configure os FreeRTOS
Depois de configurar seu ambiente, você pode baixar os FreeRTOS em. GitHub
Importante
O dispositivo ATECC6 08A tem uma inicialização única que é bloqueada no dispositivo na primeira vez em 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.
-
Configure o projeto de demonstração do FreeRTOS seguindo as etapas em Configuração das demonstrações do FreeRTOS. Ao chegar à última etapa Para formatar as credenciais da AWS IoT , execute as etapas a seguir.
-
A Microchip forneceu várias ferramentas de script para ajudar na configuração das peças ATECC6 08A. Navegue até o diretório
e abra o arquivofreertos
/vendors/microchip/secure_elements/app/example_trust_chain_toolREADME.md
. -
Siga as instruções no arquivo
README.md
para provisionar seu dispositivo. As etapas incluem o seguinte:-
Crie e registre uma autoridade de certificação com AWS
-
Gere suas chaves no ATECC6 08A e exporte a chave pública e o número de série do dispositivo
-
Gerar um certificado para o dispositivo e registrar esse certificado na AWS
-
-
Carregar o certificado CA e o certificado de dispositivo no dispositivo seguindo as instruções para Provisionamento de chaves no modo de desenvolvedor.
Compilação, atualização e execução do projeto de demonstração do FreeRTOS usando o script idf.py
Você pode usar o utilitário Espressif do IDF para gerar os arquivos de compilação, compilar o binário da aplicação e instalar a placa.
Compilar e instalar o FreeRTOS no Windows, Linux e macOS (ESP-IDF v4.2)
Use o script idf.py
para compilar o projeto e instalar os binários em seu dispositivo.
nota
Algumas configurações podem exigir que você use a opção de porta "-p
comport-name
"idf.py
para especificar a porta correta, como no exemplo a seguir.
idf.py -p /dev/cu.usbserial-00101301B flash
Como compilar e instalar o projeto
-
Navegue até a raiz do diretório de downloads do FreeRTOS.
-
Na janela da linha de comando, insira o comando a seguir para adicionar as ferramentas de ESP-IDF ao PATH do seu terminal:
Windows
vendors\espressif\esp-idf\export.bat
Linux / macOS
source vendors/espressif/esp-idf/export.sh
-
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.
-
Apague a memória instalada da placa de desenvolvimento com o comando a seguir.
idf.py erase_flash
-
Use o script
idf.py
para instalar o binário da aplicação na placa.idf.py flash
-
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
nota
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
Crie e atualize Freertos com CMake
Além de usar o script idf.py fornecido pelo SDK do IDF para criar e executar seu código, você também pode criar o projeto com. CMake Atualmente, ele é compatível com o Makefile da Unix e o sistema de compilação Ninja.
Como compilar e instalar o projeto
-
Em uma janela da linha de comando, navegue até o diretório raiz de downloads do FreeRTOS.
-
Execute o script a seguir para adicionar as ferramentas ESP-IDF ao PATH do shell.
Windows
vendors\espressif\esp-idf\export.bat
Linux / macOS
source vendors/espressif/esp-idf/export.sh
-
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=0Com 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 -
Apague a instalada e depois instale a placa.
Com Makefiles da Unix
make -C
./YOUR_BUILD_DIRECTORY
erase_flashmake -C
./YOUR_BUILD_DIRECTORY
flashCom Ninja
ninja -C
./YOUR_BUILD_DIRECTORY
erase_flashninja -C
./YOUR_BUILD_DIRECTORY
flash
Monitorando mensagens MQTT na nuvem AWS
Você pode usar o cliente MQTT no AWS IoT console para monitorar as mensagens que seu dispositivo envia para a AWS nuvem.
Para assinar o tópico MQTT com o cliente AWS IoT MQTT
-
Faça login no console do AWS IoT
. -
No painel de navegação, escolha Test (Teste) para abrir o cliente MQTT.
-
Em Tópico de inscrição, insira
e selecione Inscreva-se no tópico.your-thing-name
/example/topic
Mais informações
Para obter informações adicionais sobre como usar e solucionar problemas com ESP32 placas Espressif, consulte os tópicos a seguir: