O ambiente de desenvolvimento recomendado pelo fabricante Expressif é o PlatformIO que facilita a criar e manter os projetos provendo scripts para automatizar as tarefas de desenvolvimento e também provê recursos para agilizar a codificação.
O link para o PlatformIO é https://github.com/platformio/platform-espressif8266/tree/master
Este tutorial está baseado no tutorial de https://docs.platformio.org/en/latest/ide/vscode.html#quick-start
Link para SDKs e Demos da Espressif https://www.espressif.com/en/products/hardware/esp8266ex/resources
O PlatformIO atualmente é implementado em cima do VSCode como extensão.
Para configurar PlatformIO no Windows, temos que instalar o editor de textos VSCode que pode ser baixado no site https://code.visualstudio.com/.
Na página principal, temos o botão "Download" para baixar a versão compatível com o seu sistema operacional (o site detecta o seu sistema operacional automaticamente). Basta baixar e instalar como qualquer outro aplicativo simples. Pronto!!! Seu VSCode está instalado.
Apesar da página principal, temos a página de download para prover diferentes instaladores do Windows. Verificamos que há versão do VSCode em arquivos *.zip que é um aplicativo que pode ser instalado apenas descompactando o arquivo instalador em um diretório específico. Este é o meu modo preferido pois eu gosto muito de poder ter um ambiente de desenvolvimento completo guardado em um diretório, dentro da própria pasta de cada projeto. Assim, se no futuro eu tiver que voltar a dar manutenção neste projeto, já tenho o ambiente correto disponível em poucos minutos. Além de poder guardar a versão exata do ambiente em que o projeto é desenvolvido, o VSCode não interferirá no funcionamento normal do Sistema Operacional enquanto não estiver sendo utilizado e não provocará problemas irreversíveis.
Para baixar a versão compactada ao invés do instalador, basta seguir o link "Other platforms", que no caso atual está apontando para os arquivos da versão estável.
Baixe o .zip para 32 bits ou para 64 bits. Crie um diretório para conter o VSCode, no meu caso ficou dentro de C:\PortableApps\OtherApps\VSCode\VSCode-1.30.2-64
Salve e descompacte o arquivo baixado dentro da pasta e execute o arquivo Code.exe
O seu VSCode está instalado!!!
As instruções no site do PlatformIO, as instruções são simples (orientem-se pela figura abaixo):
Extensions (Crtl+Shift+X)
;platformio-ide
";Install
", referente ao PlatformIO IDE;
Pronto!!! PlatformIO instalado.
Agora, recomenda-se consultar o guia de início rápido (inglês) para ter um ótima referência.
No meu caso, eu já tinha uma versão do PlatformIO instalado quando usei na IDE Atom e ao abrir o VSCode pela primeira vez, o PlatformIO já se instalou sozinho automaticamente.
Primeiro, ele instalou a extensão C/C++. Segue o log abaixo:
June 2018 Update
Thank you for installing the C/C++ extension. In the June update, we focused on workspace configuration improvements.
We dramatically improved the performance of recursive includes (e.g. using ${workspaceFolder}/** in your includePath), we will prompt you to use compile_commands.json if it is found in your workspace, and we made the browse.path setting optional in the case that it is identical to your includePath.
Depois na aba Outputs, apareceu o seguinte log:
Installing PlatformIO Core...
Please do not close this window and do not open other folders until this process is completed.
PlatformIO IDE installed successfully.
mkdir -p ~/esp
e ir para dentro dela: cd esp
.git clone -b v3.1.3 --recursive https://github.com/espressif/esp-idf.git
.exit
.export IDF_PATH="C:\msys32\home\<usuario>\esp\esp-idf
" e salvar.printenv IDF_PATH
.python --version
.python -m pip install --upgrade pip
python2.7 -m pip install --user -r $IDF_PATH/requirements.txt
. Pode haver problemas com a versão do pip, então, <usuario>
\esp\esp-idf\examples\get-started para C:\msys32\home\<usuario>
\espCriando o primeiro projeto Arduino no VSCode
Criando o primeiro projeto RTOS no VSCode
Vá até o diretório onde foi descompactado o VSCode e execute o arquivo Code.exe.
Clique no ícone do PlatformIO no menú vertical esquerdo e clique no botão "+ New Project
"
Entre com o nome do seu projeto, escolha o seu módulo e qual o tipo de código base (Arduino). Clique o botão Finish
.
Será criada a estrutura de um projeto da plataforma Arduíno.
Edite o arquivo main.cpp do mesmo jeito que faria ao editar um sketch na IDE do Arduino.
Verifique as seguintes figuras:
Esta é a barra de ferramentas do PlatformIO que é exibida ao editar o código do seu ESP8266. Ela contém (da esquerda para a direita):
#include <Arduino.h>
void setup() {
// put your setup code here, to run once:
pinMode(BUILTIN_LED, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(BUILTIN_LED, !digitalRead(BUILTIN_LED));
delay(1000);
}
Compile ou envie o código para o seu ESP8266 usando os ícones na barra de ferramentas embaixo
Para que o VSCode funcione corretamente com os Kits da Expressif, será necessário criar o ambiente compatível GNU.
Será necessário is á página da Expressif "Standard Setup of Toolchain for Windows" e baixar o arquivo contendo "Windows all-in-one toolchain & MSYS2", descompactar e salvar em um local apropriado. Pode ser uma pasta C:\projetos\projeto001\msys2
Crie uma pasta chamada esp dentro deste diretório: C:\projetos\projeto001\msys2\esp
Note que é criada uma pasta com o nome do usuário (que chamaremos de yourusername) corrente do Windows dentro de C:\projetos\projeto001\msys2\home que no meu caso é Administrador. Dentro desta pasta, há um arquivo chamado .bash_profile.
Edite o arquivo .bash_profile arrastando-o em cima do VSCode. Adicione as linhas no final do arquivo:
export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin"
export IDF_PATH="$HOME/esp/esp-idf"
Execute o mysys2 clicando em cima do arquivo mingw32.exe.
Entre com o comando printenv IDH_PATH
para conferir que o arquivo foi editado corretamente.
Entre com o comando cd esp
para mover para o diretório esp.
Execute o comando abaixo para obter o ESP-IDF
git clone --recursive https://github.com/espressif/esp-idf.git
Este comando está explicado na página Get ESP-IDF
======== tentativa
Ambiente pré construído para windows: https://docs.espressif.com/projects/esp-idf/en/latest/get-started/windows-setup.html
export_idf_path.sh
https://docs.espressif.com/projects/esp-idf/en/latest/get-started/windows-setup-scratch.html
Rode o script ../esp/esp-idf/tools/windows/windows_install_prerequisites.sh
========
Copie a pasta hello_world que está dentro da pasta C:\ito\apps\tool\msys32\home\Administrator\esp\esp-idf\examples\get-started para a pasta C:\ito\apps\tool\msys32\home\Administrator\esp
Pelo mysys2, vá até a pasta hello_world e execute o comando make menuconfig
Vá para a opção Serial Flasher Config --->
Selecione a porta default para editar, apague a entrada /dev/ttyUSB0 e entre com a COM em que seu ESP8266 está conectada
Altere o baud rate caso necessário. Recomendo 921600 baud
Retorne 1 nível selecionando <Exit>
Entre no ítem Component Config --->
Entre no ítem ESP32-specific --->
Entre no ítem CPU Frequency (160 MHz) --->
Altere para 240 MHz
e vá saindo prestando atenção para Salvar as alterações quando for questionado.
No prompt do msys2, dê os comandos:
export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin:$HOME/.local/bin"
export IDF_PATH="$HOME/esp/esp-idf"
export SDK_PATH="$HOME/esp/ESP8266_RTOS_SDK-3.1"
Configuração do VSCode
Vá até o GitHub da VirgiliaBeatrice na URL abaixo:
https://github.com/VirgiliaBeatrice/esp32-devenv-vscode/blob/master/tutorial.md
Vá até o diretório onde foi descompactado o VSCode e execute o arquivo Code.exe.
Clique no ícone do PlatformIO no menú vertical esquerdo e clique no botão "+ New Project
"
Entre com o nome do seu projeto, escolha o seu módulo e qual o tipo de código base (ESP8266 Non-OS SDK). Clique o botão Finish
.
Verifique as seguintes figuras:
O novo arquivo dentro da pasta src deve se chamar user_main.c
Entre com o código abaixo para realizar o primeiro teste.
/*
This example code is in the Public Domain (or CC0 licensed, at your option.)
Unless required by applicable law or agreed to in writing, this
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include "esp_system.h"
/**************************************************************************
* FunctionName : app_main
* Description : entry of user application, init user function here
* Parameters : none
* Returns : none
**************************************************************************/
void app_main(void)
{
printf("SDK version:%s\n", esp_get_idf_version());
}
Ambiente compatível GNU MSYS2
https://docs.espressif.com/projects/esp-idf/en/stable/get-started/windows-setup.html
Download arquivo esp32_win32_msys2_environment_and_toolchain-20180110.zip
do link https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20180110.zip
Criando o primeiro projeto RTOS no VSCode
Vá até o diretório onde foi descompactado o VSCode e execute o arquivo Code.exe.
Clique no ícone do PlatformIO no menú vertical esquerdo e clique no botão "+ New Project
"
Entre com o nome do seu projeto, escolha o seu módulo e qual o tipo de código base (ESP8266 RTOS SDK). Clique o botão Finish
.
Verifique as seguintes figuras: