Translation: If you want to translate this tutorial into your language, I suggest using the Google Chrome browser. Right-click – it will be translated into your language. If you have questions, you can post in any language for me!

ESP-IDF

( Framework de Desenvolvimento de IoT )

Como já citei em outro tutorial , as principais plataformas de desenvolvimento de aplicações para o ESP32 são :

  • ESP-IDF – Framework de desenvolvimento IoT oficial da ESPRESSIF para o ESP32. Ele é o mais completo, mas é complicado de usar.   Link do ESP-IDF
  • Arduino-IDE : é o Ambiente de desenvolvimento mais conhecido de todos e bem mais fácil de usar.     ESP32 – Arduino IDE
  • PlatformIO : é um ambiente similar ao do Arduino. Ainda não posso afirmar se é melhor.    ESP32 – PlatformIO

Sobre o uso do ESP32 com a IDE Arduino , sugiro que veja nesse tutorial :

ESP32 – usando Arduino IDE (3)

A ESP-IDF é um Framework , isto é, um conjunto de programas, compiladores, bibliotecas e tudo mais que for preciso para o desenvolvimento de uma aplicação. Essa IDF foi criada pela ESPRESSIF e esta sendo continuamente  melhorada e aumentada, com inúmeros exemplos de aplicações, aproveitando praticamente todos os recursos de hardware e software do ESP32. A linguagem usada é a C.

Por usar uma filosofia menos evoluída na implementação (meu ponto de vista) , ela é mais complexa e mais trabalhosa. Mas se pretende criar uma aplicação profissional para o ESP32, recomendo o uso dessa IDF. Uma vantagem é que no GIT-HUB dessa IDF, você poderá encontrar um suporte para problemas de HW ou SW (claro que não é um suporte para iniciantes).

Para a pesquisa durante a implementação de uma aplicação, sugiro esses sites :

Para poder usar o ESP-IDF, é necessário a instalação de alguns programas e repositórios. Dependendo do modelo da sua placa ESP32 (DevKitC, PICO-Kit ou Wrover-Kit), o procedimento poderá ser um pouco diferente. O procedimento desse Tutorial é baseado na Placa ESP32 DEVKIT, para Windows 10. Todo o procedimento foi baseado no próprio tutorial da ESPRESSIF .

ESP-IDF Get started

what-you-need

Instalação do Toolchain para Windows 

Vamos começar instalando e configurando a ToolChain (conjunto de ferramentas).  Baixe o pacote de programas zipados do link abaixo ( 560MB aproximadamente).

Windows all-in-one toolchain & MSYS2 zip

Descompacte o arquivo zipado em um diretório que achar melhor. Recomendo que seja em um subdiretório do raiz (para não ficar com um caminho muito grande e complexo). Após descompactá-lo, será criado um diretório   / msys32   .  No meu caso escolhi  o diretório    C:/Gustavo  . Portanto o meu  toolchain ficou no   C:/Gustavo/msys32 .

Na pasta / msys32 , abra o aplicativo mingw32.exe . Crie uma pasta para a instalação da IDF com os comandos abaixo :

pwd          => para identificar o diretório  
mkdir esp    => para criar o diretório esp
cd esp       => para acessar o diretório esp

MKdir

Baixando o ESP-IDF 

O ESP-IDF compreende Aplicações e Bibliotecas, que devem ser baixadas do site da ESPRESSIF. Usando o aplicativo mingw32, dê os comandos abaixo, para baixar o IDF, na pasta     ~/esp  ( a pasta  /esp-idf  será criada automaticamente) :

ESP-IDF será baixada na pasta      ~/esp/esp-idf

git clone --recursive https://github.com/espressif/esp-idf.git

 

 

Cloning

Configurando o caminho para ESP-IDF 

Após o download da ESP-IDF na pasta  ~/esp/esp-idf , será necessário configurar o caminho (path). Os programas do toolchain acessam o ESP-IDF usando a variável de ambiente  IDF_PATH

Os scripts do perfil de usuário estão contidos na pasta

~/msys32/etc/profile.d/

Eles são executados toda vez que você abre uma janela MSYS2.

  • Crie um novo arquivo de script na pasta   ~/msys32/etc/profile.d/ . O arquivo deverá se chamar  export_idf_path.sh.
  • Identifique (com o Gerenciador de arquivos) o caminho para o diretório ESP-IDF. É específico para a configuração do seu sistema e pode parecer algo como por exemplo :

    C:\Gustavo\msys32\home\jgust\esp\esp-idf

    Usando qualquer editor (no meu caso, usei NotePad), digite o comando  export no arquivo de script , por exemplo:

export IDF_PATH="C:/gustavo/msys32/home/jgust/esp/esp-idf"
  • Lembre-se de substituir por  barras normais no Path do Windows. Salve o arquivo de script sem a extensão .TXT, como  export_idf_path.sh
  • Feche a janela MSYS2 e abra-a novamente. Verifique se IDF_PATHestá configurado corretamente , digitando:

Printenv  IDF_PATH
  • O caminho previamente inserido no arquivo de script deverá ser impresso.

IDF Path

Testando um Projeto de exemplo 

O ambiente no seu PC, esta pronto para testar uma aplicação para o ESP32. O Programa  get-started/hello_world  da pasta de  examples da ESP-IDF, será usado para teste.

Copie a pasta do exemplo hello_word para a pasta ~/esp, com o comando abaixo usando a janela do mingw32. ( não se esqueça do ponto no final do comando) 

cd esp
cp -r $IDF_PATH/examples/get-started/hello_world .

Exemplo Hello world

Configurando a porta COM na ESP-IDF 

Conecte o seu ESP32 na porta USB do seu PC . Identifique a porta COM usada. O procedimento é o mesmo deste tutorial :

Configurando a ARDUINO IDE p/ o ESP32 :

Abra a janela do programa mingw32, e dê os seguintes comandos para configurar a porta COM na ESP-IDF:

cd ~/esp/hello_world
make menuconfig

Menuconfig

Uma outra janela de configuração deverá aparecer . Usando as teclas de cursor e a tecla Enter , selecione Serial flasher config :

Serial config

Configure a porta COM do seu PC para a interface serial-USB do seu ESP32 : (edite o campo)

Config COM3

Depois selecione Exit duas vezes e Salve a configuração .

Compilando e Gravando na Flash do ESP32 

Mantenha  a placa ESP32 conectada no seu PC. Abra a janela do mingw32. 

Para compilar o aplicativo e todos os componentes do ESP-IDF, gerar o bootloader, a tabela de partição, os binários do aplicativo e gravar esses arquivos na memória Flash da placa ESP32, dê os comandos abaixo.

cd ~/esp/hello_world
make flash

Make Flash 01

Após alguns minutos (demora mesmo) e se tudo correr bem , deverá aparecer essas mensagens abaixo. A placa será resetada e a aplicação hello_world começará.

Tela final

Pronto, a aplicação já esta gravada na Flash do ESP32. Agora vamos acessar a porta serial-USB , através de uma console (pode usar um outro programa – velocidade 115200 Bps). Na janela do mingw32, dê o comando para abrir a console da IDF :

make monitor

Monitor

Essa aplicação Hello_world, fica em loop enviando a mensagem Hello world ! e depois dá um reboot. Somente isso . Parabéns ! Você conseguiu usar a ESP-IDF com o ESP32 !

Hello world

Vejam o help do comando make :

$ make help
Welcome to Espressif IDF build system. Some useful make targets:

make menuconfig - Configure IDF project
make defconfig - Set defaults for all new configuration options

make all - Build app, bootloader, partition table
make flash - Flash app, bootloader, partition table to a chip
make clean - Remove all build output
make size - Display the static memory footprint of the app
make size-components, size-files - Finer-grained memory footprints
make erase_flash - Erase entire flash contents
make monitor - Run idf_monitor tool to monitor serial output from app
make simple_monitor - Monitor serial output on terminal console
make list-components - List all components in the project

make app - Build just the app
make app-flash - Flash just the app
make app-clean - Clean just the app
make print_flash_cmd - Print the arguments for esptool when flash

See also 'make bootloader', 'make bootloader-flash', 'make bootloader-clean',
'make partition_table', etc, etc.

 

Aguardem mais tutoriais !