ESP-IDF para Modulos ESP32 Instalacion Completa

En esta ocasión instalaremos y configuraremos desde cero la plataforma Espressif IoT Development Framework  (ESP-IDF)  esta es la plataforma oficial de desarrollo de espressif para los modulos ESP32.

En tutoriales anteriores hablamos un poco sobre los ESP32 que tienen  Wi-Fi (banda de 2,4 GHz) y Bluetooth 4.2  en un solo modulo esas entre otras características.

ESP32 eBox&Widora primera revision

Me tome a la tarea de probar la documentación sobre la instalación de ESP-IDF, dado que considero que existen algunas confusiones que complican la instalación y espero que aquí sean aclaradas las dudas.

Requerimientos

  • PC con sistema Operativo Linux (Ubuntu/Debian) o Virtualbox, en mi caso Lubuntu-
  • Toolchain para construir la aplicación para ESP32
  • ESP-IDF que esencialmente contiene API para ESP32 y scripts para operar el Toolchain
  • Un editor de texto, para editar o crear programas.

Materiales y donde Compralos muy baratos





 

PC con sistema Operativo Linux (Ubuntu/Debian) o Virtualbox

Dado que realizaremos la instalación sobre un sistema operativo Linux, Lubuntu en mi caso, es un derivado de (Ubuntu), aunque existe una versión de ESP-IDF para Windows, yo recomendaría en ese caso instalar una maquina virtual con Linux.

Nota: Pueden utilizar cualquier distribucion Linux en este caso (Ubuntu/Debian)  yo personalmente prefiero lubuntu, pero es igual.

Video Tutorial Completo Instalacion y Configuracion

Aunque existe una guia oficial resumiremos los pasos realizados:

Instalar Toolchain 

Instalar paquetes para Ubuntu or Debian:

sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial

Configurar Toolchain

Descargar toolchain según su versión de sistema operativo

 

Descargue este archivo, luego extráigalo en la carpeta esp

  • Crear carpeta esp, en carpeta de usuario actual
mkdir -p ~/esp
  • ingresar a carpeta esp
cd  esp
  • descomprimir Toolchain «xtensa-esp32-elf», cambiar ruta dependiendo de archivo descargado 32bits o 64bits segun sea su caso.
tar -xzf ~/Descargas/xtensa-esp32-elf-linux32-1.22.0-73-gba03c2-5.2.0.tar.gz

Agregar Path «xtensa-esp32-elf»

salir de carpeta esp y ubicarse en carpeta de usuario.

  • Editar archivo .profile con nano
sudo nano .profile
  • Agregar path «xtensa-esp32-elf» al final de archivo.
export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin"

Similar a esta Vista

 

Reiniciar PC para visualizar cambios, indican reiniciar session, yo prefiero reiniciar.

  • Verificar Ruta de path
printenv PATH

  • Verificar instalación y configuración de  «xtensa-esp32-elf».
xtensa-esp32-elf-gcc -v

En caso de retornar «no se encontro la orden» después de reiniciar verificar y realizar nuevamente los pasos anteriores, posiblemente algún error en la ruta guardada en el PATH.

 





 

 Instalar ESP-IDF

ESP-IDF contiene la API para ESP32 , scripts para toolchain y ejemplos.

  • Clonar proyecto esp-idf de github en carpeta esp
cd ~/esp
 git clone --recursive https://github.com/espressif/esp-idf.git

  • Ingresar a esp-idf   y actualizar submodulos desde github
cd /esp/esp-idf
 git submodule update --init

Agregar Path «ESP-IDF»

  • Editar archivo .profile con nano
sudo nano .profile
  • Agregar PATH  «IDF_PATH»
export IDF_PATH=~/esp/esp-idf

  • Verificar PATH
printenv IDF_PATH
  • Reiniciar PC para visualizar cambios.

Instalacion Finalizada y Completa Completa de ESP-IDF  conectar nuestro ESP32 !!!





 

Hello World en ESP32 con ESP-IDF

Recomiendo ver el Video tutorial completo en el se realizara paso a paso con la guía oficial y se probara descargando un ejemplo «hello world» a ESP32.

  • Menu de configuracion, interface de configuracion de ESP-IDF, no requiere modificaciones
make menuconfig

 

Compilar la aplicación «hello world» adicionalmente el gestor de arranque y generará una tabla de particiones basada en la configuración, en pocas palabras compilara el codigo.

make all

 

  • Descargar codigo a Modulo ESP32 via serial
make flash

 

 

  • Para visualizar ejemplo en accion !! Abrir terminal serial, y visualizar «helloworld» el el comando:
make Monitor

Información Completa y detallada, proyecto Github ESP-IDF  .

Aclaracion usar  .profile o .bashrc

Previamente investigue otros tutoriales sobre instalacion de esp-idf, en mucho de ellos utilizan el archivos .bashrc pero no explican por que o simplemente dan una respuesta dudosa, busque en algunos foros y dicen lo siguiente sobre las diferencias entre .profile o .bashrc, personalmente utilizare .profile  como sugiere el manual. 

.profile se usa en el momento de iniciar sesión,ya sea en una terminal o en su escritorio.Por lo tanto, la configuración se aplicará siempre cuando haya iniciado sesión.

Por otro lado, .Bashrc se ejecuta cada vez que abre una sesión de Bash, por ejemplo, cada vez que abre un terminal.

Nota: no soy un experto linux,no quiero generar polemica por este tema, solo comparto esta posible aclaración si es errónea, discúlpenme y comenten.

Fuente: Difference between .bashrc and .profile file? 

Conclusiones

Muchos diran que por que hice la guia que ya existe, bueno considere que la version oficial en algunos punto puede confundir referente a los pasos especificos.

Otras opción disponible para esp-idf es compilar desde cero toolchain pero esta opción toma mas tiempo.

Nuevamente si quieren hacer aplicaciones completas y complejas para ESP32, nada mejor que ESP-IDF ventajas.

  • creado por espressif.
  •  mas actualizaciones.
  • mas ejemplos.
  • mas aplicaciones de hardware.
  • Foros y soporte.

También exploraremos otras opciones disponibles para programarlos ESP32:

  • Arduino IDE
  • Mongoose

Referencias





 

Deja una respuesta