bclose

ESP8266 pluggin para Arduino IDE

Programando el ESP8266 nativo desde el IDE Arduino

 

Objetivos

 

 

    • Viendo el ESP8266 de un nuevo modo.
    • Descargar el ESP8266 Arduino Pluggin.
    • Configurar el entorno.
    • Nuestro primer programa directo en ESP8266.
 

Material requerido.

Empezando de nuevo con ESP8266

 

Después de unas cuantas sesiones con el módulo WIFI ESP8266, parece raro querer decir que vamos a volver a empezar… pero la verdad es que eso es exactamente lo que vamos a hacer en esta sesión.

Antes de que haya estampida hacia la salida, vale la pena comentar que hasta ahora hemos usado el ESP8266 como un pequeño modulo adicional que proporciona WIFI a nuestros muy queridos Arduinos. Hhemos visto como realizar las conexiones, vimos los comandos AT que nos permiten configurar las acciones del WIFI e hicimos varios ejemplos de programación desde el lado Arduino, tratando al módulo como completamente tonto.

Pero queridos amigos, el ESP8266 dispone internamente de un pequeño procesador, que aunque un poco inferior en capacidad y potencia a nuestros Arduinos, prácticamente es capaz de replicar casi cualquier cosa que estos puedan hacer.

Así que de repente para todos los que andáis haciendo proyectos con sensores más Arduinos que envían los datos a la WIFI mediante un ESP8266, es muy probable que podamos ahorrarnos el Arduino en el proceso.

¿Cómo dice? Ya, pero para eso hay que aprender a programar de nuevo el dichoso módulo en un lío de nuevo lenguaje y comandos que requiere un montón de tiempo y de dolores de cabeza ¿Verdad?

Pues no. Y aquí esta lo interesante: Un grupo de benefactores de la humanidad han desarrollado un pluggin para el IDE Arduino, de modo que:

 
  • UNO – Puedes desarrollar con el mismo IDE que ya conoces
  • DOS – Han hecho un Cross compiler, de forma que prácticamente utilizas los mismos comandos que utilizas con Arduino, con lo que te ahorras aprender nada nuevo (Y los dolores de cabeza)
  • TRES – Dependiendo del modelo de ESP8266 que tengas, dispones de más o menos pines disponibles con PWM y otras cosas más como I2C y SPI, pero para el típico  modelo ESP8266-01 ( O sea el que tienes con casi total probabilidad) solo tienes dos pines disponibles GPIO0 y GPIO2, pera ya hablaremos que hay otros modelos con todos los pines disponibles
  • CUATRO – Es decir, que puedes programar el procesador de tu ESP8266 exactamente como si fuera un Arduino con los mismos comandos, y en lo que se refiere a la WIFI, ya puedes olvidarte de los comandos AT, porque incluye una serie de librerías, que imitan la librería WIFI de Arduino con lo que se pueden trasplantar muchos programas 
.

Por eso os decía que vamos a volver a empezar con este módulo porque tendremos que ver, dependiendo del módulo que tengas que pines tenemos disponibles y veremos que módulos son los que tenemos que comprar para obtener el máximo de ellos, especialmente en proyectos donde haya varios sensores emitiendo datos WIFI.

Y lo primero que vamos a hacer es ver cómo podemos instalar el pluggin ESP8266 para nuestro Arduino IDE.

 

Instalando el pluggin ESP8266 en Arduino IDE

 

Hay dos maneras básicas de instalar el pluggin ESP8266. La primera, para cobardes, consiste en descargar un IDE Arduino ya configurado y que podemos instalar en un directorio distinto para que no nos lie nuestro entorno principal y de ese modo convivir con dos versiones hasta que lo tengamos claro.

La segunda, para corazones intrépidos, consiste en descargar el pluggin desde internet a nuestro IDE principal, como corresponde a hombres de pelo en pecho y que sea lo que Dios quiera.

Vamos a empezar por el primer método  y después veremos cómo hacemos para montar el segundo.

 

Descargando un IDE ya configurado 

Tengo que decir que empecé por este método, porque en general me costó un montón encontrar una definición clara de cómo instalar el pluggin directamente en Internet.  Pero descargar un IDE configurado es simplemente cuestión de rebuscar un sitio razonable para descargarlo, a mí me ha ido bien con esta página de GitHub: https://github.com/esp8266/Arduino/releases

Incluye versiones del IDE 1.6.1 para Windows, Mac y Linux. Os descargarais la que más os guste. La descomprimís en un directorio de vuestra elección y ya podéis lanzar sin más el ejecutable de Arduino, que puede convivir con vuestra instalacion principal sin interferencias. Veréis que ya podéis seleccionar una placa Genérica ESP8266 board.

Seleccion del ESP8266

Y seleccionar ahora el puerto COM que corresponda a vuestro adaptador FTDI:

Seleccionar puerto del adaptador FDTI

Y ya estáis listos para programar el ESP8266.

 

Descargando e instalando el plugginESP8266 

Bien, esta segunda opción cuando queráis tener todo integrado, tampoco es especialmente difícil, pero requiere que tengáis la versión 1.6.4 del entorno de desarrollo.

Si no es la versión que tenéis, descargarla de Arduino.cc porque si no, no va a funcionar. El motivo es que la nueva versión de Arduino, permite, precisamente, crear definiciones de nuevas placas e incorporarlas al entorne bajo ciertas condiciones, y el pluggin que vamos a probar es uno de los que cumplen esas condiciones.

Para instalar el pluggin vamos a tener que descargarlo de internet, lo que le va a llevar un ratito (Son como 110 Mb).  Abrid vuestro IDE de Arduino y pinchar en \Archivo\preferencias, os aparecerá algo así:

Gestor de nuevas placas

Fijaros en la parte inferior que pone Additional Boards Manager URLs, y escribid ahí:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

 
  • Se pueden instalar mas de una tarjeta adicional. Si más adelante necesitaseis instalar otras placas, basta con escribáis lo URLs separadas por comas.  

Dadle a OK y volvemos a \Herramientas\placa\Board Manager

Board Manager

Os saldrá algo como esto y tenéis que buscar la línea que dice ESP8266 Comunity version:

Seleccion de placas adicionales

Dadle al botón Install y veréis una barra de progreso a medida que vaya descargando lo necesario. Si volvéis ahora a seleccionar las placas con  \Herramientas\Placas veréis que ya podéis seleccionar las correspondientes al Genérica ESP8266.

 
  • En otro momento nos tocara hablar de los más que interesantes, modelos de Olimex y NodeMCU), que son otros modelos de placas basados en el chip ESP8266 y con sus propias características.  

Como la comunicación con el modulo lo vamos a hacer por la puerta serie, veréis que podéis seleccionar la velocidad en el mismo menú. Preferiblemente a 115.200 y la puerta serie correspondiente. Y con esto ya estamos en condiciones programar nuestro módulo WIFI directamente.

 

Programando el ESP8266 directamente

 

Ya vimos en la sesión previa como debíamos hacer la conexión entre el adaptador FTDI y nuestro módulo WIFI, pero vamos a repetir aquí el diagrama:

Conetando modulo wifi a USB

Es importante insistir en que para programar el modulo (Y para actualizar el firmware) necesitáis colocar el modulo en estado de programación y eso se consigue poniendo a GND la patilla GPIO0.

¿Y qué primer programa podríamos volcar?, Veamos…. Ya esta: EL blinking LED

Vamos a programarlo en la patilla GPIO2, que es la que nos quedaba libre:

void setup()
   { pinMode(2, OUTPUT); }

void loop()
   { digitalWrite(2, HIGH);  
     delay(1000);  
     digitalWrite(2, LOW);
     delay(1000);   
   }

¿Qué os parece? Totalmente Arduino

Si habéis seleccionado correctamente en el IDE la placa, el cargador y el COM, podeis volcar directamente el programa a vuestro ESP8266, poneros cómodos que le va a llevar un ratito.

Veréis unos puntitos avanzando en la parte inferior del IDE y si acabó sin errores el tema está listo.

 

Probando el Blinking LED

 

Hemos programado la pata GPIO2 para controlar el blinking del LED, pero para probarlo necesitamos montar un circuito de ejemplo, porque aparentemente el ESP8266 no tiene ningún LED conectado a sus pines controlables

Por eso vamos a necesitar este montaje:

ESquema protoboard

Si preferís podeis usar el mismo montaje con el adaptador FTDI, pero recordad que tenéis que soltar el cable que une GPIO0 a GND para salir del modo de programación y poder ejecutar el programa interno, y además apagar y encender.

Aqui os dejo un minivideo con el resultado:

 

Resumen de la sesión

 

 

    • Vimos el ESP8266 desde un nuevo punto de vista, como procesador.
    • Hemos visto como disponer del pluggin IDE para este módulo, bien como segunda instalación o bien instalándolo en nuestro IDE normal.
    • Presentamos la configuración básica del entorno para programa directamente el ESP8266.
    • Volcamos nuestro primer programa y probamos el simple Blink LED.

(167) Comments

    • Jose manuel

    en la url para instalar la libreria del esp8266 no aparece la ESP8266 Comunity version. Alguna forma de instalarlo?

    • Stockmanns

    Buenas Tardes, tratando de subir un programa a mi D1 me aparece ese error:
    Opciones de compilación cambiadas, reconstruyendo todo
    exec: “/bin/xtensa-lx106-elf-g++”: file does not exist
    Error compilando para la tarjeta WeMos D1(Retired).
    Tendrias alguna solucion?

    • Parece un problema del compilador. Yo actualizaria a la ultima version de arduino para ver si el problema se corrige

    • Segundo Garcia

    Hola,

    Estoy usando Aduino 1.8.5, estoy intentando instalar el plugin de ESP8266. Haciendo lo siguiente:

    1- File >> Preferences . Aditionl Boards Manager URLs: (http://arduino.esp8266.com/stable/package_esp8266com_index.json) >> OK

    2- Tools >> Boards >> Boards Manager

    Y en este punto en vez de cargarse el ESP8266 para poder instalar esa board. Arduino me da el siguiente mensaje de error:

    Error downloading https://github.com/esp8266/Arduino/releases/download/2.4.0-rc2/package_esp8266com_index.json
    http://downloads.arduino.cc/packages/package_index.json file signature verification failed. File ignored.
    http://arduino.esp8266.com/stable/package_esp8266com_index.json file signature verification failed. File ignored.

    • Hola Segundo,

      Acabo de reinstalr mi arduino 1.8.3 para eliminar restos de viejas historias , y he instalado el pluggin esp8266 sin recibir esos problemas que me comentas. ¿Que version estas usando?

    • Aerify

    Hola buenas,

    ¿no existe posibilidad de quemar el ESP8266 al usar un conversor USB-TTL? Me imagino que tanto la señal RX como la TX irán a 5 V. Igual me equivoco.

    Mil gracias.

    • Hola aerify, Yo tenia ese mismo miedo dado que el esp8266 es un chip de 3,3V. Pero despues de hacerlo unas cuantas veces me quede tranquilo porque hasta la fecha no he quemado ninguno, asi que parece que aguanta los 5V en los pines

    • Micka

    Buena tarde una pregunta, tenia un esp12e pero lo queme por errores mios, ahora me compre otro y como ya tengo el pluggin de arduino instalado por que el anterior funcionaba a la perfección, pues mi duda es que si tengo que volver a instalar todo el pluggin de nuevo o ya se puede programar directamente. Cabe aclarar que algún momento digo que tenemos que dejarlo conectado al momento del cambio de.pluggin en modo programador. Entonces que debo de hacer, se debe de instalar todo de nuevo o que procede

    • Hola Micka, en principio si ya tenias el pluggin instalado deberia funcionarte sin problemas

  • hola, al parecer tengo el esp el 12 . me conecto a el y me acepta los comandos at y todo bien ..solo acepta comunicacion con ip local, no me puedo conectar a el por http solo por tct client.y a traves de su id y pswd ( no las de mi red casera) Las conexiones son las siguientes chd y vcc a 3.5v, los tx y rx a sus respectivos rx y tx en arduino y finalmente gnd y gpio15 a tierra,, ?que podria ser lo que esta sucediendo,, yo en casa tengo el modem principal y un wireles range extender( como repetidor) ,, sera que se programa en un tipo de conexion y para usarlo debe uno desconectar algo ! muchas gracias por toda su informacion..

Give a Reply

WordPress Anti-Spam by WP-SpamShield

¡Ofertón!

Robot Rover 4×4

Ahora por sólo

50€ + IVA

¡Lo quiero!