Isi kandungan:

Mengesan Situasi Emergencials - Qualcomm Dragonboard 410c: 7 Langkah
Mengesan Situasi Emergencials - Qualcomm Dragonboard 410c: 7 Langkah

Video: Mengesan Situasi Emergencials - Qualcomm Dragonboard 410c: 7 Langkah

Video: Mengesan Situasi Emergencials - Qualcomm Dragonboard 410c: 7 Langkah
Video: [ENG SUB]拜登再簽科技禁令卡習近平脖子 中國俄羅斯極圈巡邏直入美紅區【全球大亮話】20230803 2024, November
Anonim
Mengesan Situasi Emergencials - Qualcomm Dragonboard 410c
Mengesan Situasi Emergencials - Qualcomm Dragonboard 410c
Mengesan Situasi Emergencials - Qualcomm Dragonboard 410c
Mengesan Situasi Emergencials - Qualcomm Dragonboard 410c
Mengesan Situasi Emergencials - Qualcomm Dragonboard 410c
Mengesan Situasi Emergencials - Qualcomm Dragonboard 410c

Mencari sistem keselamatan yang berfungsi untuk memantau situasi yang muncul, mungkin untuk menyedari bahawa terlalu sukar untuk memproses semua maklumat yang direkodkan. Memikirkan perkara itu, kami memutuskan untuk menggunakan pengetahuan kami dalam pemprosesan audio / gambar, sensor dan penggerak untuk membuat satu sistem lengkap yang memungkinkan untuk meramalkan situasi di mana kehidupan orang dalam bahaya.

Projek ini mempunyai sensor dan alat kawalan jauh tempatan untuk mengumpulkan data dan mengirim ke papan naga, yang mempunyai daya pemprosesan yang mampu mengekstrak maklumat penting dari data yang diterima.

Peranti jarak jauh adalah papan Arduino dengan modul HC-06 berubah untuk mentransfer semua maklumat, dan jaring dengan kos rendah yang mampu memproses sejumlah besar data.

Langkah 1: Komponen yang Diperlukan

Pertama sekali, anda mesti memutuskan sensor dan penggerak mana yang akan anda gunakan, dan membuat lakaran arkitek.

Dalam kes kami, kami menggunakan sensor ini yang disambungkan dalam ARDUINO Pro Mini, yang disenaraikan di bawah:

  • PIR (Sensor Kehadiran Pasif - Pasif)
  • DHT 11 (Sensor kelembapan dan suhu)
  • Sensor CO (Sensor Karbon Monoksida)
  • Sensor kebisingan

Penggerak:

  • servo motor
  • buzzer

Komunikasi:

Modul Bluetooth HC-06

Untuk Dragonboard 410c, kami akan mempunyai beberapa sensor dan perisian untuk memproses semua input data:

Sensor:

  • DHT 11
  • Sensor Cahaya Matahari

Penggerak:

  • Geganti
  • Status dipimpin
  • Buzzer

Langkah 2: Membuat Peranti Jauh

Membuat Peranti Jauh
Membuat Peranti Jauh

Kini tiba masanya untuk menghubungkan semua komponen berikut ke Arduino Board, membuat peranti yang akan menerima data dari suasana (kebisingan, kelembapan, suhu, dan lain-lain), dan mengirim ke Dragonboard oleh modul bluetooth HC-06.

Perlu memperhatikan koneksi, kerana semua sensor mempunyai spesifikasi tempat untuk disambungkan.

Pada sistem, terdapat lebih daripada satu peranti untuk mengumpulkan data. Semakin banyak peranti yang anda pasangkan di persekitaran, semakin tepat diagnostik yang dihasilkan oleh pemprosesan data. Oleh kerana dapat mengekstrak lebih banyak maklumat yang mungkin berguna.

Kami memutuskan untuk menggunakan papan arduino kerana mempunyai sensor yang lebih serasi, dan mungkin untuk memasang peranti jauh ini di tempat yang berbeza, mengumpulkan lebih banyak maklumat.

Peranti tempatan adalah DragonBoard 410c, yang memproses maklumat audio, video, digital dan analog dengan pemproses SnapDragon 410 anda yang kuat.

Peletakan komponen (Remote Devide)

Yang satu keping mempunyai beberapa pin yang mesti disambungkan di pin kanan pada papan mini arduino pro.

Modul Bluetooth HC-06 mempunyai 4 pin:

  • TX (Transmissor) -> disambungkan pada pin RX Arduino
  • RX (Penerima) -> disambungkan pada pin TX Arduino
  • VCC -> disambungkan pada 5v
  • GND

Sensor DHT 11 mempunyai 4 pin (tetapi hanya 3 digunakan):

  • Isyarat -> disambungkan pada pin digital
  • VCC -> disambungkan pada 5v
  • GND

PIR Sensor mempunyai 3 pin:

  • Isyarat -> disambungkan pada pin digital
  • VCC -> disambungkan pada 5v
  • GND

Sensor gas (MQ) mempunyai 4 pin:

  • Digital OUT -> disambungkan pada pin digital (jika anda mahukan maklumat digital)
  • Analog OUT -> dalam kes kami, kami menggunakan sambungan ini pada pin analog
  • VCC -> disambungkan pada 5v
  • GND

Sensor kebisingan (KY-038) mempunyai 3 pin:

  • Isyarat -> disambungkan pada pin analog
  • VCC -> disambungkan pada 5v
  • GND

Kod untuk Peranti jauh Arduino:

/ * * Arduino menghantar data melalui Blutooth * * Nilai sensor dibaca, disatukan pada * String dan hantar melalui port bersiri. * / #masuk "DHT.h" #tentukan DHTPIN 3 #definisi DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); terapung lembap, suhu; boolean pir = 0; int co, mic; Rentetan msg = ""; char nome [40]; batal persediaan () {Serial.begin (9600); dht.begin (); } gelung void () {humidaty = dht.readHumidity (); suhu = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + Rentetan (lembab) + ";" + String (suhu) + ";" + String (mic) + ";" + String (pir) + ";" + String (co) + "; #" + "\ n"; Serial.print (msg); kelewatan (2000); }

Penjelasan kod:

Semua pin yang digunakan dalam Arduino disebutkan pada awal kod dan perpustakaan masing-masing yang diperlukan untuk operasi sensor diinisialisasi. Semua data akan diteruskan ke pemboleh ubah masing-masing yang akan menerima nilai yang dibaca dari setiap sensor setiap 2000 milisaat, kemudian semuanya digabungkan dalam String, kemudian ditulis dalam Serial. Dari situ sangat mudah kod pyton yang ada di DragonBoard untuk menangkap data tersebut.

Langkah 3: Perisian dan Perpustakaan

Untuk memproses semua data yang diterima dan mengawal sistem keselamatan, perlu menggunakan beberapa perisian dan perpustakaan di Qualcomm DragonBoard 410c.

Dalam projek khusus ini kami menggunakan:

Perisian:

  • Python
  • Arduino

Bentuk Plata:

  • Amazon AWS -> pelayan dalam talian
  • Phant -> Host data perkhidmatan

Perpustakaan:

  • OpenCV - Pemprosesan Video (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Pemprosesan Audio (https://people.csail.mit.edu/hubert/pyaudio/)
  • Gelombang (https://www.physionet.org/physiotools/wave-installation.shtm)
  • AudioOp (https://docs.python.org9https://scikit-learn.org/stable/install.html/2/library/audioop.html)
  • Numpy (https://www.numpy.org)
  • SciKit1 - Latih dan ramalkan pembelajaran mesin (https://scikit-learn.org/stable/install.html)
  • cPickle - Simpan parameter pembelajaran mesin (https://pymotw.com/2/pickle/)
  • MRAA - Gunakan GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM - Gunakan GPIO (https://github.com/intel-iot-devkit/upm)
  • PySerial - Digunakan untuk komunikasi bersiri dengan peranti Bluetooth (https://pythonhosted.org/pyserial/)

Langkah 4: Menggunakan SSH dan Memasang Lib

Mula-mula anda perlu mendapatkan alamat IP dari Dragonboard, untuk melakukannya, anda perlu menghidupkan DragonBoard yang disambungkan dengan tetikus, papan kekunci dan monitor HDMI. Apabila papan dihidupkan, anda perlu menyambung ke rangkaian, daripada pergi ke terminal dan jalankan perintah:

sudo ifconfig

selepas itu anda boleh mendapatkan alamat IP.

Dengan alamat IP anda dapat mengakses Dragonboard melalui SHH, untuk melakukan itu anda perlu membuka terminal di komputer yang disambungkan dalam rangkaian yang sama dengan papan. Di terminal anda boleh menjalankan perintah:

ssh linaro @ {IP}

(anda harus mengganti {IP} dengan alamat IP yang anda dapatkan di Dragonboard).

Lib pertama yang perlu anda pasang ialah mraa lib. Untuk melakukan itu, anda perlu menjalankan perintah berikut di terminal:

sudo add-apt-repository ppa: mraa / mraa && sudo apt-ge; t update && sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa

Untuk memasang opencv untuk python, anda hanya perlu menjalankan perintah:

sudo apt-get install python-opencv

Untuk memasang PyAudio, anda perlu menjalankan perintah:

sudo apt-get install python-pyaudio python3-pyaudio

Lib WAVE dan AudioOp sudah dipasang di papan. Untuk memasang numpy, anda perlu menjalankan perintah:

sudo apt-get install python-numpy python-scipy

Lib terakhir yang harus anda pasang adalah scikit, untuk memasangnya anda perlu memasang pip. Daripada anda hanya perlu menjalankan perintah:

pip memasang scikit-lear

Langkah 5: Protokol Bluetooth

Protokol Bluetooth
Protokol Bluetooth
Protokol Bluetooth
Protokol Bluetooth
Protokol Bluetooth
Protokol Bluetooth

Sambungan DragonBoard dengan Arduino melalui Bluetooth

Modul Bluetooth (HC-06) pada mulanya disambungkan ke Arduino Nano mengikut contoh berikut:

Menggunakan antara muka grafik Linaro (Sistem Operasi yang Digunakan dalam projek semasa di DragonBoard), di sebelah kanan bar bawah klik pada simbol Bluetooth dan kemudian klik pada "Siapkan Peranti Baru" dan konfigurasikan dengan modul Bluetooth anda sehingga berpasangan. Sahkan bahawa modul anda benar-benar terhubung dengan mengklik simbol Bluetooth sekali lagi, klik pada "Peranti …" dan lihat apakah nama peranti anda disenaraikan dan disambungkan. Sekarang pilih peranti anda di skrin "Peranti Bluetooth" dan klik kanan padanya dan perhatikan port yang disambungkan oleh modul Bluetooth anda (mis.: "rfcomm0"). Catatan: Nama port yang disambungkan oleh peranti anda akan penting untuk langkah seterusnya untuk membolehkan pertukaran data.

Menubuhkan DragonBoard Data Exchange dan Bluetooth

Pada dasarnya kami mengikuti langkah demi langkah pautan: https://www.uugear.com/portfolio/bluetooth-communi… tetapi kami tidak melakukan bahagian pasangan hanya pelaksanaan kod python dan Arduino. Di python digunakan perpustakaan bersiri yang diinisialisasi di port yang terhubung ke bluetooth, oleh itu kod python membaca data sensor yang disambungkan ke arduino melalui modul bluetooth.

Langkah 6: Menggunakan Mezzanine di DragonBoard 410c

Menggunakan Mezzanine di DragonBoard 410c
Menggunakan Mezzanine di DragonBoard 410c

Untuk membuat hubungan antara papan naga dan komponen, kami menggunakan sejenis perisai yang dipanggil oleh Mezannine, yang dikembangkan oleh 96 papan.

Dengan menggunakan perisai ini, menghubungkan periferal menjadi lebih mudah.

Penyambung yang digunakan adalah dari kit pengembangan kebun, jadi hanya menggunakan kabel especif yang menghubungkan kedua-dua cara, Semua bahagian boleh didapati dengan mudah di laman web ini:

Kami menggunakan kit ini di bawah:

  • Relay Grove
  • Sensor cahaya matahari Grove
  • Soket led grove
  • Sensor temp & humi grove
  • Grove Buzzer

Langkah 7: Perisian DragonBoard 410c

Bahagian program di DragonBoard dikodekan di Python dan program yang digunakan di Arduino dikembangkan di C ++. Setiap 2 minit, Arduino membaca semua sensor yang melekat padanya. Daripada Arduino menghantar bacaan ke DragonBoard oleh Bluetooth. DragonBoard menggabungkan bacaan yang berasal dari Arduino dengan bacaan yang dibuat oleh perisai Mezzanine dengan ciri-ciri dari sampel audio dan video.

Dengan data ini, Dewan berusaha untuk meramalkan jika keadaan darurat berlaku. Lembaga menghantar ke Perkhidmatan Web Amazon menggunakan data mentah Phant dan ramalan yang dibuatnya. Sekiranya dewan meramalkan bahawa ia berlaku situasi yang aneh, cuba memberi amaran kepada pengguna yang mengedipkan lampu led dan buzzer di Mezzanine dan tunjukkan di aplikasi web. Dalam aplikasi web juga dapat melihat data mentah untuk memahami apa yang berlaku di kawasan ini.

Disyorkan: