ESP8266 es un chip Wi-Fi de bajo costo fabricado por Espressif Systems, que cuenta con una pila completa de protocolos TCP/IP y funciones de microcontrolador. Está diseñado específicamente para dispositivos móviles, productos electrónicos portátiles y aplicaciones de IoT, con bajo consumo de energía y un precio muy económico.
ESP8266 ofrece varios entornos de desarrollo; este artículo explica cómo configurar el entorno de desarrollo de Arduino IDE.
Los módulos y componentes utilizados en este artículo, así como los cables de conexión, se pueden comprar en los enlaces al final.
Aquí uso una placa NodeMCU que incorpora este chip.
Descargue e instale el controlador correspondiente según el chip USB a TTL de su placa de desarrollo; mi placa utiliza el chip CH340.
Instalación de Arduino IDE
Arduino IDE es un entorno de desarrollo integrado (IDE) proporcionado oficialmente por Arduino, que soporta el lenguaje C y está principalmente diseñado para programar placas de la serie Arduino.
Con una configuración sencilla, puede agregar soporte para placas ESP8266 al entorno de programación existente. Para usuarios familiarizados con las bibliotecas Arduino y el flujo de desarrollo, no hay diferencias prácticas en su uso.
Enlace de descarga de Arduino IDE:
Sitio web oficial de Arduino: https://www.arduino.cc/en/Main/Software
Tencent Weiyun: http://go.zeruns.com/E
Baidu Netdisk: http://go.zeruns.com/F Código de extracción: h6cy
Agregar soporte para ESP8266
Abra Arduino IDE, haga clic en Archivo en la esquina superior izquierda, luego ingrese a Preferencias (Preferences). Encuentre la opción URLs adicionales del administrador de placas (Additional Board Manager URLs) e ingrese el siguiente enlace: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Luego, haga clic en Herramientas → Placa → Administrador de placas para acceder a la interfaz del administrador de placas:
Busque esp8266 e instálelo:
Una vez completada la instalación, reinicie el software Arduino IDE. Ahora, en Herramientas → Placa, verá las opciones de placas ESP8266:
Seleccione el puerto: primero verifique el puerto en el Administrador de dispositivos, luego seleccione el puerto correspondiente en Arduino IDE.
Demostración del proyecto
Enviar “Hello World” por el puerto serie
En Arduino IDE, cree un nuevo proyecto e ingrese el siguiente código:
void setup() { // Función de inicialización; este código se ejecuta solo una vez al arrancar
Serial.begin(115200); // Configurar la velocidad del puerto serie
}
/*
https://blog.zeruns.com
*/
void loop() { // Función de bucle; este código se ejecuta continuamente
Serial.println("Hello World"); // Imprimir "Hello World" por el puerto serie
}
Después de ingresar el código, haga clic en el botón Cargar para compilar y subirlo a la placa. Luego abra el Monitor Serie, seleccione la velocidad de 115200 y verá la salida “Hello World”.
Parpadeo de LED
El módulo ESP8266 tiene un LED integrado conectado al pin D4.
Nota: Existen múltiples placas ESP8266, y los pines GPIO varían entre modelos.
void setup() { // Función de inicialización; este código se ejecuta solo una vez al arrancar
pinMode(D4,OUTPUT); // Configurar el pin GPIO D4 como salida
}
void loop() { // Función de bucle; este código se ejecuta continuamente
digitalWrite(D4,HIGH); // Establecer el pin D4 en nivel alto; HIGH puede reemplazarse por 1
delay(1000); // Retrasar 1000 milisegundos
digitalWrite(D4,LOW); // Establecer el pin D4 en nivel bajo; LOW puede reemplazarse por 0
delay(1000); // https://blog.zeruns.com
}

Leer datos del DHT11 y mostrarlos
En este ejemplo, se utiliza el sensor DHT11 de temperatura y humedad para medir temperatura y humedad, y se muestra el resultado en una pantalla OLED de 0.96 pulgadas.
Código fuente:
#include <Arduino.h>
#include <NTPClient.h>
#include <U8g2lib.h>
#include <DHT.h>
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
DHT dht(D3,DHT11, 15);
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ D1, /* data=*/ D2, /* reset=*/ U8X8_PIN_NONE);
void setup(){
u8g2.begin();
u8g2.enableUTF8Print();
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_unifont_t_chinese2);
u8g2.setFontDirection(0);
u8g2.setCursor(0, 15);
u8g2.print("Humedad:");
u8g2.setCursor(80, 15);
u8g2.print(h); // https://blog.zeruns.com
u8g2.setCursor(120, 15);
u8g2.print("%");
u8g2.setCursor(0, 40);
u8g2.print("Temperatura:");
u8g2.setCursor(0, 55);
u8g2.print(t);
u8g2.setCursor(40, 55);
u8g2.print("C");
u8g2.sendBuffer();
delay(1000);
}
Como las bibliotecas DHT y U8g2 en la primera línea del código no son bibliotecas integradas en Arduino IDE, debe hacer clic en Proyecto → Incluir biblioteca → Gestionar bibliotecas para abrir el administrador de bibliotecas, y buscar e instalar las siguientes tres dependencias: Adafruit Unified Sensor, DHT sensor library y U8g2:
Conexiones del circuito
| NodeMcu | DHT11 |
|---|---|
| 3V3 | VCC |
| GND | GND |
| D3 | DATA |
| NodeMcu | Pantalla OLED de 0.96 pulgadas |
|---|---|
| 3V3 | VCC |
| GND | GND |
| D1 | SCL |
| D2 | SDA |
Conexión WiFi
La característica más destacada del ESP8266 es su implementación de Wi-Fi de bajo costo.
Aquí se muestra un ejemplo simple de código para conectarse a WiFi:
#include <ESP8266WiFi.h>
const char* ssid = "blog.zeruns.com"; // nombre de la red WiFi
const char* passwd = "blog.zeruns.com"; // contraseña de la red WiFi
void setup() {
Serial.begin(115200); // configurar la velocidad del puerto serie
WiFi.begin(ssid,passwd); // conectar a WiFi
while (WiFi.status() != WL_CONNECTED) // verificar estado de conexión WiFi
{
delay(500);
Serial.print("."); // imprimir "." por el puerto serie
}
Serial.println(""); // salto de línea
Serial.println("WiFi conectado");
Serial.println(WiFi.localIP()); // imprimir la dirección IP obtenida
Serial.println("https://blog.zeruns.com");
}
void loop() {
}
Enlaces de compra
Placa NodeMcu (ESP8266): https://s.click.taobao.com/mWfgiTu
Módulo sensor DHT11 de temperatura y humedad: https://s.click.taobao.com/gAduxTu
Cables Dupont: https://s.click.taobao.com/yxUfiTu
Pantalla OLED de 0.96 pulgadas: https://s.click.taobao.com/6IFfiTu
Artículos recomendados
- Recomendaciones de VPS/serveur cloud de alto rendimiento y bajo costo: https://blog.zeruns.com/archives/383.html
- Configurar un servidor de túnel de red privada con panel web: 搭建内网穿透服务器,带Web面板 - Zeruns's Blog
- Leer datos de temperatura y humedad DHT11, DHT22, SHTC3 con Arduino: Arduino读取DHT11,DHT22,SHTC3温湿度数据 - Zeruns's Blog
- Cómo crear un blog personal: https://blog.zeruns.com/archives/218.html
- Beneficios y descuentos para estudiantes: 学生优惠权益大全 - Zeruns's Blog











