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 :
- ESP32.NET – desenvolvimento
- ESP32.COM – Fórum, códigos, etc
- ESP-IDF Template
- ESP IoT college
- ESP IOT solution
- ESP32 Bibliotecas Bluetooth
- Manuais de ESP32
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 .
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
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
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 chamarexport_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_PATH
está configurado corretamente , digitando:
Printenv IDF_PATH
- O caminho previamente inserido no arquivo de script deverá ser impresso.
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 .
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
Uma outra janela de configuração deverá aparecer . Usando as teclas de cursor e a tecla Enter , selecione Serial flasher config :
Configure a porta COM do seu PC para a interface serial-USB do seu ESP32 : (edite o campo)
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
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á.
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
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 !
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 !
- Conhecendo o ESP32 – Introdução (1)
- Conhecendo o ESP32 – Primeiros contatos (2)
- Conhecendo o ESP32 – usando Arduino IDE (3)
- Conhecendo o ESP32 – usando ESP-IDF (4)
- Conhecendo o ESP32 – usando PlatformIO / ATOM (5)
Boa tarde parabéns por compartilhar informaçãoes!
Pode me ajudar com um projeto onde é utilizado uma placa esp32, Encoder e um display grafico?
Meu problema maior é com a navegação de telas e menus.
Boa sorte, fica com Deus.
Edi
CurtirCurtir
Boa noite Souza,
Eu não tenho disponibilidade de tempo para dedicar a ajudá-lo, exclusivamente.
Mas pode abrir um tópico no Lab de Garagem. http://labdegaragem.com/
E lá, os colegas poderão ajudá-lo.
Atenciosamente,
Gustavo Murta
CurtirCurtir
Boa noite! Grato por responder. Abrirei o tópico por lá então.
CurtirCurtir
Posso republicar e testar em outro esp32 ?
CurtirCurtir
Bom dia,
Republicar onde? Testar qual modelo de ESP32?
Atenciosamente,
Gustavo Murta
CurtirCurtir
Bom dia Gustavo
No blog da smartcore o qual sou responsavel , em cima do W102, é um esp32 mais limitado!
Com teus creditos!
Caso contrario, sem problemas!
CurtirCurtir