Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Teknologi Internet of Things

Gunakan MATLAB untuk Memanfaatkan Data IoT Langsung Anda

Jika Anda pernah melakukan analisis data dari sensor atau jenis sumber data lainnya, kemungkinan besar Anda mengikuti proses di mana Anda mengumpulkan data, Anda mengonversi data dan kemudian menggunakan MATLAB untuk memproses dan menganalisis data. Menggunakan MATLAB untuk menganalisis data adalah alat yang sangat terkenal untuk menyelesaikan tugas itu. Mengumpulkan dan mengonversi data, sehingga dapat digunakan di MATLAB, dapat memakan waktu yang sangat lama. Berkat integrasi yang diselesaikan oleh MathWorks, sekarang dimungkinkan untuk dengan mudah menghubungkan MATLAB dengan data langsung yang dipublikasikan dan berlangganan di DDS. Dengan MATLAB menjadi salah satu alat teratas yang digunakan untuk menganalisis data dan DDS dengan cepat menjadi middleware komunikasi data aplikasi IIoT, integrasi ini akan memungkinkan beberapa pembuatan prototipe dan analisis pengujian yang sangat cepat untuk pengembang. Postingan blog ini akan membahas beberapa contoh cara memublikasikan data DDS dan juga cara berlangganan data DDS menggunakan MATLAB.

Memulai

Untuk memulai, Anda harus memastikan bahwa MATLAB dan RTI Connext DDS diinstal di komputer Anda. Untuk rangkaian contoh ini, versi berikut digunakan:

Setelah Anda menginstalnya, cukup ikuti video di tautan ini untuk menyelesaikan dan memverifikasi instalasi:Video Instalasi

Inisialisasi

Setelah Anda menginstal dan memverifikasi semuanya, hanya ada beberapa langkah untuk menyiapkan DDS dengan tepat di dalam MATLAB.

Mengimpor tipe data di MATLAB itu sederhana. Di DDS, tipe data ditentukan menggunakan file IDL. Pernyataan impor MATLAB dapat membaca file IDL secara langsung dan akan membuat file ".m" yang diperlukan untuk bekerja dengan tipe data tersebut dalam penerjemah MATLAB. Panggilan MATLAB berikut akan mengimpor tipe data yang disebut "ShapeType" dari file ShapeType.idl yang terletak di direktori kerja saat ini:

>> DDS.import('ShapeType.idl','matlab','f')

Sekarang tipe data tersebut tersedia untuk digunakan saat membuat DataReaders dan DataWriters topik Anda di DDS. Perhatikan juga, bahwa setelah impor selesai, langkah ini tidak lagi harus dijalankan di masa mendatang. Jenisnya akan tersedia di MATLAB ke depan. Hal berikutnya yang harus dilakukan untuk menjalankan penemuan DDS adalah membuat Peserta Domain DDS. Itu dapat dicapai dalam panggilan ini:

>> dp =DDS.DomainParticipant;

Dengan menggunakan objek DomainParticipant (dp) ini, Anda kemudian dapat membuat objek DataWriter dan DataReader. Dua perintah berikut akan menambahkan objek penulis data dan objek pembaca data ke dp yang menetapkan jenisnya sebagai "ShapeType" yang baru dibuat dan topiknya masing-masing menjadi "Segitiga" dan "Persegi".

>> dp.addWriter('ShapeType','Triangle')>> dp.addReader('ShapeType','Square')

Berlangganan Data dalam Demo Bentuk

ShapeType digunakan sehingga akan berkomunikasi dengan aplikasi RTI Shapes Demonstration (Shapes) standar yang disediakan oleh RTI. Bentuk memungkinkan pembuatan DataWriters dan DataReader topik "Persegi", "Lingkaran" dan "Segitiga" yang pada gilirannya didasarkan pada tipe data "ShapeType". Untuk informasi lebih lanjut tentang cara menggunakan aplikasi Shapes, klik di sini untuk melihat video tutorial kami.

Di Shapes, langkah selanjutnya adalah membuat subscriber dari Triangle. Di layar berikutnya biarkan semua opsi QoS lainnya sebagai default.

Menerbitkan Data di MATLAB

Sekarang kita memiliki pengaturan DataWriter di MATLAB untuk mengirimkan ShapeType pada topik Segitiga, dan juga kita memiliki pengaturan Demo Bentuk untuk menerima publikasi, mari kita latih penulisnya. Perintah berikut akan mengisi bidang ShapeType dan kemudian mempublikasikan data pada Topik Segitiga:

%% membuat instance ShapeTypemyData =ShapeType;myData.x =int32(75);myData.y =int32(100);myData.shapesize =int32(50);myData.color ='GREEN';%% tulis data ke DDSdp.write(myData);

Hasil pada Topik Segitiga dalam Demo Bentuk akan menjadi Segitiga Hijau tunggal yang ditampilkan di sini:

Beberapa kasus penggunaan yang lebih menarik dari penerbitan Triangle dalam MATLAB adalah:

%% Menerbitkan Segitiga Hijau dalam satu baris pada 1 Hzfor i=1:10 myData.x =int32(20 + 10*i); myData.y =int32(40 + 10*i); dp.tulis(datasaya); pause(1);end%% Menerbitkan Segitiga Hijau dalam pola Lingkaran pada 20Hz untuk i=1:1000 sudut =10*pi * (i/200); myData.x =int32(100 + (50 * cos(sudut))); myData.y =int32(100 + (50 * sin(sudut))); myData.shapesize =int32(40); myData.color ='HIJAU'; dp.tulis(datasaya); jeda(0.05);akhir

Output yang dihasilkan pada Demo Bentuk masing-masing adalah:

Menerbitkan Data dalam Demo Bentuk

Dalam demonstrasi Shapes, buat penerbit Square. Di layar berikutnya cukup pilih warna dan biarkan semua opsi QoS lainnya sebagai default. Tangkapan layar berikut menunjukkan layar Square Publish. Untuk demonstrasi saya, saya telah memilih Orange Square. Ini akan memublikasikan Posisi X,Y di layar setiap 30 mdtk.

Berlangganan Data di MATLAB

Jika Anda ingat sebelumnya kami menambahkan Square Topic DataReader ke Domain Participant di MATLAB. Kami akan menggunakan DataReader ini untuk berlangganan data yang sekarang kami terbitkan dari Demonstrasi Bentuk. Perintah berikut di MATLAB akan membaca 10 sampel pada 1 Hz.

%% membaca data untuk i=1:10 dp.read() pause(1);end

Output yang dihasilkan dalam MATLAB akan menjadi 10 laporan sebagai berikut:

Sesuatu yang Lebih Menarik

Sekarang kita memiliki kedua arah, mari lakukan sesuatu yang lebih kreatif dengan data. Pertama kita akan membaca data Kotak dan memodifikasinya untuk mengganti koordinat X dan Y dan kemudian menerbitkannya kembali ke Segitiga MERAH. Kedua, kita akan mengambil data Posisi yang dihasilkan dan memplotnya langsung di dalam MATLAB. Ini adalah perintah yang digunakan di MATLAB untuk melakukannya.

%% mengalokasikan array 100 elemenxArray =zeros(1,100);%% menjalankan loop untuk mengumpulkan data dan menyimpannya ke dalam array%% juga mengganti koordinat X dan Y dan kemudian mempublikasikan ulang ke %% topik Segitiga untuk i=1:100 [myData, status] =dp.read(); if ~isempty(myData) x =myData(1).x; y =myData(1).y; xArray(i) =x; yArray(i) =y; myData(1).y =x; myData(1).x =y; myData(1).color ='MERAH'; dp.tulis(datasaya(1)); end pause(0.05)end%% Plot Data Posisi Xt =1:100;plot(t,xArray);legend('xPos');xlabel('Time'), ylabel('Position');title('X Posisi');

Output yang dihasilkan dalam Demo Bentuk akan menjadi Segitiga Merah yang bergerak berlawanan dengan Kotak Oranye dan juga Plot akan dihasilkan dalam MATLAB yang menunjukkan data Posisi X:

Seperti yang Anda lihat, integrasi DDS dengan MATLAB sangat mudah digunakan dan membuatnya sangat mudah untuk mengumpulkan data, memasukkan data, dan menganalisis data. Untuk demonstrasi ini, kami menggunakan Aplikasi Bentuk sederhana, tetapi data yang digunakan dapat dengan mudah menjadi data aplikasi Anda sendiri. Jika Anda ingin mengetahui lebih lanjut tentang Integrasi MATLAB dengan RTI Connext DDS, silakan kunjungi situs ini di situs MathWorks:Integrasi DDS MATLAB. Jika Anda ingin mempelajari lebih lanjut tentang menggunakan Connext DDS, klik di sini untuk mendapatkan akses ke sumber daya pengembang kami.


Teknologi Internet of Things

  1. MQTT dan DDS:Komunikasi Mesin ke Mesin di IoT
  2. Pelajaran dari Hannover Messe:5 Cara Memanfaatkan TI untuk Operasi Industri Anda
  3. Tetap patuh pada data di IoT
  4. Apakah sistem Anda siap untuk IoT?
  5. Demokratisasi IoT
  6. Memaksimalkan nilai data IoT
  7. Membuat data IoT berfungsi untuk bisnis Anda
  8. IoT dan pemahaman Anda tentang data
  9. Platform Analisis Data IoT Teratas
  10. MATLAB - Tipe Data