Conceitos básicos do Espressif ESP32-S2
Importante
Essa integração de referência está hospedada no repositório Amazon-FreeRTOS, que está preterido. Recomendamos começar aqui ao criar um novo projeto. Se você já tem um projeto FreeRTOS existente baseado no repositório Amazon-FreeRTOS que está preterido, consulte o Guia de migração do repositório Github do Amazon FreeRTOS.
nota
Para explorar como integrar bibliotecas modulares e demonstrações do FreeRTOS no seu projeto Espressif IDF, consulte nossa Integração de referência em destaque para a plataforma ESP32-C3.
Este tutorial mostra como começar a usar as placas de desenvolvimento Espressif ESP32-S2 SoC e ESP32-S2-Saola-1.
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 aplicações incorporadas para a placa do microcontrolador.
-
Fazer a compilação cruzada de uma aplicação de demonstração do FreeRTOS para uma imagem binária.
-
Carregar a imagem binária do aplicativo em na placa e executar o aplicativo.
-
Monitorar e depurar a aplicação em execução usando uma conexão serial.
Pré-requisitos
Antes de começar a usar o FreeRTOS na placa Espressif, é necessário configurar as permissões e a conta da AWS.
Inscrever-se para uma Conta da AWS
Se você ainda não tem uma Conta da AWS, siga as etapas abaixo para criar uma.
Como cadastrar uma Conta da AWS
Abra https://portal.aws.amazon.com/billing/signup
. Siga as instruções online.
Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.
Quando você se inscreve para uma 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.
A AWS envia um e-mail de confirmação depois que o processo de inscrição é concluído. A qualquer momento, é possível exibir as atividades da conta atual e gerenciar sua conta acessando https://aws.amazon.com/
Criar um usuário com acesso administrativo
Depois de se cadastrar em uma Conta da AWS, proteja seu Usuário raiz da conta da AWS, habilite o AWS IAM Identity Center e crie um usuário administrativo para não usar o usuário-raiz em tarefas cotidianas.
Proteger o Usuário raiz da conta da AWS
-
Faça login no Console de gerenciamento da AWS
como o proprietário da conta ao escolher a opção Usuário-raiz e inserir o endereço de e-mail da Conta da AWS. 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 MFA virtual para sua Conta da AWS de usuário-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 obter um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como a fonte de identidade, consulte Configurar o acesso dos usuários com o Diretório do Centro de Identidade do IAM padrão no Guia do usuário do AWS IAM Identity Center.
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 Centro de Identidade do IAM, consulte Fazer login no portal de acesso da AWS, no Guia do usuário do Início de Sessão da AWS.
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 no 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.
-
Conceitos básicos
nota
Os comandos do Linux neste tutorial exigem o uso do shell Bash.
-
Configuração de hardware da Espressif.
Para obter informações sobre como configurar o hardware da placa de desenvolvimento ESP32-S2, consulte o Guia de conceitos básicos do ESP32-S2-Saola-1
. Importante
Ao chegar na seção Começar a usar dos guias do Espressif, pare e retorne para as instruções desta página.
-
Faça o download dos Amazon FreeRTOS no GitHub
. (Para obter instruções, consulte o arquivo README.md .) -
Configure o ambiente de desenvolvimento.
Para se comunicar com sua placa, você deve instalar uma cadeia de ferramentas. A Espressif fornece o ESP-IDF para desenvolver software para suas placas. Como o ESP-IDF tem a própria versão do kernel do FreeRTOS integrada como um componente, o Amazon FreeRTOS inclui uma versão personalizada do ESP-IDF v4.2 que tem o kernel do FreeRTOS removido. Isso corrige problemas com arquivos duplicados durante a compilação. Para usar a versão personalizada do ESP-IDF v4.2 incluída no Amazon FreeRTOS, siga as instruções abaixo para o sistema operacional da sua máquina host.
Windows
-
Faça download do Instalador online universal
do ESP-IDF para Windows. -
Execute o Instalador online universal.
-
Ao chegar à etapa Fazer download ou usar ESP-IDF, selecione Usar um diretório ESP-IDF existente e defina Escolher diretório ESP-IDF existente como
.freertos/vendors/espressif/esp-idf -
Concluir a instalação.
macOS
-
Siga as instruções nos Pré-requisitos de configuração padrão da cadeia de ferramentas (ESP-IDF v4.2) para macOS
. 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.
-
Abra a janela de linha de comando.
-
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 -
Adicione as ferramentas da cadeia de ferramentas ESP-IDF ao caminho do seu terminal com o comando a seguir.
source vendors/espressif/esp-idf/export.sh
Linux
-
Siga as instruções nos Pré-requisitos da configuração padrão da cadeia de ferramentas (ESP-IDF v4.2) para Linux
. 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.
-
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 -
Adicione as ferramentas da cadeia de ferramentas ESP-IDF ao caminho do seu 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-DevKitC, instale os drivers CP210x 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ê precisa disso para instalar a demonstração.
-
Configuração das aplicações de demonstração do FreeRTOS
Para este tutorial, o arquivo de configuração do FreeRTOS está localizado em . (Por exemplo, se freertos/vendors/espressif/boards/board-name/aws_demos/config_files/FreeRTOSConfig.hAFR_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
-
Se você estiver executando macOS ou Linux, abra um prompt de terminal. Se você estiver executando o Windows, abra a aplicação "ESP-IDF 4.x CMD" (se você incluiu essa opção ao instalar a cadeia de ferramentas ESP-IDF) ou, caso contrário, a aplicação "Prompt de comando".
-
Para verificar se você tem o Python3 instalado, execute o seguinte:
python --versionA versão instalada é exibida. Se você não tiver o Python 3.0.1 ou posterior instalado, poderá instalá-lo a partir do site do Python
. -
É necessária a Interface de linha de comandos (CLI) da AWS para executar os comandos AWS IoT. Se você estiver executando o Windows, use o comando
easy_install awsclipara instalar a CLI da AWS na aplicação "Comando" ou "ESP-IDF 4.x CMD".Se você estiver executando o macOS ou o Linux, consulte Instalação da CLI da AWS.
-
Executar
aws configuree configure a CLI da AWS com o ID da chave de acesso da AWS, a chave de acesso secreta e o nome de região da AWS padrão. Para obter mais informações, consulte Configurar a CLI AWS.
-
Use o comando a seguir para instalar o SDK da AWS para Python (boto3):
-
No Windows, na aplicação "Comando" ou "ESP-IDF 4.x CMD", execute
easy_install boto3 -
No macOS ou Linux, execute
pip install tornado nose --usere depois execute
pip install boto3 --user
-
O FreeRTOS inclui o script SetupAWS.py para facilitar a configuração da placa Espressif para conectar-se ao AWS IoT.
Para executar o script de configuração
-
Para configurar o script, abra
e defina os seguintes atributos:freertos/tools/aws_config_quick_start/configure.jsonafr_source_dir-
O caminho completo para o diretório
no computador. Certifique-se de usar barras para especificar esse caminho.freertos thing_name-
O nome que você deseja atribuir à coisa da AWS IoT que representa sua placa.
wifi_ssid-
O SSID da rede Wi-Fi.
wifi_password-
A senha da rede Wi-Fi.
wifi_security-
O tipo de segurança da rede Wi-Fi. Os tipos de segurança válidos estão a seguir:
-
eWiFiSecurityOpen(Aberto, sem segurança) -
eWiFiSecurityWEP(segurança WEP) -
eWiFiSecurityWPA(segurança WPA) -
eWiFiSecurityWPA2(segurança WPA2)
-
-
Se você estiver executando macOS ou Linux, abra um prompt de terminal. Se você estiver executando o Windows, abra a aplicação "ESP-IDF 4.x CMD" ou "Comando".
-
Navegue até o diretório
e executefreertos/tools/aws_config_quick_startpython SetupAWS.py setupO script faz o seguinte:
-
Cria uma coisa, um certificado e uma política do AWS IoT.
-
Anexa a política do AWS IoT ao certificado e o certificado à coisa do AWS IoT.
-
Preenche o arquivo
aws_clientcredential.hcom o endpoint, o SSID Wi-Fi e as credenciais da AWS IoT. -
Formata o certificado e a chave privada e os grava no arquivo de cabeçalho
aws_clientcredential_keys.h.
nota
O certificado é codificado apenas para fins de demonstração. Por este motivo, as aplicações devem armazenar esses arquivos em um local seguro.
Para obter mais informações sobre
SetupAWS.py, consulteREADME.mdno diretório.freertos/tools/aws_config_quick_start -
Monitoramento de mensagens MQTT na nuvem da AWS
Antes de executar o projeto de demonstração do FreeRTOS, você pode configurar o cliente MQTT no console do AWS IoT para monitorar as mensagens enviadas pelo dispositivo para a nuvem da AWS.
Para assinar o tópico MQTT com o cliente MQTT do AWS IoT
-
Faça login no console do AWS IoT
. -
No painel de navegação, escolha Teste e, em seguida, escolha Cliente de teste MQTT.
-
Em Tópico de inscrição, insira
e selecione Inscreva-se no tópico.your-thing-name/example/topic
Quando o projeto de demonstração for executado com êxito em seu dispositivo, você verá "Olá, mundo!". enviado várias vezes para o tópico em que você assinou.
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.
Compilação e instalação do 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 port-name comidf.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 (aplicação "Comando")
-
vendors\espressif\esp-idf\export.bat - Windows (aplicação "ESP-IDF 4.x CMD")
-
(Isso já foi feito quando você abriu a aplicação.)
- Linux / macOS
-
source vendors/espressif/esp-idf/export.sh
-
Configure o cmake no diretório
builde compile a imagem do firmware com o comando a seguir.idf.py -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 buildA saída deverá ser parecida com a do exemplo a seguir.
Executing action: all (aliases: build) Running cmake in directory /path/to/hello_world/build Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -DCCACHE_ENABLE=0 /path/to/hello_world"... -- The C compiler identification is GNU 8.4.0 -- The CXX compiler identification is GNU 8.4.0 -- The ASM compiler identification is GNU ... (more lines of build system output) [1628/1628] Generating binary image from built executable esptool.py v3.0 Generated /path/to/hello_world/build/aws_demos.bin Project build complete. To flash, run this command: esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32s2 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x16000 build/ota_data_initial.bin 0x20000 build/aws_demos.bin or run 'idf.py -p (PORT) flash'Se não houver erros, a compilação gera 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.pypara 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 monitornota
-
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
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
-
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=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -S . -B ./YOUR_BUILD_DIRECTORY-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -
Com Ninja
cmake -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -S . -B ./YOUR_BUILD_DIRECTORY-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -GNinja
-
-
Crie o projeto.
-
Com Makefiles da Unix
make -C ./YOUR_BUILD_DIRECTORY-j8 -
Com Ninja
ninja -C ./YOUR_BUILD_DIRECTORY-j8
-
-
Apague a instalada e depois instale a placa.
-
Com Makefiles da Unix
make -C ./YOUR_BUILD_DIRECTORYerase_flashmake -C ./YOUR_BUILD_DIRECTORYflash -
Com Ninja
ninja -C ./YOUR_BUILD_DIRECTORYerase_flashninja -C ./YOUR_BUILD_DIRECTORYflash
-
Mais informações
Para obter mais informações sobre o uso e a solução de problemas das placas Espressif ESP32, consulte os seguintes tópicos: