Back-End

30 nov, 2017

ESP32 e IDF: Preparando o ambiente

Publicidade

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!