Configuración del entorno de desarrollo ESP8266 y demostración de proyecto

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 HerramientasPlacaAdministrador 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 HerramientasPlaca, 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 ProyectoIncluir bibliotecaGestionar 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

2 Me gusta