lunes, 5 de marzo de 2018

Programación directa del módulo ESP8266 con Arduino UNO o NANO

Buenas a todos!!!

Ultimamente no ando mucho por el blog ya que he estado liado con otros proyectos de mi otra web
lamaquetade.infotronikblog.com y un programa para Android llamado DCCpp Cab, para el control de maquetas ferroviarias en sistema digital DCC.


ESP8266 con divisor de tensión en RX
y listo para ser usado como
servidor webSockets

La central utiliza la comunicación serial para recibir y mandar los datos y ahí es donde entra el ESP8266 y aunque ya lo había usado en algunos proyectos tales como:

Pero en todos estos proyectos siempre programo Arduino para que sea él el que se comunica y daba las ordenes al ESP8266 tales como la red wifi, SSID y Password.

De la siguiente manera, todas esas ordenes quedaran guardadas directamente en la memoria del ESP8266.
Manos a la obra, ¿que necesitamos?


Antes de montar ningún circuito, tenemos que instalar en el IDE de Arduino  para ello lo primero es abrir el IDE de Arduino e ir a "archivos ==> Preferencias":




Una vez estemos en Preferencias tenemos que incluir esta URL http://arduino.esp8266.com/stable/package_esp8266com_index.json en el apartado "Gestor de URL's Adicionales de tarjeta" tal y como aparece en la siguiente captura de pantalla:


Clickamos en "Ok" y ahora tenemos que añadir los drivers para el ESP8266, para esto tenemos que ir a "Herramientas ==> Placa: ==> Gestor de tarjetas".


Una vez aquí pondremos ESP en el buscador e instalamos el paquete que esta señalado en la captura: "esp8266 by ESP8266 Community" y lo instalamos.


Una vez hayamos hecho esto, tenemos que reiniciar el IDE de Arduino para que los cambios tengan efecto.

Para este proyecto hará falta también la librería arduinoWebSockets que va a ser la encargada de comunicar el ESP8266 con otros dispositivos mediante el protocolo "ws:// "

Y con esto ya tenemos todo el software necesario para programar la memoria interna del ESP8266. Parece un poco lioso así de primeras, lo bueno es que una vez este todo instalado no lo tendremos que hacer otra vez.

Para poder programar el ESP8266 necesitaremos tener un dispositivo FTDI para poder programar el ESP. 

Cómo en el momento de hacer estas pruebas no disponía de ninguno, he usado el mismo Arduino como puente entre el PC y el ESP8266 quedando de la siguiente manera: 

PC -->Arduino-->ESP8266

 

NOTA: Este es el esquema que me ha funcionado a mí, ya que no disponía de una fuente de alimentación a 3,3v que es casi imprescindible para poder programar correctamente el software dado que la alimentación de 3,3v de Arduino solo da 50mA y el ESP8266 necesita algo más (200 mA) para ser programado correctamente. Además los pines RX y TX funcionan a 5V para la comunicación, con TX no tendremos problemas pero con RX podríamos tener algún problema así que si usas este esquema, queda bajo tu responsabilidad, a mi me ha funcionado.

Una vez tengamos el ESP8266 listo para programar. Ahora solo queda cargar el sketch en el ESP8266, con lo que tendremos que selecciona la placa que necesitemos tal como si fuera un Arduino UNO o NANO, en mi caso estoy utilizando un ESP8266 genérico así que esa es la placa que debo utilizar: "Generic ESP8266 module"


Una vez seleccionada el proceso es el mismo que para UNO o NANO, una vez todo listo pulsamos sobre el botón "subir" y se cargara el programa en la memoria interna del ESP8266:

Bueno hasta aquí llega esta pequeña guía sobre como programar el modulo ESP8266 espero que hayáis tenido suerte con el tema de los voltajes y ya tengáis programado vuestro Sketch.

Fuentes:

Información general: TrainsElectronics.com.

Circuito programador: Github.com (Último comentario).

Saludos!!

2 comentarios :

  1. Respuestas
    1. Buenas, si, aunque puede que lo hayan mejorado desde que publique el artículo. Pero tal y como está, funciona perfectamente, Saludos!!!

      Eliminar