14/02/2013
En el entorno de la programación de microcontroladores, las librerías son herramientas esenciales que simplifican el desarrollo. Para los chips ESP8266 y ESP32, existen diversas librerías que facilitan la interacción con diferentes funcionalidades. En este artículo, exploraremos las librerías más importantes, su instalación y uso, enfocándonos en la comunicación WiFi, Bluetooth y otras funciones clave.
https://www.youtube.com/watch?v=l2nh0nlsTrI
Librería ESP-NOW para ESP8266 y ESP32
ESP-NOW es un protocolo de comunicación WiFi de bajo consumo y conexiónless, ideal para aplicaciones de bajo ancho de banda y latencia. La librería WifiEspNow para Arduino simplifica su uso.
Características de WifiEspNow:
- Wrapper sencillo: Ofrece una interfaz sencilla para las funciones de ESP-NOW en ESP-IDF.
- Unicast y Multicast: En ESP32, soporta tanto unicast (comunicación punto a punto) como multicast (comunicación uno a muchos).
- Unicast en ESP8266: En ESP8266, solo admite unicast.
- WifiEspNowBroadcast (Protocolo personalizado): Implementa una pseudo-transmisión mediante el escaneo de BSSID y unicast individual a cada dispositivo.
Instalación de WifiEspNow:
La instalación se realiza a través del gestor de librerías del IDE de Arduino.
Instalación de Librerías en el IDE de Arduino
El proceso de instalación de librerías para ESP8266 y ESP32 en el IDE de Arduino es similar. Accede a:
- Herramientas
- Placa
- Gestor de tarjetas
Busca la librería que necesitas (por ejemplo, " Adafruit ESP8266 " para el ESP8266) y selecciona la versión más reciente.
Librerías y Funcionalidades del ESP32
El ESP32 ofrece una amplia gama de funcionalidades, y cada una puede requerir librerías específicas. A continuación, se presentan algunas librerías comunes y sus usos:

| Librería | Función | Tipo de Documento |
|---|---|---|
| ESP32 Bluetooth Networking User Guide | Ejemplos de uso de Bluetooth para IoT | |
| ESP32 Bluetooth Architecture | Arquitectura Bluetooth del ESP32 | |
| ESP HomeKit SDK User Guide | Desarrollo de accesorios compatibles con Apple HomeKit | HTML |
| ESP-TOUCH User Guide | Protocolo ESP-TOUCH | |
| ESP32-MeshKit-Sense Hardware Design Guidelines | Diseño de hardware para ESP32-MeshKit-Sense | HTML |
| ESP-IDF Programming Guide | Tutorial de programación para ESP-IDF (framework oficial) | HTML |
| ESP-WHO Face Recognition Development Guide | Reconocimiento facial con ESP-WHO | HTML |
| ESP-Jumpstart Development Guide | Tutorial rápida para el desarrollo de productos con ESP32 | HTML |
| ESP-DSP Library User Guide | Librería DSP oficial para ESP32 | HTML |
| ESP32 Series SoC Errata | Detalles de erratas en el ESP32 | HTML |
| ESP32 Datasheet | Especificaciones del ESP32 | |
| Espressif Audio Development Guide | Desarrollo de aplicaciones de audio con ESP-ADF | HTML |
| ESP32 Technical Reference Manual | Manual de referencia técnica del ESP32 | |
| ESP32 Hardware Design Guidelines | Pautas para el diseño de hardware con ESP32 | HTML |
Librería WiFi.h
La librería WiFi.h es fundamental para la conectividad WiFi en ESP3Permite establecer conexiones en modo estación (STA) o modo punto de acceso (AP).
Modos de Operación:
- Modo Estación (STA): El ESP32 se conecta a una red WiFi existente, como cualquier otro dispositivo (teléfono, ordenador).
- Modo Punto de Acceso (AP): El ESP32 crea su propia red WiFi, permitiendo la conexión directa de otros dispositivos sin necesidad de un router.
- Modo Mixto: Combina las funcionalidades de STA y AP.
Servidor Web con ESP32 y Librerías WiFi.h y WebServer.h
La combinación de WiFi.h y WebServer.h permite crear un servidor web sencillo en un ESP3Esto abre la puerta a controlar dispositivos remotamente a través de una interfaz web.
Ejemplo: Control de LEDs
Este ejemplo muestra cómo controlar dos LEDs desde una interfaz web creada en el ESP32:
Código (fragmento):
#include <WiFi.h>#include <WebServer.h>// ... (código para configuración WiFi y manejo de LEDs) ...void handleRoot() { // ... (código para generar la página HTML) ...}void setup() { // ... (código para configuración WiFi y pines de LEDs) ... server.on("/", handleRoot); server.begin();}void loop() { server.handleClient();}Este código utiliza WiFi.h para la conexión WiFi y WebServer.h para gestionar las peticiones HTTP desde una página web. La función handleRootgenera el código HTML para la interfaz web, y la función loopmaneja las peticiones entrantes.
Consideraciones Adicionales
- Librería ESPAsyncWebServer: Para servidores web con manejo de múltiples conexiones simultáneas, se recomienda usar ESPAsyncWebServer , que proporciona un entorno asíncrono.
- SPIFFS: Para servir archivos HTML, CSS y JavaScript desde la memoria flash del ESP32, se puede utilizar el sistema de archivos SPIFFS .
En este artículo hemos explorado una selección de las librerías ESP más comunes. La elección de la librería adecuada dependerá de las necesidades específicas de tu proyecto. Recuerda consultar la documentación oficial de cada librería para obtener información detallada sobre su uso y funcionalidades.
Consultas Habituales sobre Librerías ESP
A continuación, se responden algunas de las preguntas más frecuentes sobre librerías para ESP8266 y ESP32:
¿Cómo instalar la librería ESP8266WiFi.h?
Se instala a través del gestor de librerías del IDE de Arduino, buscando " ESP8266WiFi ".
¿Qué librería se utiliza para el Bluetooth en ESP32?
Para Bluetooth en ESP32, se utilizan las APIs incluidas en el ESP-IDF. La documentación oficial proporciona ejemplos y tutorials.
¿Cuál es la mejor librería para crear un servidor web en ESP32?
Para un servidor web simple, WebServer.h es una opción fácil de usar. Para manejo concurrente, ESPAsyncWebServer es la mejor alternativa.
Con una adecuada selección y manejo de las librerías ESP, es posible desarrollar una amplia variedad de proyectos de electrónica e internet de las cosas (IoT).
Si quieres conocer otros artículos parecidos a Librerías esp para esp8266 y esp32 puedes visitar la categoría Libros y Librerías.
