iiOTESP32 Brasil
Modo de contingencia: las páginas públicas y las descargas siguen disponibles; el inicio de sesión, la comunidad y los datos del servidor pueden no estar disponibles.
Cuatro caminos

Aprende ESP32 a tu ritmo

Elige por dónde empezar y avanza con proyectos prácticos, desde el primer código hasta aplicaciones con MQTT, Modbus y automatización.

Elige tu ESP32

Selector por aplicación, Wi-Fi y USB.

Comparar familias

Procesador, memoria, radio e interfaces.

Elegir una placa

Kits oficiales, placas de terceros y recursos industriales.

Consultar el glosario

ESP32, firmware, electrónica y automatización industrial.

Elegir framework

ESP-IDF, Arduino y soluciones especializadas.

Principiante · Windows, Linux y macOS

Requisitos de software

Qué instalar para programar el ESP32 en cuatro pasos: Python, VS Code con PlatformIO, el controlador de la placa y el primer firmware. Los instaladores están aquí.

Abrir descargas
  1. 1

    Python

    Base de PlatformIO y esptool.

  2. 2

    VS Code + PlatformIO

    Editor y extensión para compilar y grabar.

  3. 3

    Controlador de la placa

    CP210x o CH340 si no aparece el puerto COM.

  4. 4

    Grabar el primer firmware

    Directamente desde el navegador, sin compilar.

Antes de empezar

Los 15 términos que aparecen constantemente en los tutoriales, explicados de una vez.

ESP32

Hardware

Microcontrolador de Espressif con Wi-Fi y Bluetooth integrados en el propio chip.

A diferencia de un Arduino Uno, que necesita un shield para conectarse a la red, el ESP32 ya lleva la radio dentro del chip. La línea original usa dos núcleos Xtensa; las familias más nuevas (C3, C6) usan RISC-V. Para la automatización importan los periféricos: UART para RS-485, SPI e I²C para módulos, ADC para señales analógicas y GPIO para entradas y salidas digitales.

Wi-FiBluetoothGPIOUARTSPII²CADC

C

Lenguaje

Lenguaje de bajo nivel en el que está escrito el framework oficial del ESP32.

C permite acceder directamente a la memoria y los registros del chip, sin capas intermedias que consuman tiempo de ejecución. Es el lenguaje de ESP-IDF, el SDK oficial de Espressif. Cuando necesitas un control fino del tiempo o la memoria—el caso típico del firmware industrial—el código acaba escrito en C.

ESP-IDFpunterosbajo nivel

C++

Lenguaje

Extensión de C con clases y objetos; es el lenguaje de Arduino Core.

Prácticamente cualquier programa C válido también es C++ válido, así que ambos conviven en el mismo proyecto. C++ añade organización: agrupar un sensor, sus pines y sus métodos en una clase en lugar de repartir variables globales. Arduino Core para ESP32 es C++, por eso escribes `Serial.begin()` en vez de llamar directamente al driver de UART.

Arduino Coreclasesbibliotecas

Arduino

Framework

Plataforma abierta que simplificó el acceso a microcontroladores y cuya API funciona en el ESP32.

Arduino nació como una placa (la Uno, un AVR de 8 bits sin red), pero aquí se usa otra parte: Arduino Core para ESP32, una capa de compatibilidad que permite programar el chip de Espressif con la API de Arduino—`setup()`, `loop()`, `digitalWrite()`, `Serial`. Está construida sobre el propio ESP-IDF. La ventaja es el enorme catálogo de bibliotecas; el precio es que la abstracción oculta detalles que, en firmware industrial, tarde o temprano necesitas ver. Ambos conviven: puedes llamar funciones de ESP-IDF desde un proyecto Arduino.

Arduino Coresetup() y loop()Arduino IDEbibliotecasESP-IDF

VS Code

Herramienta

Editor de código gratuito de Microsoft, usado como base del entorno.

Por sí solo es solo un editor; las extensiones son las que lo convierten en un entorno de firmware. Aquí escribes el código, navegas por los archivos, usas el depurador y abres el terminal. La alternativa histórica es Arduino IDE, más sencilla pero mucho más limitada en proyectos con muchos archivos.

editorextensionesdepurador

PlatformIO

Herramienta

Extensión de VS Code que gestiona el compilador, las bibliotecas y la grabación de la placa.

Descarga el toolchain adecuado, resuelve las bibliotecas y graba el firmware. El proyecto completo se describe en un archivo `platformio.ini`: qué placa, qué framework (Arduino o ESP-IDF), qué bibliotecas y qué versiones. Así la compilación es reproducible: otra persona clona el repositorio y obtiene exactamente el mismo binario.

platformio.initoolchaincompilación reproducible

OTA

Práctica

Over-The-Air: actualizar el firmware por red, sin cable USB ni visita al equipo.

Con una placa en el banco, el USB basta. Con treinta gateways repartidos por la planta, subir una escalera para grabar cada uno no es una opción. El ESP32 guarda dos particiones de aplicación: escribe la imagen nueva en la partición inactiva, verifica su integridad y solo entonces apunta el arranque hacia ella. Si la nueva versión no confirma que ha iniciado bien, el bootloader vuelve a la anterior; ese rollback es lo que separa una actualización remota de un equipo inaccesible.

particionesrollbackArduinoOTAElegantOTA

MQTT

Protocolo

Protocolo ligero de mensajería con el modelo publica/suscribe y un broker intermedio.

Los dispositivos no hablan directamente entre sí: publican mensajes en tópicos (como `fabrica/linea1/temperatura`) en un servidor central, el broker, y quien tiene interés se suscribe a ese tópico. Así se desacopla quien produce el dato de quien lo consume. Fue diseñado para enlaces deficientes, algo importante en la planta: tiene niveles de entrega (QoS) y Last Will, un mensaje que el broker publica cuando un dispositivo cae sin avisar.

brokertópicosQoSLast WillMosquitto

Broker

Infraestructura

El servidor intermedio de MQTT: todo pasa por él y nada pasa sin él.

El ESP32 nunca habla directamente con el supervisor: publica en el broker y el broker entrega el mensaje a quienes se suscribieron al tópico. Esto permite cambiar el consumidor del dato sin tocar el firmware. También conserva estado: el mensaje retenido (el último valor de un tópico, entregado de inmediato a quien llega) y la sesión persistente (mensajes en cola mientras un cliente está desconectado). Allí viven también la autenticación y los permisos por tópico: quién puede publicar y quién solo puede leer.

MosquittoEMQXmensaje retenidosesión persistenteTLSACL

REST API

Protocolo

Interfaz sobre HTTP en la que cada dirección es un recurso y el cliente pregunta cuando lo necesita.

Es un modelo de pregunta y respuesta: alguien llama a `GET /api/temperatura` y recibe un JSON. La diferencia frente a MQTT es quién toma la iniciativa: en REST el cliente pide el dato cuando lo necesita; en MQTT el broker lo envía cuando cambia. En la práctica ambos conviven: MQTT para telemetría continua, REST para consultas bajo demanda, configuración e integración con sistemas que ya hablan HTTP. El ESP32 cumple los dos papeles: sirve sus propios endpoints (así funciona el portal de configuración integrado) y consume APIs externas.

HTTPJSONGET y POSTendpointESPAsyncWebServer

RS-485

Hardware

Estándar eléctrico para llevar señales cientos de metros en un entorno con ruido.

No es un protocolo: solo es el medio físico y no dice nada sobre el formato del mensaje. El truco es la transmisión diferencial: el dato viaja como la diferencia de tensión entre dos hilos de un par trenzado, de modo que el ruido que entra en ambos se cancela en el receptor. Permite varios dispositivos en el mismo par, en topología de bus, con resistencias de 120 Ω en los dos extremos para evitar reflexiones. El ESP32 no habla RS-485 directamente: necesita un transceptor, como el MAX485, entre la UART y la línea.

par trenzadodiferencialMAX485terminación de 120 Ωhalf-duplex

Modbus

Protocolo

Protocolo industrial de 1979 que prácticamente todos los equipos de campo entienden.

Funciona por pregunta y respuesta: un maestro pregunta y el esclavo responde; ningún esclavo habla por su cuenta. Los datos viven en registros numerados, leídos y escritos mediante códigos de función. Tiene dos formas: RTU, binario sobre serie (normalmente RS-485), y TCP, el mismo modelo sobre Ethernet. Su fuerza es la ubicuidad; su debilidad es que no tiene semántica: el registro 40001 es solo un número de 16 bits y su significado está en el manual del fabricante, no en el protocolo.

maestro/esclavoregistrosRTUTCPcódigos de función

OPC UA

Protocolo

Estándar industrial moderno que transporta el dato junto con su significado.

Donde Modbus entrega un número aislado, OPC UA entrega un objeto con nombre, tipo, unidad y descripción: el servidor publica un modelo de información que el cliente puede explorar. Incluye seguridad en la propia especificación: certificados, autenticación y cifrado, en vez de depender de que la red sea confiable. El coste es el peso: es mucho más pesado que Modbus y por eso suele aparecer desde la capa de supervisión hacia arriba, no en el sensor más sencillo.

IEC 62541modelo de informacióncertificadoscliente/servidor

SCADA

Sistema

La capa de supervisión: reúne los datos de campo, los muestra, genera alarmas y guarda el histórico.

Supervisory Control and Data Acquisition. Es el sistema que habla con PLC y gateways, dibuja pantallas sinópticas, genera alarmas cuando un valor sale de su rango y conserva el histórico para analizarlo después. No hay que confundirlo con una HMI: la HMI es local y está vinculada a una máquina; SCADA ve toda la planta y normalmente se ejecuta en un servidor. Para el ESP32, SCADA suele ser el destino final del dato, directamente o a través de un broker MQTT.

pantallas sinópticasalarmashistóricoHMISCADA

IIoT

Contexto

Industrial Internet of Things: aplicar IoT a la planta industrial.

La diferencia frente al IoT de consumo no es la tecnología, sino la exigencia. Aquí los datos proceden de PLC, medidores de energía y sensores de proceso, a menudo mediante protocolos antiguos como Modbus, y deben llegar sin fallos a supervisores y bases de datos. Es lo que se llama integración OT/IT: conectar la red de operación con la red corporativa sin comprometer ninguna de las dos.

ModbusSCADAOPC UAOT/ITtelemetría