bclose

Modelos ESP8266

Las muchas variantes de este integrado

Objetivos

.

 

    • Presentar las redes Ethernet.
    • Presentar el TCP/IP.
    • Describir una red de transporte.
    • La configuración del IP.
    • Algunos conceptos y descripciones precisas para entender el acceso a una red Ethernet.
 

Material requerido.

Taza de café

 Uno con leche y mucha calma.

Acerca del WIFI ESP8266

 

No hay duda de que el módulo WIFI ESP8266 es uno de los componentes que más ruido están generando en los ambientes de IOT, Arduineros y aficionados varios a los diferentes micro controladores disponibles en el mercado.

En esta humilde casa, llevamos varios tutoriales acerca de este módulo. Hemos intentado presentároslo desde distintos puntos de vista. Primero como adición a nuestros Arduinos y después mostrando su propio procesador interno.

Pero si hacéis una búsqueda en Internet encontrareis con rapidez que el número de módulos, breakouts, adaptadores y variantes del ESP8266 alcanza cantidades mareantes y entender las diferencias entre unos y otros es una tarea complicada y que, sobre todo, requiere mucho más tiempo del que sería razonable.

De hecho, este es un tema, el de las diferencias entre las múltiples variantes del ESP8266, sobre el que recibimos bastantes consultas, y por vamos a dedicar esta sesión a ver las similaridades y diferencias entre los varios modelos y qué interés tiene unos y otros.

No vamos a intentar que esto sea un informe exhaustivo, porque sencillamente el número de modelos cambia día a día y peor aún salen variantes y modificaciones a diario. Y mas importante aún, al final las diferencias son basicamente el numero y tipo de pines disponibles.

Por si esto no fuera bastante follón para un Arduineros que busca comprar un ESP8266, existen varios firmwares corriendo por ahí, cada uno con sus manías y peculiaridades.

Por eso os pusimos una sesión anterior mostrándoos la forma de actualizar el firmware a una versión estable y más o menos oficial, de modo que estéis seguros de cómo responde vuestro modulo.

Esperamos que esta pequeña aportación sirva para aclarar un poco este asunto y os sirva para decidir lo que os interesa en un momento dado.

 

El chip ESP8266 en sí mismo

 

Tenemos que empezar hablando de lo que el chip integra por sí mismo, independiente de los montajes que el mercado nos suministra.

Detalle del chip

Lo primero que tenemos que comentar es que este chip es una pequeña maravilla tecnológica. Está diseñado y pensado para ser la solución ideal para todo el que necesite un “Todo en uno WIFI” para proyectos de hobby, IOT o producto comercial sin complicaciones. Y mas importante, lo consigue.

Ya sabemos que incluye todo lo necesario para conectarse a la WIFI y un procesador interno que hace ruborizarse a nuestros queridos Arduinos (Que san Banzi me perdone).

Los números:

 
  • Procesador interno de 32 bits a 80 MHz y se le puede subir hasta 160Mhz.
  • 80K de DRAM.
  • 35K de IRAM , memoria rápida para el procesador.
  • 1 Mb de memoria Flash para nuestros programas.
  • Stack TCPIP WIFI a 2.4 Ghz.
  • 30 Metros de alcance teórico.
  • 16 pines GPIO programables disponibles.  

Y en cuanto a las características

 
  • Full TCPIP stack incluido.
  • Gestión completa del WIFI con amplificador incluido.
  • 802.11 protocol y Wifi Direct (P2P) Soft-AP.
  • Regulador y unidad de alimentación incluidos.
  • Consumo en reposo <10 mW.
  • Soporta antena externa para mayor alcance.
  • Soporta el bus SPI.
  • 1 entrada analógica (Muy mal documentada)  

 

Variantes y modelos del ESP8266

 

Antes de empezar conviene destacar que todas las variantes del módulo WIFI, disponen del mismo procesador interno que es el ESP8266. Las diferencias no vienen de diferentes integrados (Hasta donde yo conozco) sino del montaje que hacen los proveedores en distintos formatos y configuraciones.

Es decir el chip siempre es el mismo, pero según el soporta en que lo montan pueden sacar más o menos pines al exterior, lo que no deja de ser una curiosidad teniendo en cuenta la cantidad de modelos que se ofertan.

 

 ESP8266 modelo ESP-01  

Este modelo es el más frecuente de encontrar. Es el que hemos usado en nuestros tutoriales hasta la fecha y por defecto trae el firmware que permite conectarlo al puerto serie de nuestros Arduinos y aceptar comandos AT.

Modelo ESP8266
Esquema pinout

La virtud de este modelo es que incluye un par de pines digitales disponibles GPIO0 y GPIO2, pero si al arrancar el modulo el GPIO0 está a GND, entra en modo de programación por lo que no conviene usarlo como entrada sino solo como salida.

Además las patillas no sirven para protoboard, lo que es un auténtico asco y el mayor defecto de este módulo. Venden adaptadores por ahí, para protoboard pero suelen costar más que el propio modulo.

 

ESP8266 modelo ESP-02 

detalle
detalle de conexiones

 

Tiene 3 pines digitales al exterior GPIO0, GPIO2, y GPIO15 y además acepta una antena WIFI externa lo que le hace muy interesante, para montajes que requieran alcance de la señal WIFI.

No está muy claro si se puede montar en protoboard, porque no he encontrado confirmación, pero tiene dimensiones reducidas y eso siempre viene bien para cualquier invento.

 

ESP8266 modelo ESP-03 

ESP8266 detalle
detalle de patillas
Es uno de los módulos más interesantes porque dispone de más pines que el ESP-01, Saca los pines GPIO 2, 12, 13, 14, 15,16 e incluye una antena cerámica.

Siguiendo la costumbre de marearnos, este módulo tampoco puede conectarse a la protoboard directamente y necesita un adaptador

 

ESP8266 modelo ESP-05 

ESp8266 modelo ESP-05
detalle de pines

Su mayor interés es para usarlo con Arduino y otros micros como un simple módulo WIFI con comandos AT. No extra ningún pin GPIO y viene con conectores supuestamente capaces de encajar en la protoboard (Sin confirmar)

También se puede usar como un mini procesador que saca los pines de comunicación al exterior, lo que tiene su interes, porque s esueleencontrar por 3 o 4 euros.

 

ESP8266 modelo ESP-12 

Variante ESP8266
Detalle de pines

 

Este es probablemente uno de los modulas más interesantes, porque te da acceso a todos los pines del ESP8266, 11 GPIOs más 1 convertidor analógico a digital con antena integrada y buen alcance.

Como siempre su mayor defecto es que no puede insertarse en protoboard para pruebas, pero existen, naturalmente, adaptadores para ello.

Ha sido el modelo estrella hasta hace unos pocos meses que aparecieron los modelos de Olimex y NodeMCU, y es un modelo de lo mas interesanta para incluir en producto final si necesitas mas pines de las que dispone el ESP-01, pero para hacer prototipos sigues necesitando un adaptador FTDI a USB.

 

ESP8266 NodeMCU 

Node MCU board

NodeMcu son una iniciativa open Source para el desarrollo de un modelo sencillo de integrar la IOT en donde haga falta. Para ello desarrollan modelos de hardware y software que facilite el desarrollo de programas y aplicaciones basados en WIFI.

Aquí tenéis su página por si queréis ver lo que hacen NodeMCU.

Su último modelo basado en el ESP8266 es una joyita que no podéis ignorar  Todos los pines disponibles del ESP8266 disponibles en el exterior, en un montaje que se puede colocar en una protoboard (Si, por fin) y además incluye un conector mini USB para programar el chip interno y comunicarse con el PC si es necesario, con lo que nos evitamos el adaptador FTDI a USB que siempre es engorroso.

Además soporta, tanto el modo Arduino o un modo propio de desarrollo con un lenguaje reminiscente de Basic que pueden ser cargados mediante actualizaciones firmware.

 
  • Aseguraros de que buscáis el modelo V1.0 y no aceptéis versiones previas que el cambio ha sido enorme y para mejor.  

Acabo de recibir un par de estos módulos recientemente y si el verano no lo impide, espero poder postear alguna sesión con ellos para ver el resultado que dan.

Si se confirma que se puede programar como un Arduino mediante el pluggin ESP8266 y que además tenemos todos los pines disponibles, puede ser el Arduino que llevamos mucho tiempo esperando con WIFI incluido por un precio ridículo además. Ya os iré contando cómo va el asunto.

No dejaría de ser un sarcasmo, que el modelo mas interesante de Arduino con WIFI incluida fuera un modelo no oficial con un pluggin desarrollado por voluntarios, a los que dedicamos nuestros mas sinceros agradecimientos, y por si fuera poco, uno de los mas baratos.

 

Resumen de la sesión

.

 

 

    • Hemos presentado las características internas del ESP8266.
    • Vimos diferentes modelos y variantes de este modulo.
    • Presentamos el muy interesante diseño de NodeMCU, que esta dado a dar mucha guerra si es lo que promete.
 

 

 

 

 

(25) Comments

  • Hola a todos desde Colombia, cada día más impresionado positivamente con los buenos aportes y la calidad de la página. Retomando este tema, quiero utilizar el módulo NodeMCU ver 1.0, un sensor LM35 y el LCD Keypad Shield para visualizar la temperatura. Por Monitor Serie puedo visualizar la temperatura sin problema, se me complica es para utilizar el LCD, no he podido lograr ni un “hola mundo”, agradezco si me pueden ayudar al respecto, tengo una confusión con los pines SDA y SCL. Saludos y gracias.

    • Hola Andres, siempre es un placer hablar con gente del otro lado del mar. Te recomendaria que usaras en lugar del shield que siempre es mas engorrosos un simple display 16×2 con I2C ya que entonces solo tendrias que manejar dos pines y se te simplificaria mas que el engorro de los multiples pines del shield

    • Edwtron

    Muchas gracias por esos artículos tan interesantes y útiles!!

    Para que quede confirmado el modelo ESP-05 se puede montar en el Board y es muy fácil de usar, solo tiene 5 pines y el Reset se debe conectar a 3,3 VDC. Los pines son (+3,3V, TX, RX, GND, RST).
    La velocidad que viene por defecto es 115200 y por ahora funciona muy bien.

    • Juanjo

    Hola!

    Me gustaría saber como se puede identificar el modelo NodeMCU más nuevo, el v1.0 que dices. Yo los veo todos iguales, excepto que unos lleva el CH340 y otros el CP2102.

    Alguna indicación ?

    Gracias!

    • Hola Juanjo, Bueno tiene mas que ver con una guerra comercial que con otra cosa. EL modelo de NodeMCU es ligeramente mas pequeño de tamaño que el V3, pero son completamente equivalentes porque ambos usan el mismo chip ESP-12E y hasto donde se todos usan el CHG340/41 como controlador de USB

  • Muchas gracias de nuevo,voy a ponerme con ello,y ya te informaré.
    Un abrazo,y me imagino,que no sólo a mí,sino a unos cuantos,nos “debes”,un tuto de Blynk.
    Saludos.

  • Gracias por tu respuesta.Tengo instalado el pluggin del esp8266 en el arduino ide.Mi primera duda es,que si tengo un Esp8266-01,con nodemcu 0.9.5,a la hora de programarlo,que board elijo?,el genérico,u otro que lleve el nodemcu?.Ya se que con el 01,solo tengo 2 gpios,pero es el que uso para pruebas.Actualmente,lo tengo programado con un script LUA,con el cual controlo dos relés,a través de Internet,y sobre cuyo proyecto,ya solicité tu ayuda a través de youtube.Si programo un sketch con arduino,y lo subo,(sin flashear),este solamente sustituirá el script de Lua?.Si mi módulo tiene 1MB,le puedo poner 512K de SPIFFS?.
    Gracias por tu atención.

    PD:Ya me imagino,que tienes que estar más liado,que un plato de spaguettis,pero dado mi nulo conocimiento de cualquier lenguaje de programación ,estaría más que entusiasmado,con un tiro pasó a paso con Blynk.

    • hola jose, no tienes mas que programar tu esp01 con tu programa arduino y este dlimonara no solo el programa lja sino tambien elinterprete lua y se clmñartara clmo un arduinp nlrmal

      para saber que modelo de ardjino elegor revisa el tuto de como knstalarel pljggin y encontrarasun ejemplo completl de todo

      coincido contogo en que el blynk es de lo mas ingeresante y se merece un par de sesiones

  • Saludos.Antes de nada,felicitarte por tus articulos,que me han ayudado mucho con los esp.Voy a empezar con una aplicacion para smartphone,que se llama Blynk,la cual usa el arduino ide para programar el modulo.Si no me he enterado mal,si tengo un esp con nodemcu,en este caso v.0.9.5,lo puedo programar directamente,con el arduino ide.Me gustaria si puedes,me confirmases este punto,y si es cierto, a ver si puedes aclararme algo.El ESPlorer,me dice que tengo un esp8266 con 8mbits,o sea 1MB,QIO,80Mhz,cristal a 26Mhz.Mi duda es como configurar,en el ide de arduino,el esp8266 generic board,sobre todo ,lo que se refiere a tamaño de la memoria SPIFFS,para la cual y con 1MB,hay seis o siete opciones.
    Gracias de antemano.

    • Hola Jose, Vamos por partes: El blynk e suna utilidad preciosa a la que tengo muchas ganas de hacer algun tuto, pero como siempre tenemos el problema del tiempo, de su falta mas concretamente, jajajajaja

      Para programar tu nodemcu con arduino tienes que instalarle el pluggin arduino, lo que elimina el software interno de LUA, pero ahora se comporta ya casi como un arduino con shield WIFI. En la seccion comunicacion/esp8266 tienes un tuto de como instalar este pluggin y tambien tienes otro tuto sobre como usar el nodemcu

    • Alejandro

    Hola, soy estudiante de robótica y sigo tus tutoriales muy a menudo para mis proyectos de clase. Ahora tengo en mente un proyecto personal y quería hacerte una pregunta.
    Quiero controlar a través de wifi un emisor de infrarrojos, y en principio había pensado en un EPS8266, un arduino NANO y una aplicación web alojada externamente (para hacerla más bonita) que enviara comandos AT al conjunto. Pero al leer que un ESP8266 NodeMCU puede programarse como un arduino me he preguntado si podría ahorrarme el propio arduino y trabajar sólo con el módulo MCU. El precio al final es casi el mismo, pero si funciona bién con 1 sólo cristal, mejor que mejor.
    Espero que me hayas entendido y muchas gracias por tus tutoriales, un saludo!

    • Hola Alejandro,
      Si vas a usar un esp8266 no tiene mucho snetido añadir ademas un arduino ya que el primera dispone de un procesador propio que puedes usar para tu proyecto, de hecho si quieres abaratar y un pin es suficiente podrias usar n esp8266-01 cuyo mayor problema es que lo pines no se pueden encajar en una protoboard

  • Hola! por lo que veo ya te compraste los modulos 7 y 12! Tal vez me puedas resolver una duda… estoy trtando de comunicar por I2C al esp8266 con un arduino (sin programador).
    Para ello uso los pines 5 y 4 del esp; como tienen diferentes voltajes use un convertidor bidireccional I2C que serian dos transistores y pullup. Genial, quiero usar el esp como receptor, el arduino le manda numeros y quiero que el esp lo reciba y como que no anda….

    use la libreria wire, en el receptor envio al esclavo 8, en el receptor puse wire.begin(8)
    bueno, y las correspondentes conexiones. Señal hay, la vi en el osciloscopio, y probe el sketch entre dos arduinos y anda barbaro… alguna idea?

    • Hola Franco, el unico uso que he hecho des I2C con ESP8266 ha sido con ese ejemplo que os puse de manjear un display LCD y hubo algunas cosas que no vi claras. De todos modos si quieres comunicar de modo simple el esp con el ARduino p¿Porque no pruebas con el puerto serie? paraece mas facil

    • GOchispaGO

    La verdad que esto del IoT va muuuuiy rápido!!!

    Y ahora el D1Mini de WeMos en su tienda oficial de Aliexpress, bien creo que se merece un hueco entre éstos tutoriales jejeje

    Solo 3,65€:
    http://s.aliexpress.com/ze26Rfmu

    Con shield DHT 5,47€:
    http://s.aliexpress.com/FfiQZ3AB

    • Juan

    Hola Fran,
    Yo también estaba como tú, tras muchas pruebas me di cuenta que el pin GPIO15 siempre tiene que estar a GND y el EN a +3.3v. A mí me funcionó con 115200. Si quieres flasearlo tienes que poner el pin 0 a masa antes de alimentar, y los demás pones como te he dicho antes. Espero que te sirva.
    Un saludo

    • Fran

    Hola crack!

    Tengo un ESP12 y soy incapaz de que me salte el ready en la consola. Puede ser que tenga que flashearlo con algún firmware? Me lo vendieron como un ESP 12E, pero en el módulo pone ESP-12-Q. Quizás estoy haciendo algo mal, pero he probado tantas cosas que me parece extraño. Sigo el ejemplo que haces tu con el ESP 01. Conecto RX y TX a los pines 2 y 3 de Arduino. VCC Y CH_PD (en el mío se llama “EN”) a VCC, y GND a ground. Uso un alimentador externo que (en teoría) sale a 3.3V (alimentado por USB)

    A ver si puedes echarme un cable porque no consigo ni que me salte el “Ready” jejeje

    • Hola Fran
      Yo no tengo un ESP12, pero me he conseguido un par de NodeMcu Amica que deberia ser lo mismo… y me tiene mareado. No soy capaz de hacer ni el BlinkingLed, porque aunque me deja volcarle el programa no me hace ni puñetero caso.
      Y aun peor, no parece que en internet haya mucha informacion de como usarlo con Arduino. Todo lo que encuentro es sobre el NodeMcu mode, asi que voy a serte de muy poca ayuda por ahora.
      Quizas si algun alma caritativa tiene unode estos y se apiad de nosotro, podamos avanzar algo.
      Un saludo

  • Saludos…..

    ¿que te parece este módulo, esp-201?

    Tiene bastantes pines y ya soldados, que para mi es un mundo XD

    http://es.aliexpress.com/store/product/ESP8266-Serial-Port-WIFI-Wireless-Transceiver-Send-Receive-Module-IO-Lead-Out-ESP-201/221555_32268281500.html

    • Este post se me habia ido a la carpeta de spam sin saber porque y por eso no te habia respondido.
      Me imagino que a estas alturas la respuesta ya la tienes en la sesion que habla d elos distintos modelos de esp8266

  • ¿como ves este módulo,el esp-201?

    Lo digo porque tiene bastantes pines y ya vienen soldados, que para mi es un mundo XD

    http://es.aliexpress.com/store/product/ESP8266-Serial-Port-WIFI-Wireless-Transceiver-Send-Receive-Module-IO-Lead-Out/110055_32267419121.html

  • Hola a todos. Estaba un poco reacio a estos módulos, pues con la shield Ethernet me basto, pero en vista de lo que son capaces de hacer, y con los modelos que tienen los pines accesibles, y que encima es barato, creo tarde o temprano terminaré sucumbiendo a la tentación (aunque sea para probarlo).
    Muy buenos los tutoriales, como ya nos tienes acostumbrados…

    Saludos.

    Suso.

    • jajaj, es lo que tiene estos modulos que son tan baratos y potentes que es dificil resistirse.
      Yo estoy ahora probando el modelo ultimo que os pongo el de olimex que tiene todos los pines accesibles y ademas un micro USB, pero me esta mareando porque no consigo programarlo y no parece quie hay mucha documentacion.
      Ya os contare mas

  • Un artículo muy interesante, como siempre. Nos estás acostumbrando mal 😉

Give a Reply

WordPress Anti-Spam by WP-SpamShield