Instalando el ESP32

Objetivos

 

  • Vamos a Presentar el ESP32.
  • Es el nuevo procesador de espressif los autores del Esp8266.
  • Veremos que es un chip de unas prestaciones impresionantes.
  • Describiremos sus principales características.
  • Veremos como instalar el soporte ESP32 en el IDE Arduino
  •  

    Material requerido.

    vista lateral del esp32  Un módulo ESP32

     

    Procesador ESP32

     

    En esta humilde casa somos muy partidarios y entusiastas del NodeMCU que incluye un chip Esp8266 12E y que recomendamos habitualmente a quién quiera iniciarse en el mundillo de la IOT y las comunicaciones WIFI

    Este chip hace ya unos años que se encuentra entre nosotros y siempre ha sido una de las formas mas sencillas y baratas de proporcionar WIFI a nuestros Arduinos. Lo curioso es que la comunidad ha desarrollado un pluggin que lo convierte ademas en un procesador compatible arduino que incluye WIFI siendo ademas compatible con las librerías oficiales

    No vamos a insistir mas con este asunto sobre todo cuando podéis encontrar abundantes tutoriales al respecto en nuestra sección de comunicaciones.

    Pero ya hace un año que salió un nuevo chip de espressif llamado ESP32 que es el sucesor del Esp8266 (Que no sustituto) con una serie de especificaciones impresionantes, y hemos estado esperando a que se estabilizase un poco el software necesario para que lo pudiésemos usar.

    Imagen lateral

    Aun esta un poco verde el asunto pero no puedo resistirme a presentaros el módulo porque es una autentica bomba y algo que solito puede soportar la IOT sin despeinarse.

    Vereis que aun hay cosas que aun estan en fase de desarrollo como iremos viendo, pero creo que ya es el moemento de que en esta caso hagamos la presentacion del ESP32 porque creo que os va a gustar.

     

    Especificaciones del ESP32

     

    El ESP32 es un procesador del fabricante chino Espressif que viene con unas especificaciones espectaculares:

  • Procesador dual core Xtensa® LX6 de 32 bits
  • Es compatible Arduino con el pluggin adecuado (Enseguida vamos)
  • Velocidad de reloj : Entre 160 Mhz y 240 Mhz
  • 520 Kb de RAM
  • Wifi integrado: Acces point & Station
  • Bluetooth 4.2 2.4 Ghz; BT 2.0 y 4.0 BLE
  • 36 GPIO pins.
  • 16 x Analog-to-Digital Converter (ADC) de 12 bits de resolución y se pueden programar con límite de entrada a 1V, 2 V y 4V
  • 2 x Digital to Analog converter DAC de 8 bits.
  • Pueden definirse hasta 16 canales de PWM.
  • 2 x UART o puertas serie
  • 2 x I2C channels y 4 x SPI channels.
  • La cosa sigue pero mejor lo dejamos aquí para no asustar. [/fancy-ul] [/three-fourth]
  •  

    Como podéis ver, es difícil no sentirse impresionado por la potencia de esta pequeña bestia. Aquó os dejo el patillaje (PinOut)

    Detalle de los pines

    Aunque desde el interface Arduino no podremos sacar ventaja al doble procesador, disponer de un Arduino con WIFI y Bluetooth incluidos y velocidad de 160 MHz es una ventaja que no podíamos dejar pasar.

  • Parece que uno de los procesadores se dedica a gestionar la pila WIFI o Bluetooth por lo que tampoco aparecerá en el futuro la posibilidad de ver este chip como un doble Arduino.
  • Pero si que se puede acceder al doble nucle desde RTOS (Si no te suena , ignóralo directamente)
  • Existe un modelo que aún no he recibido que además dispone de modem LORA (Del que ya hablaremos) con lo que tenemos un monstruo para la IOT por un precio ridículo.
  • También existe una versión de micro Python para este módulo, que espero instalar y pasaros el parte en cuanto tenga ocasión.[/fancy-ul] [/three-fourth]
  •  

    Pero es que además disponemos de múltiples convertidores Andalogio a digital de 12 bits de resolución y dos convertidores de digital a analógico (Para temas de audio supongo)

    No hay en el mercado nada similar y menos por ese precio. Así que no hay que ser un genio para augurar un futuro muy brillante a este chip y al su fabricante chino.

     

    Instalando el ESP32 en el IDE Arduino

     

    Cuando instalábamos el pluggin del ESP8266 en Arduino bastaba con usar el gestor de tarjetas y especificar una dirección web para descargar los controladores.

    Lamentablemente el desarrollo del entorno Esp32 aún no ha alcanzado el grado de madurez preciso, y tenemos que hacer alguna gestiones un tanto raras para los no acostumbrados a los tool chains de desarrollo, pero que os aseguro que es más sencillo de lo que inicialmente parece y si seguís esta guía os encontrareis enseguida jugando con el ESP32

    Para empezar necesitamos tener instalado el Python 2.7; Para ello ya escribimos una pequeña guía cuando hablamos del micro Python en el Esp8266 que sigue siendo válida: Instalar Python 2.7 en Windows

    Necesitamos también descargar las ultimas versiones del código del emulador Arduino para el ESP32 y para ello tenemos que descargar e instalar el entorno gráfico de GIT.

  • GIT es un repositorio organizado de código en desarrollo que contiene copias de casi cualquier cosa que se te ocurra y de prácticamente cualquier cosa que tenga un mínimo de interés y sea de interés general, donde los programadores voluntarios van creando y depurando sus cosas.
  • El interface Arduino para ESP8266 y ESP32 son un par de magníficos ejemplos de las cosas que podemos encontrar
  •  

    Vamos a descargar el gestor de GIT desde aquí. Ejecuta el programa una vez descargado y veras algo así:

    Panel frontal de GIT for windows

    Pincha en la segunda opción: Clone existing repository.

    Tienes que decirle ahora que te baje el código del esp32 a tu pc, y para ello debes indicarle que el repositorio de origen es:

    https://github.com/espressif/arduino-esp32.git

    Y el destino va a ser la dirección de tu directorio Arduino, que normalmente será mis documentos\Arduino mas la dirección donde queremos que lo ponga que debe ser /Arduino/hardware/expressif/esp32.

    En mi caso va a quedar así:

    C:\Users\charl\Documents\Arduino\hardware\espressif\esp32

    Pero en tu caso tienes que asegurarte de ponerle el path correcto de tu directorio Arduino:

    Clonando el repositorio de esp32

    Ahora basta con que pulses el botón Clone y empezara a descargar el código a tu PC.

    Cuando finalice el clonado (O sea, que se descargue todo lo que hay en GIThub sobre el tema que has elegido) tienes que ejecutar  un programita llamado get que encontraras en el directorio tools:

    Muestra la estructura de directorios del repositorio ESP32 en GIThubMuestra la estructura del repositorio esp32 en github

    Hazle un click click y tardara un ratito en descargar y lanzar varias cosas al cabo de las cuales ya estarás listo para jugar con tu flamante esp32

    salida a consola

     

    Comprobando la instalación

     

    Vamos a comprobar que todo ha ido bien y que podemos seleccionar nuestro módulo ESP32. Arranca tu IDE Arduino y empieza por conectar tu Node32. Vamos a seleccionar el procesador.

    Si todo ha ido bien veras que hay una nueva sección de placas con múltiples modelos basados en el chip ESP32:

    Seleccion de modulos esp32

    En mi caso el modelo «ESP32 dev module» me ha ido bien con el típico Nodemcu32 de nuestra tienda, Selecciona el puerto serie y ya estamos listos para probar nuestro primer programa.

    Vete a ejemplos y encontraras un buen montón de programas de prueba para tu esp32. Carga:

     \\Ejemplos\ESP32\ChipID\GetChipID

    Compílalo, pero pon a 115200 baudios la consola de Arduino. EL programa te devolverá un identificador interno del chip que solo sirve para comprobar que todo funciona.

    Si quieres hacer un Blinking Led (Que asombrosa originalidad) tienes que saber que en nuestro modulo, el LED está en el GPIO 1:

    int ledPin = 1;
    
    void setup()
    {      pinMode (ledPin, OUTPUT);
           Serial.begin(115200);
           Serial.println(LED_BUILTIN);
    }
    
    void loop() 
    {  digitalWrite (ledPin, HIGH);
       delay(1000); 
       digitalWrite (ledPin, LOW);
       delay(1000); 
    }

    En las proximas sesiones procuraremos hacer algun programa mas interesante, lo prometemos. El Esp32 tiene mucho que ofrecer pero creo que ya basta por Hoy

     

    Deja una respuesta