OPC UA
Protocolo estándar de la industria para automatización industrial. Admite múltiples métodos de autenticación y modos de seguridad.
Los Conectores son los bloques de construcción de los flujos de trabajo de Meddle. Cada conector es un componente especializado que puede leer datos de fuentes, escribir datos en destinos o procesar y transformar datos en tránsito.
Los conectores se conectan entre sí en un editor de flujo de trabajo visual para crear potentes pipelines de integración de datos sin escribir código.
Meddle proporciona 44 tipos diferentes de conectores organizados en tres categorías principales:
Conéctate a sistemas de automatización industrial, PLCs y ejecuta analítica industrial:
OPC UA
Protocolo estándar de la industria para automatización industrial. Admite múltiples métodos de autenticación y modos de seguridad.
Modbus
Comunicación serial y TCP con PLCs y dispositivos industriales. Admite todos los tipos de registros y formatos de datos.
Siemens S7
Comunicación directa con PLCs Siemens S7-300, S7-400, S7-1200 y S7-1500.
Logix
Comunicación con PLCs Allen-Bradley/Rockwell vía protocolo EtherNet/IP (CIP).
CoAP
Constrained Application Protocol para dispositivos IoT de recursos limitados.
gRPC
Llamar a servicios gRPC remotos con TLS y sondeo configurable para integraciones industriales.
ISA-18.2
Máquina de estados de gestión de alarmas según el estándar ISA-18.2 con deadband y retardos on/off.
OEE
Calcular la Efectividad Global del Equipo (Disponibilidad × Rendimiento × Calidad) sobre ventanas deslizantes o por turno.
OPC UA PubSub
Recibir y enviar mensajes OPC UA PubSub sobre transportes MQTT o UADP (multicast UDP).
Predictive Maintenance
Calcular Vida Útil Restante y health scores a partir de tendencias de señales usando regresión, media móvil o EWMA.
PROFINET
Leer y escribir variables de dispositivos PROFINET IO sobre DCE/RPC.
UNS
Construir jerarquías de tópicos ISA-95 Unified Namespace con salida SparkplugB o JSON.
Integra con protocolos IoT, brokers de mensajes y bases de datos:
MQTT
Mensajería de publicación/suscripción para dispositivos IoT con soporte de QoS (MQTT v3).
HTTP/REST
Conéctate a APIs REST y servicios web con encabezados y métodos personalizables.
InfluxDB
Base de datos de series temporales optimizada para datos industriales e IoT.
MongoDB
Base de datos NoSQL de documentos para almacenamiento flexible de datos.
SQL
Soporte para bases de datos MySQL, PostgreSQL y SQL Server.
Redis
Almacén de datos en memoria para caché y colas de datos en tiempo real.
Firebase
Google Cloud Firestore para almacenamiento de documentos NoSQL escalable.
AMQP
Publicación/suscripción RabbitMQ AMQP 0.9.1 con vinculaciones exchange/cola y TLS.
Kafka
Publicación/suscripción Apache Kafka con grupos de consumidores y autenticación SASL.
MQTT v5
MQTT 5.0 con suscripciones compartidas, propiedades de usuario y expiración de mensajes.
NATS
Publicación/suscripción NATS con grupos de cola y credenciales de token o JWT.
S3
Lector y escritor de almacenamiento de objetos AWS S3 (o compatible con S3) con plantillas de clave.
Transforma, filtra, enruta y procesa datos en tránsito:
Filter
Lista blanca o lista negra de claves de datos específicas.
Conveyor
Pasa datos sin cambios para enrutamiento de muchos a muchos.
Merge
Combina datos de múltiples fuentes con estrategias basadas en tiempo o claves.
Reshape
Renombra campos o enriquece datos con valores estáticos.
Trigger
Lógica condicional usando expresiones MXL.
Cron
Programa la liberación de datos en momentos específicos.
Auth
Autenticación y validación JWT.
Anomaly Detection
Detección de anomalías basada en ML usando Isolation Forest.
Alert
Envía notificaciones basadas en condiciones.
Chart
Visualización de datos en tiempo real.
Aggregation
Agregación por ventanas (sum, avg, min, max, count) sobre ventanas tumbling, sliding o por recuento.
File Format
Parsear y serializar cargas CSV y XML.
Notification
Enviar notificaciones a Slack, Microsoft Teams, Email, Microsoft 365 o webhooks.
OnChange
Deduplicar flujos emitiendo sólo cuando las claves observadas cambian más allá de una tolerancia.
Protocol Translator
Convertir entre JSON plano, JSON anidado, SparkplugB y OPC UA JSON.
Rate Limiter
Estrangulamiento token-bucket con estrategia de descarte o cola acotada.
Router
Enrutamiento condicional basado en expresiones MXL con una etiqueta _route.
Script
Ejecutar scripts Lua en sandbox con un timeout configurable.
Transform
Extraer o calcular campos con JSONPath, plantillas Go o valores estáticos.
Validation
Validación de tipo, rango y regex con acciones de descarte, reenvío o etiquetado.
Todos los conectores intercambian datos usando un formato estándar de carga clave-valor:
{ "temperature": 25.5, "pressure": 101.3, "humidity": 60, "status": "active", "timestamp": 1234567890}Este formato estandarizado permite que cualquier conector se comunique con cualquier otro conector, independientemente del protocolo o sistema subyacente.
Cada conector se configura usando JSON con tres secciones principales:
OpcuaReader, MqttV3Writer)Ejemplo:
{ "type": "OpcuaReader", "config": { "endpoint": "opc.tcp://localhost:4840", "pollingRate": 1000 }, "variables": [ { "key": "temperature", "nodeId": "ns=1;s=Temperature" } ]}Los conectores se organizan en hojas de trabajo (workflows) donde:
Los datos fluyen a través de conexiones entre conectores, con cada conector procesando datos en paralelo para máximo rendimiento.
Muchos conectores lectores admiten un parámetro pollingRate (en milisegundos):
{ "pollingRate": 1000 // Sondear cada 1 segundo}Los conectores que requieren autenticación típicamente admiten múltiples métodos:
{ "username": "user", "password": "pass"}O para autenticación basada en tokens:
{ "authToken": "tu-token-aquí"}Todos los conectores incluyen manejo de errores integrado y:
pollingRate apropiados para evitar sobrecargar sistemasAlgunos conectores acumulan datos en memoria:
maxRetained para limitar el uso de memoriaComienza con flujos de trabajo básicos de lector → escritor antes de agregar conectores de procesamiento.
Coloca conectores Filter temprano en el flujo de trabajo para reducir el tamaño de la carga y mejorar el rendimiento.
Usa conectores Reshape para estandarizar nombres de campos en diferentes fuentes.
Usa conectores Trigger para detectar condiciones de error y enrutar a conectores Alert.
Usa conectores Cron para procesamiento por lotes y liberaciones de datos programadas.
Usa conectores Auth para validar tokens JWT en flujos de datos que requieren autenticación.
Agrega conectores Anomaly Detection para identificar patrones inusuales en tus datos.
Explora la documentación de conectores por categoría: