ESP32: Instalação do ESP-IDF no Windows Subsystem for Linux (WSL)

O ESP-IDF (Espressif IoT Development Framework) é o principal framework para desenvolvimento com a linha completa de SoCs ESP32 da Espressif, incluindo o ESP32, ESP32-S, ESP32-C, ESP32-H e ESP32-P. Ele proporciona um SDK completo para criar aplicações nessas plataformas, utilizando linguagens de programação como C e C++.

Domine o desenvolvimento com ESP32 usando o ESP-IDF, o framework de desenvolvimento IoT oficial da Espressif! Torne-se um desenvolvedor profissional de ESP32. Saiba como aqui.

O ESP-IDF é compatível com Windows, Linux e Mac OS. No entanto, usuários do Windows 11 podem utilizar o ESP-IDF através do WSL (Windows Subsystem for Linux), abrindo diversas possibilidades para desenvolvimento. Essa alternativa simplifica a configuração do ambiente de desenvolvimento para ESP32, seja para testes, manutenção ou criação de novos projetos.

Este tutorial irá guiar você na instalação do ESP-IDF no WSL.

O que é WSL?

WSL (Windows Subsystem for Linux) é uma camada de compatibilidade que permite a execução de binários Linux nativamente no Windows 10 e Windows 11. Ele permite que os desenvolvedores usem um ambiente Linux completo sem a necessidade de uma máquina virtual, proporcionando acesso a ferramentas de desenvolvimento poderosas diretamente no Windows. Isso é especialmente útil para desenvolvedores que trabalham com sistemas embarcados no Linux, como o ESP-IDF.

Ferramentas necessárias para configurar o ESP-IDF no WSL

Para a instalação, configuração e uso do ESP-IDF no WSL, vamos precisar das seguintes ferramentas:

  1. Computador com Windows 11
  2. WSL 2
  3. Ubuntu on Windows using WSL
  4. usbipd-win
  5. ESP-IDF

Instalar o WSL

Primeiro, precisamos habilitar o WSL no Windows. Abra o PowerShell como Administrador e execute o seguinte comando:

wsl --install

Isso instalará o WSL e a distribuição padrão do Ubuntu. Se já tiver o WSL instalado, você pode atualizar para a versão mais recente com:

wsl --update

Se quiser instalar uma nova versão do Linux, você pode verificar a lista de distribuições disponíveis no WSL usando o PowerShell:

wsl -l -o
ESP-IDF no WSL

Para instalar uma distribuição específica, adicione o nome da distribuição ao comando:

wsl --install --distribution <NomeDaDistribuição>

Substitua <NomeDaDistribuição> pelo nome da distribuição Linux que você deseja instalar, como Ubuntu, Debian, Kali-Linux, etc. Exemplo:

wsl --install --distribution Ubuntu-22.04

Instalar e Configurar o usbipd-win

Para usar dispositivos USB, Serial ou JTAG no WSL, você precisa instalar o usbipd-win, uma ferramenta que permite que dispositivos USB sejam usados dentro do WSL.

Instalação

Abra o PowerShell como Administrador e execute o seguinte comando para instalar o usbipd-win:

winget install usbipd

Para verificar os dispositivos USB disponíveis, use o comando:

usbipd list
ESP-IDF no WSL

Para acessar o dispositivo desejado do Windows no WSL, o dispositivo deve estar vinculado com o usbipd. No PowerShell com direitos de administrador, digite o comando:

usbipd bind --busid <BUSID>

Substitua <BUSID> pelo identificador do dispositivo listado no comando anterior (por exemplo, 7-4, no meu caso):

usbipd bind --busid 7-4

Nota: este comando precisa ser usado apenas uma vez, a menos que o computador tenha sido reiniciado.

Após a vinculação, anexe o dispositivo especificado ao WSL com o comando abaixo, ainda no prompt de comando PowerShell:

usbipd attach --wsl --busid <BUSID>

No meu caso, ficou assim o comando:

Agora vamos verificar o dispositivo USB no WSL. No terminal do Ubuntu (WSL), verifique se o dispositivo USB está disponível:

dmesg | tail
ESP-IDF no WSL

Pronto, o dispositivo USB está pronto para ser acessado pelo Ubuntu.

Instalação do ESP-IDF no WSL

O processo de instalação do ESP-IDF no WSL segue o mesmo procedimento apresentado na documentação oficial da Espressif para instalação no Linux: Standard Toolchain Setup for Linux and macOS – ESP32 – — ESP-IDF Programming Guide v5.3 documentation

Abra o Ubuntu. É importante que antes de iniciar a instalação, você atualize os pacotes do sistema:

sudo apt update
sudo apt upgrade

Agora vamos instalar as dependências necessárias para o ESP-IDF:

sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0

Em seguida, vamos clonar o repositório do ESP-IDF:

mkdir -p ~/esp
cd ~/esp
git clone -b v5.2.2 --recursive https://github.com/espressif/esp-idf.git

Após o download, execute o script de instalação das ferramentas usadas pelo ESP-IDF, como o compilador, depurador, pacotes Python, etc:

cd ~/esp/esp-idf 
./install.sh

As ferramentas instaladas ainda não foram adicionadas à variável de ambiente PATH. Para tornar as ferramentas utilizáveis a partir da linha de comando, algumas variáveis de ambiente devem ser configuradas. O ESP-IDF fornece outro script que faz isso. No terminal onde você vai usar o ESP-IDF, execute:

source $HOME/esp/esp-idf/export.sh

Este comando irá configurar as variáveis de ambiente necessárias para que as ferramentas do ESP-IDF sejam utilizáveis a partir da linha de comando.

Pronto, seu ambiente está preparado para desenvolver com o ESP-IDF. Vamos desenvolver nosso “Hello, World!” por linha de comandos no IDF para validar nossa instalação e configurações.

Exemplo de aplicação com ESP-IDF no WSL

Vamos aproveitar o exemplo “Hello World” já disponível na pasta exemplos dentro do ESP-IDF. Vamos fazer uma cópia do exemplo:

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

Agora, entre no diretório hello_world, defina o ESP32 como alvo (ou outro SoC que esteja usando):

cd ~/esp/hello_world
idf.py set-target esp32

Agora é só fazer o build da aplicação:

idf.py build

Para gravar os binários que você acabou de construir para o ESP32, execute o seguinte comando:

idf.py -p PORT flash

Substitua PORT pelo nome da porta USB correspondente à sua placa ESP32 (por exemplo, /dev/ttyUSB0). Se a PORT não for definida, o idf.py tentará se conectar automaticamente usando as portas USB disponíveis. O meu ficou assim:

ESP-IDF no WSL

Para verificar o funcionamento do “hello_world”, abra o monitor serial do IDF. Digite o seguinte comando (não se esqueça de substituir PORT pelo nome da sua porta serial):

idf.py -p PORT monitor

Este comando iniciará o monitor serial para que você possa ver a saída do seu programa “hello_world” na placa ESP32.

ESP-IDF no WSL

Será exibido o LOG da aplicação no console. Para sair do monitor IDF, use o atalho Ctrl+].

Maravilha! Se você conseguiu executar todos os passos até aqui, o seu WSL está pronto para ser usado como ambiente de desenvolvimento para o ESP-IDF.

Agora é com você.

Dica: Você também pode usar o VSCode para acessar o WSL e fazer o desenvolvimento usando os recursos da Extensão do IDF para VSCode.

ESP-IDF no WSL

Mas isso, assim como a instalação em outros ambientes e o uso do VSCode, eu mostro com mais detalhes na Academia ESP32 Profissional!

Venha se tornar um desenvolvedor profissional de ESP32 com a Academia ESP32 Profissional!

A Academia ESP32 Profissional oferece um curso completo e detalhado, cobrindo todos os aspectos do desenvolvimento com ESP32 usando o ESP-IDF. Não perca essa oportunidade de se especializar e dominar uma das plataformas mais usadas atualmente. Acesse Academia ESP32 Profissional e inicie sua jornada rumo ao domínio do ESP32!

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
0 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Home » Hardware » Microcontroladores » ESP32: Instalação do ESP-IDF no Windows Subsystem for Linux (WSL)

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste: