Servidor Web ESP8266
Servidor Web ESP8266
Características
• CPU RISC de 32-bit: Tensilica Xtensa LX106 con un reloj de 80 MHz. El reloj de
la CPU y la memoria flash puede duplicarse por overclocking en algunos
dispositivos. La CPU puede funcionar a 160 MHz y la memoria flash puede
trabajar entre 40 MHz y 80 MHz. Varía según la versión del chip.
• RAM de programa de 64 KB, RAM de datos de 96 KB
• Capacidad de memoria externa flash QSPI de 512 KB a 4 MB (puede manejar
hasta 16 MB)
• IEEE 802.11 b/g/n Wi-Fi
o Tiene integrados: TR switch, balun, LNA, amplificador de potencia de RF y
una red de adaptación de impedancias
o Soporte de autenticación WEP y WPA/WPA2
• 16 pines GPIO (Entradas/Salidas de propósito general)
• Interfaces SPI, I²C,
• Interfaz I²S con DMA (comparte pines con GPIO)
• Pines dedicados a UART, más una UART únicamente para transmisión que
puede habilitarse a través del pin GPIO2
• 1 conversor ADC de 10-bit
El ESP8266 se puede programar desde el IDE de Arduino. Para eso hay que
instalar lo que se llama un plugin, en el que está incluido todo lo necesario para
compilar y subir programas que fueron escritos tal como si fuesen .INO de
Arduino.
Debemos incorporar librerías y los programas de manejo de las placas con el chip
ESP8266 a nuestro IDE. Para hacerlo, debemos indicarle la URL desde donde se
obtienen.
Para hacerlo, debemos abrir el menú Archivo, y luego Preferencias.
Veremos este panel, en la parte inferior el recuadro de texto rotulado Gestor de
URLs Adicionales de Tarjetas. Dentro de él, usando copiar y pegar, se debe
introducir el texto indicado aquí:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Luego pulse en el botón Ok.
Ahora debemos ir al menú Herramientas, luego Placa.
Y finalmente Gestor de Tarjetas, se abrirá una ventana como la que sigue, en la
cual escribimos, en el recuadro superior de filtro/busqueda, “ESP8266” (antes de
terminar de escribir ya aparecerá el Gestor de Tarjetas que buscamos, que indica
que fue creado por “ESP8266 Community”. Allí pulsamos sobre Instalar:
Al abrir nuevamente Herramientas, y luego Placa, deslizamos la lista para ver lo
que aparece al final de ella (abajo), y vemos que ya existen las opciones referidas
a los ESP8266:
Servidor web ESP8266 con IDE Arduino
En este proyecto, creará un servidor web independiente con un ESP8266 que
puede alternar dos LED con Arduino IDE. Este servidor web ESP8266 es móvil y
se puede acceder con cualquier dispositivo que sea como navegador en su red
local.
Prepare el IDE de Arduino
1. Descargue e instale Arduino IDE en su sistema operativo (algunas versiones
anteriores no funcionarán).
2. Luego, debe instalar el complemento ESP8266 para el IDE de Arduino. Para
eso, vaya a Archivo > Preferencias .
3. Ingresehttp://arduino.esp8266.com/stable/package_esp8266com_index.jsonen
el campo " URL de administrador de placa adicionales " como se muestra en la
figura a continuación. Luego, haga clic en el botón " Aceptar ".
4. Vaya a Herramientas > Tablero > Administrador de tableros ...
5. Desplácese hacia abajo, seleccione el menú de la placa ESP8266 e instale
"e sp8266 by ESP8266 Community ", como se muestra en la figura a continuación.
Cargar código al ESP-01 requiere establecer una comunicación en serie entre su
ESP8266 y un programador FTDI como se muestra en el diagrama esquemático a
continuación.
RX TX
TX RX
CH_PD 3.3V
GPIO 0 GND
VCC 3.3V
GND GND
Codigo de Ejemplo.
// Current time
unsigned long currentTime = millis();
// Previous time
unsigned long previousTime = 0;
// Define timeout time in milliseconds (example: 2000ms = 2s)
const long timeoutTime = 2000;
void setup() {
Serial.begin(115200);
// Initialize the output variables as outputs
pinMode(output5, OUTPUT);
pinMode(output4, OUTPUT);
// Set outputs to LOW
digitalWrite(output5, LOW);
digitalWrite(output4, LOW);
void loop(){
WiFiClient client = server.available(); // Listen for incoming clients
Debe modificar las siguientes dos variables con sus credenciales de red, para que
su ESP8266 pueda establecer una conexión con su enrutador.
// Replace with your network credentials
const char* ssid = "";
const char* password = "";