RTI Labs Meluncurkan Connector dengan Python untuk Connext DDS—Sekarang dalam Suite Connext
Banyak yang telah berubah sejak artikel ini pertama kali muncul. Hari ini Anda dapat mengakses DDS langsung dari Python atau JavaScript—berkat para beta tester program RTI Labs kami, RTI Connector for Connext® DDS telah diintegrasikan ke dalam keluarga produk Connext.
Minggu ini kami senang memperkenalkan RTI Labs, inisiatif gratis yang memberikan pelanggan kami akses awal ke generasi berikutnya teknologi IIoT. Proyek yang dirilis di bawah RTI Labs bersifat eksperimental, memungkinkan peserta untuk membuat prototipe ide baru dan membentuk roadmap produk kami melalui umpan balik dunia nyata. Ini adalah situasi win-win bagi RTI dan komunitas.
Kami meluncurkan program dengan tiga proyek eksperimental, dan yang pertama adalah RTI (R) Connector for Connext DDS. Jika Anda telah mengunduh RTI Connext 5.3.0 dan meluncurkan RTI Launcher, Anda akan melihat ikon baru di tab “Lab”—salah satunya adalah ikon Connector.

Klik ikon Connector membuka halaman RTI Connector di Community Portal. Connector dibuat oleh Tim Penelitian RTI untuk mempercepat pengembangan demo dan pengujian cepat. Ini dimulai dengan antarmuka Lua untuk RTI Prototyper dan sejak itu berkembang untuk mendukung Python dan JavaScript/node.js.
Apa Itu RTI Connector?
RTI Connector for Connext DDS menyediakan antarmuka yang dapat di-script dan ringan untuk kekuatan penuh RTI Connext DDS. Ini mendukung JavaScript, Python, dan Lua, dan dibangun pada kemampuan XML App Creation dan Dynamic Data Connext. Sementara artikel ini berfokus pada Python API, prinsip yang sama berlaku untuk JavaScript/node.js dan Lua/Prototyper.
Use Cases
Pengguna awal telah menemukan Connector berharga dalam beberapa skenario:
- Testing: Ketika komponen dari sistem terdistribusi belum siap, Connector dapat meniru bagian DDS yang hilang, memungkinkan pengujian terisolasi dan mengurangi keterlambatan integrasi.
- Prototyping: Membangun demo atau bukti konsep dengan cepat dengan kode minimal—sering kali satu orde magnitudo lebih sedikit dari native Connext APIs.
- User Interfaces: Gabungkan Connector dengan framework UI Python seperti PyQt untuk membuat dasbor sederhana yang mempublikasikan atau berlangganan data DDS.
- Integrasi: Manfaat ekosistem luas Python—PyPI mengeluarkan lebih dari 112.439 paket—untuk menambahkan fungsionalitas pihak ketiga dan berkomunikasi melalui DDS.
- Lainnya: Bagikan kasus penggunaan unik Anda di RTI Community Forum dan membantu membentuk peningkatan di masa depan.
Memulai dengan RTI
Berikut ini mengasumsikan kemampuan dasar Python. RTI Connector bekerja dengan Python 3 dan rilis sebelumnya, berjalan pada semua sistem operasi perusahaan utama, dan didukung pada papan tertanam seperti Raspberry Pi. Daftar platform lengkap tersedia di situs web kami. Jika Anda membutuhkan dukungan untuk lingkungan lain, hubungi di forum.
Instal Connector dari PyPI:
pip install rticonnextdds_connector
Atau, clone repositori:
git clone https://github.com/rticommunity/rticonnextdds-connector.git
Repositori mencakup beberapa contoh yang siap dijalankan:
- simple/writer.js – Buat writer, tetapkan instance, dan publikasikan sampel.
- simple/reader.js – Ambil reader, ambil sampel, dan periksa konten.
- simple/read_and_write.py – Baca setiap sampel, balikkan dua bidang, dan tulis kembali.
- mixed/ – Contoh terbaru yang mencakup panjang sequence, penggunaan wait(), dan lebih banyak.
Ringkasan API
Untuk mendalami lebih dalam, konsultasikan README di repositori GitHub kami. Di bawah ini adalah panduan singkat tentang API inti.
Pertama, impor pustaka Connector:
import rticonnextdds_connector as rti
Buat instance Connector dengan konfigurasi dan file XML yang diinginkan:
connector = rti.Connector("MyParticipantLibrary::Zero", "./ShapeExample.xml") String pertama menamai konfigurasi, dan yang kedua menunjuk ke file App Creation berbasis XML. File contoh tersedia di repositori.
Akses Data Writers melalui getOutput dan Data Readers melalui getInput:
output = connector.getOutput("MyPublisher::MySquareWriter") input = connector.getInput("MySubscriber::MySquareReader") Kedua metode menerima nama entitas seperti yang didefinisikan dalam XML.
Tetapkan bidang pada writer menggunakan dictionary atau secara individual:
output.instance.setDictionary(sample) output.instance.setNumber("y", 2) Di sisi reader, ambil sampel dengan read() atau take(), lalu iterasi:
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") # …
Sampel juga dapat diakses sebagai dictionary:
sample = input.samples.getDictionary(j)
Saat bekerja dengan multithreading, amankan akses Connector—contoh tersedia di repositori.
Keterbatasan
Sementara RTI Connector menyederhanakan banyak tugas, ini sengaja ringan. Ini hanya mendukung Dynamic Data, bukan compiled types, dan kurang beberapa fitur lanjutan yang tersedia dalam suite Connext DDS Pro penuh. Untuk kasus penggunaan khusus, kami merekomendasikan untuk meninjau dokumentasi kami atau menghubungi dukungan untuk solusi alternatif.
Biaya
RTI Connector gratis. Kami hanya meminta pengguna untuk memberikan umpan balik untuk membantu membentuk rilis mendatang. Wawasan Anda mempengaruhi roadmap kami.
Kesimpulan
Postingan ini menawarkan pandangan tingkat tinggi tentang RTI Connector untuk Python. Cara terbaik untuk belajar adalah bereksperimen—unduh paket, jalankan contoh, dan bagikan pengalaman Anda di RTI Community Forum. Umpan balik Anda sangat berharga saat kami menyempurnakan alat dan merencanakan generasi fitur berikutnya.