En este post, exploraremos cómo usar 4G LTE con el ESP32 PLC utilizando la biblioteca NB de Industrial Shields, específicamente diseñada para el módulo SARA-R4. Demostraremos cómo integrar otras bibliotecas de protocolo como ArduinoHttpClient y MQTT para crear un dispositivo IoT versátil capaz de comunicarse a través de una red celular. Este tutorial está diseñado para ayudarte a conectar tu PLC ESP32 a internet usando 4G.
¿Por qué usar 4G con tu ESP32 PLC?
Aunque el ESP32 viene equipado con Wi-Fi y Bluetooth, la integración de IoT 4G ofrece un rango más amplio y una conectividad a internet más fiable para aplicaciones remotas. En esta guía, demostraremos cómo mejorar tus proyectos IoT con ESP32 utilizando la conectividad 4G.
Hardware esencial para configurar 4G en ESP32 PLC
Antes de comenzar, asegúrate de tener el siguiente hardware para la conexión 4G del ESP32 PLC:
- Un ESP32 PLC de la familia ESP32 PLC con 4G como placa de comunicaciones adicional. La placa de comunicaciones 4G integra un módulo U-Blox SARA-R412.
- Una targeta SIM compatible con NB-IoT, LTE Cat M1 o GPRS.
- Un ordenador con Arduino IDE y nuestro paquete de placas instalado. Listo para programar ESP32 para 4G.
Guía paso a paso para insertar una tarjeta SIM en tu PLC ESP32
La instalación adecuada de tu tajerta SIM es crucial para una conexión 4G estable en tu ESP32 :
- Quitar la tapa del puerto Ethernet:
- Ubica el puerto Ethernet en tu ESP32 PLC.
- Coloca tu dedo en el puerto Ethernet y aplica presión hacia arriba para levantar la tapa. Alternativamente, usa un destornillador plano para levantar suavemente la tapa por uno de sus lados.
- Insertar la tarjeta SIM:
- Una vez que se haya quitado la tapa, verás la ranura de la tarjeta SIM ubicada encima del botón de reinicio.
- Inserta la tarjeta SIM en la ranura con la cara de contacto hacia arriba.
- Reemplazar la tapa:
- Después de que la tarjeta SIM esté bien colocada, vuelve a colocar la tapa presionándola hacia abajo hasta que encaje en su lugar.
Siguiendo estos pasos, te aseguras de que tu tarjeta SIM esté correctamente instalada y lista para usar con la conectividad 4G en tu ESP32 PLC.


Configuración del IDE de Arduino para la comunicación 4G del ESP32 PLC
"¿Cómo configuro mi IDE de Arduino para la comunicación 4G del PLC ESP32?" Sigue estos pasos para configurar tu entorno de desarrollo:
- Abre el IDE de Arduino.
- Selecciona la familia de placas ESP32 de Industrial Shields: Tools > Board > Industrial Shields ESP32 Boards > ESP32 PLC Family.
- Selecciona tu modelo específico, por ejemplo, el ESP32 PLC 21: Tools > Model > ESP32 PLC 21 IO+.
- Ahora necesitas configurar el módulo 4G, ya que esta comunicación es opcional. Este módulo puede estar ubicado en 2 ranuras de expansión del PLC, pero generalmente estará en la número 1. En el IDE, ve a Tools > Extension Module 1, y selecciona el tipo de comunicación a usar: NB.
Con esto, la comunicación 4G del ESP32 PLC está configurada para trabajar con la biblioteca NB que nuestro paquete de placas incluye. Esta biblioteca se encarga de la comunicación con el módulo y también incluye ejemplos básicos, que puedes encontrar en el IDE: Files > Examples > NB.
En los ejemplos de esta publicación, sin embargo, también utilizaremos dos otras bibliotecas que pueden trabajar junto con NB: la biblioteca ArduinoHttpClient y la biblioteca PubSubClient Instálalas de la siguiente manera:
- Abre el IDE de Arduino.
- Ve a Sketch > Include Library > Manage Libraries.
- Busca e instala la biblioteca "ArduinoHttpClient". (Requerido para el protocol HTTP.)
- Busca e instala la biblioteca "PubSubClient". (Requerido para el protocol MQTT.)
Programando tu ESP32 para la conectividad 4G
En esta sección, proporcionamos un boceto simple para demostrar cómo usar la biblioteca NB para conectar tu PLC ESP32 a la red 4G y realizar una solicitud HTTP. Esta es una parte crucial de nuestro tutorial IoT de ESP32, dirigido a habilitar tu dispositivo para comunicarse de manera efectiva a través de una red celular.
Configurando el boceto
Aprende cómo configurar tu ESP32 para acceder a internet mediante 4G utilizando las bibliotecas NB y ArduinoHttpClient, cruciales para aplicaciones IoT que requieren comunicación estable y remota.
Bibliotecas y definiciones
Incorpora bibliotecas esenciales para facilitar la comunicación celular y las solicitudes HTTP:
Estas directivas establecen la base para que tu dispositivo gestione las interacciones de red de manera efectiva.
InicializaciónGPRS
Inicia los objetos de red y cliente HTTP:
- Estas líneas crean instancias de los objetos necesarios para la gestión de la red y del cliente.
Detalles del Servidor
Configura los parámetros dl servidor para iniciar solicitudes HTTP:
Configurar estos parámetros dirige a tu cliente HTTP sobre dónde y cómo enviar las solicitudes.
Función de configuración
Inicializa el dispositivo para la comunicación en red:
- Inicializa la comunicación serie y espera a que se abra el puerto serie.
- Utiliza el objeto "nbAccess" para intentar conectarse a la red usando el APN, nombre de usuario y contraseña proporcionados.
- Envía una solicitud HTTP GET al servidor y ruta especificados.
Función de Bucle
- Monitoreo continuo: La función de bucle verifica continuamente la disponibilidad de datos desde el servidor, lee y imprime las respuestas en el monitor serial. También maneja la desconexión deteniendo al cliente y bloqueando operaciones adicionales si se desconecta.
Integración de MQTT con ESP32 sobre 4G: Aplicaciones IoT avanzadas
MQTT (Message Queuing Telemetry Transport) es un protocolo de mensajería ligero ideal para la integración de IoT 4G debido a sus mínimos requisitos de ancho de banda. Esta sección cubre cómo usar MQTT sobre una conexión 4G LTE con el ESP32, proporcionando capacidades de transferencia de datos en tiempo real esenciales para proyectos IoT con ESP32.
Aquí hay un ejemplo de cómo usar el protocolo MQTT con la biblioteca NB:
Explicación del Código
Bibliotecas y definiciones
- "#include <NB.h>" y "#include <PubSubClient.h>" incluyen las bibliotecas necesarias para la comunicación celular y el protocolo MQTT.
- Las declaraciones "#define" configuran constantes para los detalles de tu tarjeta SIM.
InicializaciónGPRS
- Estas líneas crean instancias de los objetos necesarios para la gestión de la red y del cliente MQTT.
Detalles del Broker MQTT
- Define los detalles del broker MQTT incluyendo la dirección del servidor, puerto y tema.
Función de configuración
- Inicializa la comunicación serie y espera a que se abra el puerto serie.
- Utiliza el objeto "nbAccess" para intentar conectarse a la red usando el APN, nombre de usuario y contraseña proporcionados.
- Configura el servidor y la función de callback del MQTT, y intenta conectarse al broker MQTT.
Función de Bucle
- Comprueba continuamente si el cliente MQTT está conectado. Si no lo está, intenta reconectarse.
- Llama a la función "mqttClient.loop()" para mantener el cliente conectado y manejar los mensajes entrantes.
Función de Conexión a MQTT
- Intenta conectarse al broker MQTT.
- Publica un mensaje y se suscribe a un tema, pasos esenciales para establecer la comunicación en ESP32 cellular projects.
- Si la conexión falla, espera 5 segundos y vuelve a intentarlo.
Función de Callback
Esta función se activa cuando se recibe un mensaje en un tema suscrito, demostrando un manejo efectivo de datos en configuraciones ESP32 MQTT 4G. Imprime el tema y el "payload" en el monitor serial, proporcionando retroalimentación en tiempo real crucial para la depuración y el monitoreo de proyectos ESP32.
Consejos efectivos de depuración para proyectos ESP32 4G
Si tu configuración no funciona como se espera, prueba los siguientes pasos:
- Descomenta la línea "#define MAKE_AUTOBAUD" para configurar automáticamente la tasa de baudios del módulo.
- Para habilitar la depuración y ver lo que está haciendo la biblioteca NB, cambia la línea "NB nbAccess;" a "NB nbAccess(true);".
Maximizando las capacidades IoT: aprovechando la conectividad 4G con ESP32
En esta guía, hemos mostrado cómo conectar el ESP32 a una red 4G usando la biblioteca NB de Industrial Shields y realizar operaciones HTTP y MQTT. Esta configuración te permite crear aplicaciones IoT robustas con conectividad celular. Te animamos a experimentar con diferentes protocolos y explorar todo el potencial de tu ESP32 PLC 4G.
Referencias y Enlaces Adicionales
Para más información, consulta los siguientes recursos:
Siguiendo estas pautas y utilizando los bocetos y funciones proporcionados, estás bien equipado para desarrollar soluciones IoT avanzadas que aprovechen el poder de la conectividad 4G.

Cómo utilizar 4G con un ESP32 PLC