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

Tantangan Teknis ETSIIT | Dari Mahasiswa hingga Pengusaha

Setahun yang lalu, kami memulai pekerjaan kami untuk Tantangan Teknis ETSIIT IV (video). Siapa kita? Ya, kami adalah empat mahasiswa yang belajar Teknik Elektro dan Ilmu Komputer di Universitas Granada di Spanyol.

Tim kami, Prometheus, memenangkan Tantangan Teknologi yang disponsori oleh RTI. Untuk tantangan ini, tim yang terdiri dari empat atau lima siswa harus membuat produk untuk menyelesaikan tantangan yang diajukan oleh perusahaan eksternal. Tema tantangan tahun ini adalah "Sistem Terdistribusi Video Multi-Agen".

Kami mengikuti tantangan ini untuk pengalaman praktis. Satu tahun setelah Tantangan Teknologi, kita semua masih pelajar, tetapi sekarang kita telah meneliti peluang bisnis, merancang Locaviewer produk yang kompetitif, mengembangkan strategi untuk menjualnya di pasar, dan membuat prototipe kerja selain tugas kursus yang diperlukan untuk gelar kami.

Penampil lokasi

Sebagian besar orang tua dengan anak-anak di taman kanak-kanak khawatir tentang kesehatan dan kemajuan anak-anak mereka. Produk kami, Locaviewer, berupaya menyediakan orang tua untuk melacak dan melihat anak mereka secara real time. Sebagai bagian dari rencana pemasaran kami, kami membuat video promosi. Kode kami telah dirilis di bawah lisensi MIT di GitHub.

Organisasi dan Jadwal Tim

Proyek ini membutuhkan waktu sekitar 250 jam untuk kami selesaikan. Setiap minggu kami bertemu setidaknya selama 4 jam, dengan pengecualian bulan lalu di mana kami menghabiskan 20 jam/minggu untuk proyek tersebut. Agar lebih efisien, kami membagi menjadi dua tim. Dua orang mengerjakan algoritme lokasi Bluetooth dalam ruangan. Dua lainnya berfokus pada aplikasi untuk menangkap, menyandikan/mendekode aliran video, dan membagikannya menggunakan RTI Connext DDS.

Algoritma Lokasi

Langkah pertama dan terpenting dari solusi kami adalah menentukan lokasi anak-anak di dalam taman kanak-kanak. Setiap anak perlu memakai gelang dengan perangkat Bluetooth -sensor-, yang terus-menerus melaporkan kekuatan sinyal yang diterima perangkat Bluetooth -dongle-, ditempatkan di dinding ruangan. Nilai Indikasi Kekuatan Sinyal yang Diterima (RSSI) ini biasanya diukur dalam desibel (dB). Kami menentukan hubungan antara RSSI dan jarak.

Gambar2. Mengukur sinyal Bluetooth secara empiris berdasarkan sudut dan jarak.
Gambar3. Locaviewer dapat dikenakan.

Nilai RSSI dikirimkan ke komputer mini (Raspberry Pi atau MK802 III) untuk menjalankan algoritme triangulasi dan mengidentifikasi lokasi anak. Karena kami mengetahui posisi kamera, setelah menentukan posisi anak, kami mengetahui kamera mana yang merekam anak dan memilih kamera terbaik.

Gambar4. Triangulasi dalam ruangan.

Aplikasi Perekaman Video

Untuk merekam, menyandikan, mendekode, dan memvisualisasikan video, kami menggunakan GStreamer untuk Java. Kami mencoba perpustakaan lain seperti vlcj tetapi mereka tidak mendukung Raspberry Pi atau memenuhi batasan waktu nyata dari sistem kami. Setelah beberapa penelitian, kami menemukan GStreamer yang bekerja dengan Raspberry Pi, dan dapat dengan mudah mendapatkan buffer video yang disandikan secara real time (menggunakan AppSink dan Sumber Aplikasi elemen). Ini memungkinkan kami untuk merangkumnya dan mengirimkannya ke topik DDS. Kami mengerjakan ini selama beberapa bulan, bahkan, menerapkan solusi sementara dengan streaming HTTP menggunakan vlcj sampai kami menyelesaikan pendekatan terakhir kami.

Kami menggunakan encoder video VP8 (WebM). Karena pembungkus untuk Java hanya berfungsi dengan GStreamer versi 0.10, kami tidak dapat mengoptimalkannya, dan harus mengurangi dimensi video. Pengujian kami menggunakan Raspberry Pi, tetapi kami berencana untuk menggunakan perangkat MK802 III dalam implementasi akhir karena memiliki harga yang sama tetapi lebih banyak kekuatan pemrosesan. Konfigurasi pengkodean terakhir adalah:

Gambar5. Pipa GStreamer untuk merekam, menyandikan, dan mendapatkan video.

Kami menggunakan kode Java berikut untuk membuat elemen encoder VP8.

Elemen codec =ElementFactory.make("vp8enc", null);codec.set("threads", 5);codec.set("max-keyframe-distance", 20);codec.set("speed", 5);Element capsDst =ElementFactory.make("capsfilter", null);capsDst.setCaps(Caps.fromString("video/x-vp8 profile=(string)2"));  

Di sisi klien, kami menggunakan konfigurasi berikut:

Gambar6. Pipa GStreamer untuk menyetel, mendekode, dan memutar video.

Kami menggunakan kode Java berikut untuk membuat elemen dekoder VP8.

String caps ="video/x-vp8, width=(int)320, height=(int)240, framerate=15/1";Element capsSrc =ElementFactory.make(" capsfilter", null);capsSrc.setCaps(Caps.fromString(caps));Element queue =ElementFactory.make("queue2", null)Element codec =ElementFactory.make("vp8dec", null);Element convert =ElementFactory. make("ffmpegcolorspace", null); 

Kami juga mencoba penyandian JPEG, tetapi ini tidak layak untuk penggunaan waktu nyata karena ukuran yang lebih besar dan jumlah paket yang lebih banyak.

Arsitektur DDS

Pendekatan publish-subscribe adalah kunci dari solusi kami. Ini memungkinkan kami untuk berbagi data di antara banyak klien tanpa mengkhawatirkan soket atau koneksi jaringan. Kami hanya perlu menentukan jenis data yang akan dikirim dan diterima. Kami membuat perpustakaan pembungkus, DDStheus, untuk mengabstraksi penggunaan DDS di sistem kami.

Gambar7. Arsitektur sistem DDS umum.

Solusi akhir kami terdiri dari enam program yang berbagi tiga topik. Kami menggunakan bahasa pemrograman yang berbeda:

  1. Python bekerja pada tingkat rendah (HCI) dengan perangkat Bluetooth
  2. MATLAB/Oktaf untuk membuat skrip triangulasi
  3. Java bekerja dengan RTI Connext DDS dan antarmuka pengguna grafis

Kami perlu mengetahui semua nilai RSSI di sebuah ruangan. Kami membuat skrip untuk mengonfigurasi dongle Bluetooth dan mendapatkan informasi RSSI. Nilai-nilai ini dikirim ke program Java menggunakan koneksi soket sederhana di mesin yang sama. Aplikasi Java menerbitkan data di Data Sensor tema. Ini mengirim ID Anak (sensor Bluetooth MAC), ID dan posisi dongle Bluetooth, ruangan saat ini (sebagai kunci untuk memfilter menurut ruangan), nilai RSSI, dan waktu kedaluwarsa.

Gambar8. Diagram alur program sensor.

Setelah kamera merekam dan mengkodekan video, program Java Gava mengirimkan video melalui Data Video tema. Ini mengirim ID kamera sebagai nilai kunci untuk memfilter streaming menggunakan ContentFilteredTopic dengan posisi kamera, ruangan, bingkai yang disandikan, dan info codec.

Selanjutnya, aplikasi menempatkan ID kamera, ruangan, dan posisi kamera dalam nilai USER_DATA QoS dari setiap penerbit video. Komputer mini triangulasi kemudian bisa mendapatkan semua info kamera di sebuah ruangan hanya dengan menemukan penerbit. Itu juga dapat mendeteksi kamera baru dan rusak secara real time dan memperbarui skrip lokasi untuk meningkatkan algoritme pemilihan kamera.

Gambar9. Diagram alur program video.

Pada langkah terakhir, kami memproses data dan menulis hasilnya sebagai Data Anak tema. Ini dilakukan oleh server ruangan (diimplementasikan dengan Raspberry Pi atau MK802 III) yang melakukan triangulasi lokasi anak dan memilih kamera yang sesuai. Itu hanya menyaring sensor di ruangan saat ini dan mengumpulkan semua info penerbit video di ruangan itu. Data dikirim ke skrip Oktaf, yang mengembalikan lokasi anak dan ID kamera terbaik. Informasi yang dikirim k

[1] [2] 下一页

Teknologi Internet of Things

  1. Pertanyaan Umum dari Webinar Akses Jarak Jauh
  2. Community college menambahkan fleksibilitas untuk mahasiswa manufaktur komposit tingkat lanjut
  3. Seorang klien dari Lebanon belajar cara mengoperasikan mesin cnc
  4. Klien Kami dari Yordania Datang untuk Mengunjungi Pabrik Kami
  5. Pelanggan dari Kanada Mengunjungi Pabrik kami
  6. Insinyur Kami Pergi ke Dubai untuk Memberikan Dukungan Teknis Luar Negeri
  7. Pelanggan dari Qatar Mengunjungi Pabrik kami pada April 2017
  8. Klien Kami dari Bengal untuk Memeriksa Mesin Pengerjaan Kayu Baru kami
  9. Pelanggan dari India Datang ke Pabrik Kami untuk Memeriksa Mesin
  10. Pengunjung dari Korea untuk Mesin Router CNC