Gateway Modbus TCP/IP Esclavo a MQTT – ESP32 V.1

Hace ya un buen tiempo que no realizaba un video o publicaba algo para PDAControl, realmente he estado en otras cosas y he decidido retomar nuevamente pruebas.

El ESP32 pienso que es el microcontrolador por excelencia para pruebas, tiene grandes prestaciones y me siento comodo, hay otras alternativas, que quizas pruebe en un futuro.

Espero que ustedes mis lectores no me hayan olvidado, en esta oportunidad hare uno de los proyectos pendientes, la prueba que realizare no es nada nueva, creo que hace 7 u 8 años la realice, pero solo que esta vez he eintentado hacer algo mas rubusto y quizas aplicable a lo industrial, como mencione en articulos anteriores he utilizado el ESP32 en la industria claramente no implementado en un proceso critico pero si requeria muestreos de cada 5 min, de 120 sensores de temperatura, y al dia de hoy el sistema continua funcionando.

Hablemos del Gateway

Ahora si les explicare, como funciona ese Gateway Modbus tcp/ip Esclavo a MQTT, esta en pruebas iniciales aun con algunas fallas y novedades pero diria que esta parcialmente funcionando y requiere algunos ajustes finos.

He creado una rutina modbus TCP/IP Esclavo en ESP-IDF, Se que el repositorio github oficial hay codigo funcional, pero decidi hacer la rutina modbus tomando como base algunas pruebas que realice hace mas de 8 años con un codigo que funcionaba muy bien.

En las pruebas que realice, implemente un servidor web, el cual funciona al conectar el esp32 a una red wifi, cuenta con configuracion de direcciones IP Fijas o asignacion por DHCP, Cliente MQTT que permite la configuracion de 2 broker, uno principal y uno de respaldo o redundancia en caso de falla del primero.

La rutina modbus se implemnto para Holding Registers y Coils, considere que realmente son los registros que se utilizarian en una implementacion real, desde el sitio web generado por el esp32 permite supervisar el valor o los estados de los registros.

El cliente MQTT, esta subscrito a topicos individuales asociados a los registros, pero la publicacion desde el ESP32 si es un JSON con 10 registros.

La finalidad es tener dispositivos modbus TCP Maestros y comunicarlos mediante MQTT, de manera bidirecional, convertir controlaores sin posibilidad de integracion con plataformas que soporten MQTT.

Video de Pruebas Iniciales

https://youtu.be/nCoRSR5SRo4

Deja una respuesta