Isi kandungan:
- Langkah 1: Komponen yang Diperlukan
- Langkah 2: Membuat Peranti Jauh
- Langkah 3: Perisian dan Perpustakaan
- Langkah 4: Menggunakan SSH dan Memasang Lib
- Langkah 5: Protokol Bluetooth
- Langkah 6: Menggunakan Mezzanine di DragonBoard 410c
- Langkah 7: Perisian DragonBoard 410c
Video: Mengesan Situasi Emergencials - Qualcomm Dragonboard 410c: 7 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
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
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
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
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:
Stesen Minyak untuk Mengesan CO: 5 Langkah
Stesen Minyak untuk Mengesan CO: Karbon monoksida (CO) adalah gas yang sangat berbahaya, kerana tidak berbau, tidak terasa. Anda tidak dapat melihatnya, atau mengesannya dengan hidung. Matlamat saya adalah membina pengesan CO sederhana. Pertama, saya mengesan sejumlah kecil gas itu di rumah saya. Itulah sebabnya
Mengesan Getaran Menggunakan Modul Sensor Ketuk Kejutan Piezoelektrik: 6 Langkah
Mengesan Getaran Menggunakan Modul Piezoelectric Shock Tap Sensor: Dalam tutorial ini kita akan belajar bagaimana mengesan getaran kejutan menggunakan modul Getaran sensor Piezoelektrik sederhana dan Visuino. Tonton video demonstrasi
Pintu Bel Pintar Raspberry Pi DIY Yang Boleh Mengesan Orang, Kereta, Dll .: 5 Langkah
Pintu Pintar Pintar Raspberry Pi DIY Yang Dapat Mengesan Orang, Kereta, dan lain-lain: Reka bentuk bertema steampunk ini bergabung dengan pembantu rumah dan sistem audio pelbagai bilik kami untuk berkomunikasi dengan seluruh rumah pintar DIY kami. Sebaliknya daripada membeli Ring Doorbell (atau Nest, atau salah satu pesaing lain) Saya membina pintu pintar kami sendiri
Zombie Mengesan Owl Keselamatan Pintar (Pembelajaran Dalam): 10 Langkah (dengan Gambar)
Zombie Mengesan Smart Security Owl (Deep Learning): Hai semua, selamat datang di T3chFlicks! Dalam tutorial Halloween ini, kami akan menunjukkan kepada anda bagaimana kami meletakkan sentuhan yang sangat menyeramkan pada klasik rumah tangga biasa: kamera keselamatan. Bagaimana ?! Kami telah membuat burung hantu penglihatan malam yang menggunakan pemprosesan gambar untuk mengesan orang
Cara Menggunakan Mengesan Warna TCS3200 Dengan SkiiiD: 9 Langkah
Cara Menggunakan Detect Color TCS3200 Dengan SkiiiD: Tutorial untuk mengembangkan Detect Color TCS3200 dengan skiiiD