Ir al contenido

Cómo conectar tu PLC basado en ESP32 a Wi-Fi

Aprende a trabajar con WiFi en PLC basados en ESP32
8 de febrero de 2022 por
Cómo conectar tu PLC basado en ESP32 a Wi-Fi
Boot & Work Corp. S.L, Dani Salvans Quesada

Introducción

El PLC basado en ESP32 es un equipo versátil y robusto pensado para llevar las capacidades IoT a los entornos industriales. Gracias a su WiFi integrado, puedes conectarlo fácilmente a redes locales o a internet y así transmitir datos y controlar procesos industriales de forma remota.

En esta guía veremos los pasos para comprobar y configurar la funcionalidad WiFi de tu PLC ESP32. Con un ejemplo sencillo disponible en Arduino IDE aprenderás a establecer una conexión de red, interactuar con un servidor y enviar peticiones HTTP. Así podrás comprobar que tu montaje funciona correctamente y prepararte para desarrollar aplicaciones más avanzadas.

Para seguir la guía necesitarás componentes de hardware y de software, que se detallan en la sección de requisitos. Una vez montado todo, podrás probar y confirmar la conectividad del PLC consultando los resultados en el monitor serie.


Requisitos

Hardware

Software

Prueba de verificación

Para comprobar que la conexión WiFi de tu PLC ESP32 está bien configurada, puedes usar uno de los ejemplos de Arduino IDE. Ve a Archivo > Ejemplos > WiFi y elige uno de los ejemplos WiFi disponibles. En esta guía usaremos el ejemplo WiFiClient.


WiFiClient.ino

Este sketch se conecta a una red WiFi determinada, establece una conexión TCP con data.sparkfun.com por el puerto 80 y envía una petición GET con datos como un identificador de stream, una clave privada y un valor incremental. La respuesta del servidor se lee y se muestra en el monitor serie, lo que permite verificar que la conexión y la transmisión de datos funcionan correctamente.

Cómo funciona

  1. Conexión WiFi:
    • La función setup() se conecta a la red WiFi con el SSID y la contraseña indicados. La dirección IP del dispositivo se imprime en el monitor serie.
  2. Conexión TCP:
    • En la función loop() se establece una conexión TCP con el servidor indicado (host) por el puerto 80.
  3. Transmisión de datos:
    • El programa construye una petición HTTP GET con streamId, privateKey y un valor numérico incremental, y después la envía al servidor.
  4. Respuesta del servidor:
    • La respuesta del servidor se lee y se muestra en el monitor serie, lo que permite verificar el funcionamiento.
  5. Gestión del timeout:
    • Si no se recibe respuesta en 5 segundos, se cierra la conexión y se muestra un mensaje de timeout.

Cómo usarlo

  1. Sustituye los valores de ejemplo ssid y password por las credenciales de tu red WiFi.
  2. Indica en host el servidor al que quieres conectarte. Por ejemplo, puedes usar data.sparkfun.com.
  3. Si lo necesitas, personaliza streamId y privateKey para que coincidan con la API o los requisitos de tu servidor.
  4. Sube el código a tu ESP32 con el botón Subir de Arduino IDE.
  5. Abre el monitor serie para observar el proceso de conexión, la transmisión de datos y la respuesta del servidor.

Salida esperada

Cuando se establece la conexión a la red WiFi en el bloque setup(), el monitor serie debe mostrar una salida parecida a esta (sustituye "your-ssid" y la dirección IP por el nombre real de tu red y la IP asignada):


Durante la función loop(), el dispositivo envía una petición HTTP GET al servidor indicado. Como ejemplo, esto es lo que puedes ver en el monitor serie al usar el sketch:



Esto demuestra que el ESP32 se ha comunicado correctamente con el servidor y ha recibido una respuesta. Puedes adaptar este ejemplo para realizar otras funciones, como enviar datos de sensores o interactuar con otros servicios, modificando la petición HTTP y su carga útil.

Nota: ten en cuenta que, si usas un PLC M-Duino o Ardbox W-Fi & BLE, la placa Arduino y el ESP32 están conectados mediante el puerto Serial1 del Arduino <-> puerto Serial2 del ESP32. Si quieres monitorizar esta información con el ESP32, puedes usar la misma configuración que se muestra en este artículo. Pero si quieres imprimir los mensajes en el puerto serie del M-Duino, tienes que configurar el código para que lea los datos recibidos por Serial1 y los imprima por Serial. Encontrarás más información al respecto en este artículo.

Your Dynamic Snippet will be displayed here... This message is displayed because you did not provided both a filter and a template to use.

Buscar en nuestro blog

Cómo conectar tu PLC basado en ESP32 a Wi-Fi
Boot & Work Corp. S.L, Dani Salvans Quesada 8 de febrero de 2022
Compartir esta publicación

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.

Comparativa de PLCs