Está en la página 1de 8

Trabajo de Electiva I.

Tema:
SDK del Módulo ESP8266.

Presentado por:
Cesar David Arroyo Crismat.

Docente:
Luis Fernando Murillo.

Programa:
Ingeniería de Sistemas:

Semestre: VIII.

Corporación Universitaria Rafal Núñez.

Fecha: 28-Abril-2020.

Cartagena de Indias D.T. y C.


Programación ESP8266 con IDE Arduino
Hemos visto como realizar las conexiones y vimos los comandos AT que nos
permiten configurar las acciones del WIFI. El ESP8266 dispone internamente
de un pequeño procesador, prácticamente es capaz de replicar casi cualquier
cosa los Arduinos puedan hacer. Así que los 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.
Gracias a un firmware basado en C ++, permite que la CPU ESP8266 y sus
componentes Wi-Fi sean programados como cualquier otro dispositivo Arduino.
 Puedes desarrollar con el mismo IDE que ya conoces
 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
 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 modelo ESP8266-01 solo tienes dos pines disponibles
GPIO0 y GPIO2
 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, 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
reutilizar muchos programas.  
El Arduino Core ESP8266 está disponible a través de
GitHub: https://github.com/esp8266/Arduino
Wiki de la comunidad esp8266:https://github.com/esp8266/esp8266-wiki/wiki
Este SDK para Arduino incluye el compilador GCC para el microcontrolador LX106 usado en
este módulo Incluido en el SDK están las fuentes para SSL, JSON y lwIP,
haciéndolo una solución perfecta para Internet de las Cosas.
Este SDK incluye códigos de ejemplo para usar con los pines libres como
buses GPIOs, I2C y SPI y como UART
lwIP:
 https://savannah.nongnu.org/projects/lwip/
 http://www.nongnu.org/lwip/2_0_x/index.html
 https://en.wikipedia.org/wiki/LwIP
El SDK de ESP8266 para Arduino salio de la comunidad
en http://bbs.espressif.com/ y del foro de la
comunidad http://www.esp8266.com/

Página 2|8
Reference de Arduino core para el ESP8266:
 http://arduino.esp8266.com/versions/1.6.5-1160-
gef26c5f/doc/reference.html
 http://esp8266.github.io/Arduino/versions/2.3.0/doc/reference.html
Además el manejo del wifi con la librería ESP8266WiFi.h cuyo código se puede
encontrar
en https://github.com/esp8266/Arduino/tree/master/doc/esp8266wifi se hace de
una forma similar a la librería WiFi de
Arduino https://www.arduino.cc/en/Reference/WiFi
Toda la documentación del soporte de Arduino core a ESP8266:
https://github.com/esp8266/esp8266-wiki/wiki
https://github.com/esp8266/Arduino/tree/master/doc
Para usar el SDK de ESP8266 para Arduino debemos instalar el soporte a
terceros en nuestro IDE simplemente añadiendo el texto
“http://arduino.esp8266.com/stable/package_esp8266com_index.json” en
propiedades:

Página 3|8
Y luego desde el gestor de tarjetas dar a instalar al soporte para ESP8266.

ESP8266
Community: http://arduino.esp8266.com/stable/package_esp8266com_index.js
on
 Generic ESP8266 modules
 Olimex MOD-WIFI-ESP8266
 NodeMCU 0.9 (ESP-12)
 NodeMCU 1.0 (ESP-12E)
 Adafruit HUZZAH ESP8266 (ESP-12)
 SparkFun Thing
 SweetPea ESP-210
 WeMos D1
 WeMos D1 mini
Para instalar el Arduino Core ESP8266 en nuestro IDE de Arduino seguir las
instrucciones: http://www.instructables.com/id/Setting-Up-the-Arduino-IDE-to-
Program-ESP8266/?ALLSTEPS
IMPORTANTE: Cuando cargas un sketch en el ESP8266 con el IDE Arduino
estamos cargando en la flash de ESP8266 un nuevo firmware borrando el que
viene por defecto visto anteriormente para manejar el módulo con comando
hayes.
Otras características de este soporte:
 Actualización OTA
 Soporta muchas de las librerías de Arduino y otras librerías hechas por
terceros está ya adaptadas para usar con el ESP8266.
Página 4|8
Más información:
Wiki: https://github.com/esp8266/esp8266-wiki/wiki
 https://learn.adafruit.com/adafruit-huzzah-esp8266-breakout/using-
arduino-ide
 https://learn.sparkfun.com/tutorials/esp8266-thing-hookup-
guide/installing-the-esp8266-arduino-addon
 http://www.prometec.net/esp8266-pluggin-arduino-ide/
 http://www.prometec.net/esp8266-con-arduino-ide/
 http://hackaday.com/2015/03/18/how-to-directly-program-an-
inexpensive-esp8266-wifi-module/

Programar el módulo ESP-01 con Arduino.


Es posible programar el módulo ESP-01 sin necesidad de un programador
externo usando un Arduino. Para ello nos valemos del microcontrolador
ATmega16U2 para programar y conectar por USB el módulo ESP8266 ESP-01
que disponemos.

En este esquema estamos conectando directamente los puertos Tx y Rx del


ATmega16u2 con los del ESP8266 (puertos serie), de forma que el
ATmega16U2 me hace de conversor USB a TTL para poder acceder al
ESP8266 desde USB. Debe tenerse en cuenta que el ATmega328p de Arduino
también está conectado a Tx y Rx, por lo que habrá que tener cargado algún
programa que no use la UART de Atmega328p (cualquiera que con tenga
Serial.begin)
También se puede usar un adaptador FTDI. Conectar al programador FTDI
como hemos visto anteriormente. Pero para programar el módulo (Y para
Página 5|8
actualizar el firmware) necesitáis colocar el módulo en estado de programación
y eso se consigue poniendo a GND la patilla GPIO0.

Vamos a programar el blink de Arduino en la patilla GPIO2, que es la que nos


queda libre:
1 void setup()
2    { pinMode(2, OUTPUT); }
3  
4 void loop()
5    { digitalWrite(2, HIGH); 
6      delay(1000); 
7      digitalWrite(2, LOW);
8      delay(1000);  
9    }
Para probarlo.

Página 6|8
IMPORTANTE: Al cargar un programa pierdo el firmware original.
Más información:
 http://www.prometec.net/esp8266-pluggin-arduino-ide/
 http://www.prometec.net/esp8266-con-arduino-ide/
Veamos los ejemplos de ESP8266 que vienen en el soporte para el IDE de
Arduino, usando la librería ESP8266WiFi.h:
Blink
 ESP8266Wifi/Wifiscan: Scan networks
 ESP8266Wifi/WifiClient Conectar a wifi
 ESP8266WebSerber/HelloServer: Servidor web wifi
 ESP8266Wifi/WiFiAccessPoint: punto de acceso wifi
El reference para programar:
 https://github.com/esp8266/Arduino/tree/master/doc
 El reference de wifi es similar
a https://www.arduino.cc/en/Reference/WiFi [1]

Página 7|8
Bibliografía.

[1] “Programación ESP8266 con IDE Arduino | Aprendiendo Arduino.”


https://aprendiendoarduino.wordpress.com/2017/09/13/programacion-esp8266-con-
ide-arduino/ (accessed May 28, 2020).

Página 8|8

También podría gustarte