Existem diversas formas de criar um programa no ESP32, desde o framework Arduino, até utilizando micro Python. Uma das formas que se torna possível o desenvolvimento, é por meio do Espressif IoT Development Framework (IDF).
Para quem ainda não conhece o ESP32, vale a pena ler este artigo antes.
Atenção, este artigo tem como objetivo, preparar o ambiente para o desenvolvimento pelo framework da Espressif. O artigo de como desenvolver o firmware vem nos próximos artigos da série.
O Espressif IDF
O Espressif IDF foi criado para possibilitar a prototipação rápida de soluções IoT com a plataforma ESP32, tendo acesso a todos os recursos do sistema.
O IDF roda em sistemas Linux, Mac OS e Windows.
Instalando o IDF no Linux
Como muito de vocês já perceberam em meus artigos e vídeos, uso no meu sistema operacional o Linux, para ser mais exato, a distribuição baseada no Arch, Manjaro.
Para iniciar a instalação no Linux, vamos criar uma pasta chamada “esp”, na home do usuário:
$ mkdir ~/esp $ cd esp
Dentro da pasta, faça o clone do repositório do IDF:
$ git clone --recursive https://github.com/espressif/esp-idf.git
Precisamos agora fazer a configuração da variável de ambiente. Isso permite chamar os programas para fazer a compilação dos códigos gerados.
Para isso, edite o arquivo ~/.profile e adicione na ultima linha o seguinte comando:
export IDF_PATH=~/esp/esp-idf
Instalando a toolchain Xtensa
Toolchain é um conjunto de ferramentas para fazer a compilação do código para o arquivo binário, que será enviado para o ESP32.
Para fazer a instalação da toolchain, devemos seguir os passos abaixo:
$ cd ~/esp
Para sistemas 64bits:
$ wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-73-ge28a011-5.2.0.tar.gz
E para 32bits:
$ wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-73-ge28a011-5.2.0.tar.gz
Faça a extração dos arquivos:
$ tar -xzf xtensa-esp32-elf-linux64-1.22.0-73-ge28a011-5.2.0.tar.gz
Devemos agora adicionar a seguinte linha no mesmo arquivo que editamos anteriormente, ~/.profile:
export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin"
Importante! Para testar o ambiente de desenvolvimento, faça o logoff e login para aplicar as alterações no ambiente da máquina.
Testando o ambiente
Para testar o sistema e garantir o correto funcionamento, vamos fazer a build de um projeto exemplo, o “helloworld”. Para o teste, vamos seguir os passos abaixo.
Na instalação do IDF, alguns exemplos são disponibilizados na pasta esp-idf/examples/, sendo um deles, o helloworld. Vamos copiar esse exemplo para a raiz do IDF:
$ cd ~/esp $ cp -r $IDF_PATH/examples/get-started/hello_world . cd ~/esp/hello_world
E agora, vamos fazer a configuração, pelo comando “make menuconfig”.
Essa etapa é a mais diferente, para quem não está habituado ao comando, já muito utilizado em sistemas de build do Kernel. Esse sistema permite fazer a configuração de muitas opções de compilação, bibliotecas, periféricos entre outras opções.
O detalhamento deste processo, veremos no próximo artigo.
Execute:
$ make menuconfig
Devemos ver uma janela parecida com essa abaixo:
Caso não apareça, verifique se há alguma dependência faltando e a instale.
Pode sair sem fazer nenhuma alteração, por enquanto, e execute o comando abaixo:
$ make
Se tudo ocorreu como o planejado, o código exemplo foi compilado e foi gerada a imagem, parabéns!
Para enviar o binário, basta executar:
$ make flash
No próximo artigo vamos descrever o processo de configuração do menuconfig.
Happy Halloween!