RTI Labs lanza Connector para Connext DDS con Python —Ahora en la suite Connext
Mucho ha cambiado desde que apareció este artículo. Hoy puede acceder a DDS directamente desde Python o JavaScript —gracias a los beta testers de nuestro programa RTI Labs, RTI Connector para Connext® DDS se ha integrado en la familia de productos Connext.
Esta semana estamos emocionados de presentar RTI Labs, una iniciativa gratuita que da a nuestros clientes acceso temprano a la próxima generación de tecnología IIoT industrial. Los proyectos lanzados bajo RTI Labs son experimentales, permitiendo a participantes prototipar nuevas ideas y moldear la hoja de ruta de nuestros productos a través de retroalimentación real. Es un ganar-ganar para RTI y la comunidad.
Lanzamos el programa con tres proyectos experimentales, y el primero es RTI (R) Connector para Connext DDS. Si ya descargó RTI Connext 5.3.0 y lanzó el RTI Launcher, notará nuevos iconos en la pestaña “Lab” —uno de ellos es el icono Connector.

Hacer clic en el icono Connector abre la página de RTI Connector en el Portal de la Comunidad. Connector fue creado por el Equipo de Investigación de RTI para acelerar desarrollo de demos y pruebas rápidas. Comenzó con una interfaz Lua a RTI Prototyper y desde entonces se ha expandido para soportar Python y JavaScript/node.js.
¿Qué es RTI Connector?
RTI Connector para Connext DDS proporciona una interfaz ligera y scriptable al poder completo de RTI Connext DDS. Soporta JavaScript, Python y Lua, y se basa en las capacidades de Creación de App XML y Datos Dinámicos de Connext. Aunque este artículo se enfoca en la API Python, los mismos principios aplican a JavaScript/node.js y Lua/Prototyper.
Casos de uso
Los primeros adoptantes han encontrado Connector valioso en varios escenarios:
- Pruebas: Cuando componentes de un sistema distribuido no están listos, Connector puede emular partes DDS faltantes, permitiendo pruebas aisladas y reduciendo retrasos de integración.
- Prototipado: Construya rápidamente demos o pruebas de concepto con código mínimo —a menudo un orden de magnitud menos que APIs nativas de Connext.
- Interfaces de Usuario: Combine Connector con frameworks UI de Python como PyQt para crear dashboards simples que publican o suscriben a datos DDS.
- Integración: Aproveche el vasto ecosistema de Python —PyPI aloja más de 112.439 paquetes— para añadir funcionalidad de terceros y comunicar sobre DDS.
- Otros: Comparta su caso de uso único en el Foro de la Comunidad RTI y ayude a dar forma a futuras mejoras.
Primeros pasos con RTI
Lo siguiente asume familiaridad básica con Python. RTI Connector funciona con Python 3 y versiones anteriores, corre en todos los principales sistemas operativos empresariales, y está soportado en placas embebidas como Raspberry Pi. Una lista completa de plataformas está disponible en nuestro sitio web. Si necesita soporte para otro entorno, contacte en el foro.
Instale Connector desde PyPI:
pip install rticonnextdds_connector
Alternativamente, clone el repositorio:
git clone https://github.com/rticommunity/rticonnextdds-connector.git
El repositorio incluye varios ejemplos listos para ejecutar:
- simple/writer.js – Cree un writer, establezca una instancia y publique muestras.
- simple/reader.js – Recupere un reader, obtenga muestras e inspeccione contenido.
- simple/read_and_write.py – Lea cada muestra, invierta dos campos y escriba de vuelta.
- mixed/ – Ejemplos actualizados cubriendo longitudes de secuencia, uso de wait() y más.
Visión general de la API
Para una inmersión más profunda, consulte el README en nuestro repositorio de GitHub. A continuación, un recorrido conciso de la API central.
Primero, importe la biblioteca Connector:
import rticonnextdds_connector as rti
Cree una instancia Connector con la configuración deseada y archivo XML:
connector = rti.Connector("MyParticipantLibrary::Zero", "./ShapeExample.xml")
La primera cadena nombra la configuración, y la segunda apunta a un archivo de Creación de App Base XML. Un archivo de muestra está disponible en el repositorio.
Acceda a Data Writers vía getOutput y Data Readers vía getInput:
output = connector.getOutput("MyPublisher::MySquareWriter") input = connector.getInput("MySubscriber::MySquareReader")
Ambos métodos aceptan el nombre de la entidad como se define en el XML.
Establezca campos en un writer usando un diccionario o individualmente:
output.instance.setDictionary(sample) output.instance.setNumber("y", 2)
En el lado del reader, recupere muestras con read() o take(), luego itere:
input.read() # or input.take() numOfSamples = input.samples.getLength() for j in range(1, numOfSamples+1): if input.infos.isValid(j): x = input.samples.getNumber(j, "x") y = input.samples.getNumber(j, "y") # …
Las muestras también pueden accederse como diccionario:
sample = input.samples.getDictionary(j)
Al trabajar con multihilo, proteja el acceso a Connector —ejemplos disponibles en el repositorio.
Limitaciones
Aunque RTI Connector simplifica muchas tareas, es intencionalmente ligero. Soporta solo Datos Dinámicos, no tipos compilados, y carece de algunas características avanzadas disponibles en la suite completa Connext DDS Pro. Para casos de uso especializados, recomendamos revisar nuestra documentación o contactar soporte para soluciones alternativas.
Coste
RTI Connector es gratis. Solo pedimos que los usuarios proporcionen retroalimentación para ayudar a dar forma a futuros lanzamientos. Sus insights influyen en nuestra hoja de ruta.
Conclusión
Este post ofrece una vista de alto nivel de RTI Connector para Python. La mejor forma de aprender es experimentar —descargue el paquete, ejecute los ejemplos y comparta su experiencia en el Foro de la Comunidad RTI. Su retroalimentación es invaluable mientras refinamos la herramienta y planificamos la próxima generación de características.
Tecnología de Internet de las cosas
- Construya un robot con Raspberry Pi y Python: Guía completa
- OpenDDS vs. RTI Connext DDS: Elegir la Solución DDS Adecuada
- Construyendo un Sistema Robusto de Monitoreo de Series Temporales: Integrando RTI Connext DDS con Telegraf e InfluxDB
- RTI Connext 6 Ya Disponible: Rendimiento Mejorado, Seguridad y Conectividad Unificada
- Connext DDS en IIoT: 5 Claves para Fiabilidad, Seguridad y Escalabilidad
- RTI Perftest 2.4 lanzado: Pruebas de rendimiento mejoradas para Connext DDS
- Por qué RTI Connext DDS es el middleware de referencia para vehículos autónomos
- Top 7 recursos para desarrolladores de IIoT industrial – Edición 2017
- Diseñando sistemas IIoT industriales con el Toolkit RTI DDS en LabVIEW 2017
- Connext DDS 101: Guía para principiantes para empezar
- Entendiendo type() e isinstance() en Python: ejemplos prácticos