Microcontroladores basados en ESP32: Configuración Arduino IDE y características

Arduino, STM32 (Maple), ESP8266, ESP32, etc
Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 484
Registrado: 04 Jul 2016, 11:17
Agradecido: 102 veces
Agradecimiento recibido: 134 veces

Microcontroladores basados en ESP32 -- Introducción

Mensaje sin leer por Naguissa »

1. Introducción

Los ESP32 son una evolución cualitativa de los ESP8266 de la misma empresa, Espressif.

Estos dispositivos integran un microprocesador Xtensa LX6 de 32 bits que puede ser single o dual core y pueden funcionar hasta 160 o 240MHz máximo. Además, cuentan también con un coprocesador dedicado para modos de ultra bajo consumo.

La memoria RAM es de 520KBytes. Además incluye 16Kbytes en el RTC, 8KBytes de tipo rápido y otro tanto de tipo lento. Además, soportan hasta 8MBytes de RAM SPI externa.

Usan una memoria Flash externa, como el ESP8266. Ésta puede ser de 4Mbytes a 16MBytes.

Además, tiene una ROM de 448KBytes integrada.

Como características destacadas, han mejorado la WiFi incluyendo criptografía hardware y han añadido Bluetooth 4.2.

Y, como mejoras, este microcontrolador lleva ADCs, PWMs y mas opciones: interfaces Ethernet, SDIO y CAN bus 2.0, un sensor de efecto Hall, un termómetro y el hecho de que los conversores ADC pueden activar un preamplificador de bajo ruido para soportar señales de muy bajo nivel. Además, permite encriptar el código en la flash para protegerlo.


Este microcontrolador es reprogramable igual que el ESP8266, conservando sus funciones de WiFi y Bluetooth. Entre las herramientas de programación se encuentra un paquete para el IDE Arduino, que permite programar el microcontrolador como si se tratase de un Arduino con escudo Wifi y escudo Bluetooth.

Además, al tener diversos cores y procesadores y DSPs especiales para el control de los dispositivos WiFi y Bluetooth, ya no se necesita tener especial cuidado con generar programas no-bloqueantes.

Existen diversas variaciones de este microcontrolador, tanto módulos como placas de desarrollo de diverso tamaño y funcionalidad.

En Aliexpress tenéis diferentes módulos y placas ESP32 a precios similares ya al ESP8266. El único consejo es que os fijéis bien que es un ESP32, ya que se mezclan entre ellos y podemos equivocarnos al comprar.
Estos usuarios agradecieron al autor Naguissa por el mensaje:
Daniel
Valoración: 33%
Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 484
Registrado: 04 Jul 2016, 11:17
Agradecido: 102 veces
Agradecimiento recibido: 134 veces

Microcontroladores basados en ESP32 -- Tabla de características

Mensaje sin leer por Naguissa »

2. Tabla de características

ESP8266 ESP32
Procesador Tensilica LX106 32 bit 80MHz (hasta 160MHz) Tensilica Xtensa LX6 32 bit single/dual core 160MHz/240MHz
RAM 80KBytes (40KBytes disponibles) 520 Kbytes
Flash Externa, hasta 4MBytes Externa, hasta 16MBytes
ROM interna No 448 Kbytes
Alimentación 3,0V – 3,6V 2,2V – 3,6V
Consumo 80 mA promedio, 225mA máximo 80 mA promedio, 240mA máximo
Consumo modo deep sleep 20uA con RTC 2.5uA, 10mA con RTC y menor de 150uA con el coprocesador ULP y el RTC
WiFi b/g/n WEP, WPA. SoftAP b/g/n WEP, WPA. SoftAP
BT No 4.2 BR/EDR y BLE
Cifrados TLS 1.2 por software AES, SHA, RSA y ECC por hardware
UART 2 (en uno solo puede usarse el Tx) 3
I²C 1 2
SPI 2 4
1-wire Por software Por software
I²S 1 2
IR
GPIO usables 32 11
PWM 8 16
ADC 1 (10 bits) 18 (12 bits)
Temporizadores 3 4 de 64 bits
Extras ADC con preamplificador de bajo ruido hasta 60dB
2 DACs de 8 bits
1 CANBus 2.0
1 Ethernet 10/100 MAC (necesita PHY externo para funcionar)
1 Sensor de temperatura
1 Sensor efecto HALL (proximidad)
Generador números aleatorios
Encriptación de la flash
Arranque seguro
Estos usuarios agradecieron al autor Naguissa por el mensaje:
Daniel
Valoración: 33%
Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 484
Registrado: 04 Jul 2016, 11:17
Agradecido: 102 veces
Agradecimiento recibido: 134 veces

Microcontroladores basados en ESP32 -- Instalación soporte ESP32 Arduino IDE

Mensaje sin leer por Naguissa »

3. Instalación soporte ESP32 Arduino IDE

Las instrucciones para instalar el soporte ESP32 en el IDE Arduino las tenéis disponibles en inglés en su repositorio.

Tenéis instrucciones para Windows, MacOS y varias variantes de Linux.

Aquí os pondré las instrucciones en español, levemente modificadas en algún punto.

- 3.1. Instalación soporte ESP32 Arduino IDE: Linux
- 3.2. Instalación soporte ESP32 Arduino IDE: Windows
- 3.3. Instalación soporte ESP32 Arduino IDE: MacOS
Estos usuarios agradecieron al autor Naguissa por el mensaje:
Daniel
Valoración: 33%
Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 484
Registrado: 04 Jul 2016, 11:17
Agradecido: 102 veces
Agradecimiento recibido: 134 veces

Microcontroladores basados en ESP32 -- Instalación soporte ESP32 Arduino IDE: Linux

Mensaje sin leer por Naguissa »

3.1. Instalación soporte ESP32 Arduino IDE: Linux

Preparativos

Nota: Ejecutaremos los siguientes comandos como el usuario que usaremos para ejecutar el Arduino IDE.


Si usamos un usuario normal (no root), deberemos estar en el grupo dialout para poder usar el puerto serie USB. Ejecutamos como el usuario que deseamos usar:

Código: Seleccionar todo

sudo usermod -a -G dialout $USER

Además, deberemos tener instalados GIT. Si no lo tenemos ejecutaremos:

Debian / Ubuntu:

Código: Seleccionar todo

sudo apt-get install git
Fedora:

Código: Seleccionar todo

sudo dnf -y install git
OpenSuse:

Código: Seleccionar todo

sudo zypper install git

Necesitamos los paquetes Python PIP y PySerial:

Debian / Ubuntu:

Código: Seleccionar todo

wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py && sudo pip install pyserial && rm get-pip.py
Fedora:

Código: Seleccionar todo

sudo dnf install git python3-pip python3-pyserial 
OpenSuse:

Código: Seleccionar todo

if [ `python --version 2>&1 | grep '2.7' | wc -l` = "1" ]; then \
sudo zypper install python-pip python-pyserial; \
else \
sudo zypper install python3-pip python3-pyserial; \
fi

Instalación

Con los siguientes comandos crearemos la carpeta para el soporte del ESP32 en su lugar correcto y descargaremos la última versión del soporte para estos dispositivos:

Código: Seleccionar todo

mkdir -p ~/Arduino/hardware/espressif && cd ~/Arduino/hardware/espressif && git clone https://github.com/espressif/arduino-esp32.git esp32 && cd esp32 && git submodule update --init --recursive && cd tools && python2 get.py
Estos usuarios agradecieron al autor Naguissa por el mensaje:
Daniel
Valoración: 33%
Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 484
Registrado: 04 Jul 2016, 11:17
Agradecido: 102 veces
Agradecimiento recibido: 134 veces

Microcontroladores basados en ESP32 -- Instalación soporte ESP32 Arduino IDE: Windows

Mensaje sin leer por Naguissa »

3.2. Instalación soporte ESP32 Arduino IDE: Windows

Preparativos

Seberemos tener instalados GIT. Si no lo tenemos podemos descargarlo gratuitamente desde: https://git-scm.com/download/win

Puedes instalarlo con las opciones por defecto.


Instalación

Abrimos el programa Git GUI, seleccionamos la opción de "Clone existing repository".
En "Source location" ponemos: https://github.com/espressif/arduino-esp32.git
En "Target directory" ponemos el siguiente directorio dentro de la carpeta hardware de nuestra instalación de Arduino: C:/Users/<TU USUARIO DE WINDOWS>/Documents/Arduino/hardware/espressif/esp32 -- La parte "/espressif/esp32" la escribiremos manualmente, no crees la carpeta al ir navegando con el selector de archivos.

Herramientas extra


Ahora abrimos la carpeta de destino (C:/Users/<TU USUARIO DE WINDOWS>/Documents/Arduino/hardware/espressif/esp32) con el exploreador de Windows.
Pulsamos el botón izquierdo del ratón en una sección vacía del contenido y seleccionamos "Git Bash Here".
En la consola de comandos que aparece ejecutaremos: git submodule update --init --recursive
El paso anterior parece que no hace nada, pero si no hay ningún mensaje es que ha funcionado correctamente.
Ahora, en el mismo navegador de archivos, entramos en la carpeta "tools" y ejecutamos el programa "get.exe". Tarda un poquito pero descarga el compilador y diversas herramientas extra.




Con ésto ya lo tenemos disponible.
Estos usuarios agradecieron al autor Naguissa por el mensaje:
Daniel
Valoración: 33%
Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 484
Registrado: 04 Jul 2016, 11:17
Agradecido: 102 veces
Agradecimiento recibido: 134 veces

Microcontroladores basados en ESP32 -- Instalación soporte ESP32 Arduino IDE: MacOS

Mensaje sin leer por Naguissa »

3.3. Instalación soporte ESP32 Arduino IDE: MacOS

Preparativos

Necesitaremos las herramientas de desarrollo en consola. Podemos instalarlas con el comando: xcode-select --install


Instalación

La instalación es igual que en Linux:

Código: Seleccionar todo

mkdir -p ~/Documents/Arduino/hardware/espressif && cd ~/Documents/Arduino/hardware/espressif && git clone https://github.com/espressif/arduino-esp32.git esp32 && cd esp32 && git submodule update --init --recursive && cd tools && python2 get.py
Este comando supone que tenéis una instalación por defecto de Arduino IDE. Si has cambiado las preferencias de carpetas, puedes ver la carpeta correcta abriendo el IDE y yendo al menú "Archivo" > "Preferencias" > "Localización de proyecto". Entonces deberías cambiar del comando anterior la carpeta "~/Documents/Arduino" por la carpeta que aparezca en el IDE.
Estos usuarios agradecieron al autor Naguissa por el mensaje:
Daniel
Valoración: 33%
Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 484
Registrado: 04 Jul 2016, 11:17
Agradecido: 102 veces
Agradecimiento recibido: 134 veces

Microcontroladores basados en ESP32 -- Actualización del soporte ESP32 Arduino IDE

Mensaje sin leer por Naguissa »

4. Actualización del soporte ESP32 Arduino IDE

Linux

Código: Seleccionar todo

cd ~/Arduino/hardware/espressif/esp32 && git fetch origin && git submodule update --init --recursive && cd tools && python2 get.py

Windows

Abrimos la carpeta de la instalación con un explorador de archivos: C:/Users/<TU USUARIO DE WINDOWS>/Documents/Arduino/hardware/espressif/esp32
Pulsamos el botón izquierdo del ratón en una sección vacía del contenido y seleccionamos "Git Bash Here".
En la consola de comandos que aparece ejecutaremos: git fetch origin
Cerramos la consola y, en el mismo navegador de archivos, entramos en la carpeta "tools" y ejecutamos el programa "get.exe".


MacOS

La actualización es igual que en Linux:

Código: Seleccionar todo

cd ~/Documents/Arduino/hardware/espressif/esp32 && git fetch origin && git submodule update --init --recursive && cd tools && python2 get.py
Este comando supone que tenéis una instalación por defecto de Arduino IDE. Si has cambiado las preferencias de carpetas, puedes ver la carpeta correcta abriendo el IDE y yendo al menú "Archivo" > "Preferencias" > "Localización de proyecto". Entonces deberías cambiar del comando anterior la carpeta "~/Documents/Arduino" por la carpeta que aparezca en el IDE.
Estos usuarios agradecieron al autor Naguissa por el mensaje:
Daniel
Valoración: 33%
Avatar de Usuario
Daniel
Mensajes: 11
Registrado: 16 May 2017, 07:58
Agradecido: 74 veces
Agradecimiento recibido: 9 veces

Re: Microcontroladores basados en ESP32: Configuración Arduino IDE y características

Mensaje sin leer por Daniel »

Vaya trabajazo, ¡gracias!
Estos usuarios agradecieron al autor Daniel por el mensaje:
Naguissa
Valoración: 33%
Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 484
Registrado: 04 Jul 2016, 11:17
Agradecido: 102 veces
Agradecimiento recibido: 134 veces

Re: Microcontroladores basados en ESP32: Configuración Arduino IDE y características

Mensaje sin leer por Naguissa »

Daniel escribió: 27 Jul 2018, 10:10 Vaya trabajazo, ¡gracias!
Sí, mucho curro, pero merece la pena ya que es un muy buen micro.
Estos usuarios agradecieron al autor Naguissa por el mensaje:
Daniel
Valoración: 33%
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje