Daftar Isi:

Zombie Detecting Smart Security Owl (Deep Learning): 10 Langkah (dengan Gambar)
Zombie Detecting Smart Security Owl (Deep Learning): 10 Langkah (dengan Gambar)

Video: Zombie Detecting Smart Security Owl (Deep Learning): 10 Langkah (dengan Gambar)

Video: Zombie Detecting Smart Security Owl (Deep Learning): 10 Langkah (dengan Gambar)
Video: Did you know that in BAO... 2024, November
Anonim

Halo semuanya, selamat datang di T3chFlicks! Dalam tutorial Halloween ini, kami akan menunjukkan kepada Anda bagaimana kami memberikan sentuhan super seram pada klasik rumah tangga biasa: kamera keamanan.

Bagaimana?! Kami telah membuat burung hantu penglihatan malam yang menggunakan pemrosesan gambar untuk melacak orang. Oh, dan itu berbunyi, seperti yang asli!

Kami sangat senang dengan proyek ini dan kami telah menunggu untuk melakukannya sejak Raspberry Pi 4 baru diluncurkan. Ini memiliki RAM 4GB, yang membuka pintu ke banyak kemungkinan yang sangat menarik, termasuk melakukan beberapa pemrosesan gambar dengan model pembelajaran mendalam secara real time.

Jika Anda ingin mengawasi zombie yang mendekat pada Halloween, atau hanya memeriksa kebun Anda sepanjang tahun, inilah yang tepat untuk Anda. Keamanan tidak harus membosankan agar efektif!

Perlengkapan

Untuk bangunan ini, Anda akan membutuhkan:

  • Raspberry Pi 4 (Ram 4GB) Amazon
  • Kamera Penglihatan Malam Amazon
  • Mikro Servo Amazon
  • Burung hantu palsu Amazon
  • Lem Amazon
  • Cat Amazon
  • Sekrup Amazon
  • Pengeras suara USB Amazon
  • Catu daya portabel besar (5v+) Amazon
  • Printer 3D Amazon

Langkah 1: Langkah 1: Pemenggalan

Langkah 1: memenggal kepala
Langkah 1: memenggal kepala
Langkah 1: memenggal kepala
Langkah 1: memenggal kepala
Langkah 1: memenggal kepala
Langkah 1: memenggal kepala

A. Tarik kepala burung hantu (terkadang Anda hanya perlu bersikap brutal) dengan menarik keras kepalanya yang menempel pada pegas.

B. Kepala burung hantu terhubung ke tubuh dengan sebuah silinder yang duduk di atas pegas besar. Lepaskan silinder ini dengan melepas sekrup.

C. Silinder yang baru saja Anda lepaskan terbuat dari dua bagian, cangkir plastik dan bantalan yang berada di dalamnya. Lepaskan bantalan dari silinder menggunakan obeng (atau alat serupa).

D. Menggunakan sekrup yang menghubungkan silinder ke pegas, pasang servo ke silinder.

e. Lepaskan pegas dengan membuka tiga sekrup yang menahannya ke bodi.

F. Buat lubang di bagian atas tubuh burung hantu yang cukup besar untuk memuat beberapa kabel dan kabel kamera. Kami menggunakan kombinasi bor dan obeng yang tidak elegan untuk melakukan ini.

Langkah 2: Langkah 2: Tambahkan Cerdas

Langkah 2: Tambahkan Cerdas
Langkah 2: Tambahkan Cerdas
Langkah 2: Tambahkan Cerdas
Langkah 2: Tambahkan Cerdas
Langkah 2: Tambahkan Cerdas
Langkah 2: Tambahkan Cerdas

A. Cetak 3D casing kamera dan cat agar sesuai dengan burung hantu - kami menggunakan beberapa cat akrilik murah. Melukis bukanlah langkah penting, tetapi secara dramatis meningkatkan tampilan keseluruhan!

B. Dengan kepala burung hantu terbalik, kencangkan bagian atas kotak kamera ke bagian dalam kepalanya, di mana paruhnya menonjol.

C. Masukkan kamera ke dalam casing dan sambungkan kabel kamera.

D. Rekatkan servo ke panel atas pegas.

e. Hubungkan kabel panjang ke pin servo (5V, Gnd, sinyal)

F. Umpankan kabel kamera dan kabel untuk servo melalui pegas dan melalui lubang yang Anda buat di bagian atas tubuh sehingga berada di dalam tubuh berongga burung hantu.

Langkah 3: Langkah 3: Isi Dia

Langkah 3: Isi Dia
Langkah 3: Isi Dia
Langkah 3: Isi Dia
Langkah 3: Isi Dia
Langkah 3: Isi Dia
Langkah 3: Isi Dia
Langkah 3: Isi Dia
Langkah 3: Isi Dia

A. Lepaskan sumbat dari bagian bawah burung hantu dan perbesar ukuran lubang ini dengan memotong plastiknya. Terus tingkatkan ukurannya hingga Raspberry Pi dan speaker dapat masuk ke dalam tubuh burung hantu.

B. Setelah lubang cukup besar untuk memasukkan semua komponen ke dalam, tarik kabel kamera yang Anda masukkan melalui bagian atas burung hantu keluar dari alas dan colokkan ke Raspberry Pi.

C. Demikian pula, tarik kabel servo dan hubungkan ke Raspberry Pi:

  • +5v pada servo => +5V pada Pi
  • Gnd servo => gnd Pi
  • Sinyal servo => pin 12 Pi

D. Colokkan speaker USB ke Pi.

e. Masukkan kartu SD ke dalam Pi.

F. Power Pi menggunakan catu daya portabel.

G. Masukkan Pi, catu daya, dan speaker ke burung hantu melalui lubang di pangkalan.

Langkah 4: Langkah 4: Siapkan Pi

Langkah 4: Siapkan Pi
Langkah 4: Siapkan Pi

SEMUA KODE DAPAT DITEMUKAN DI https://github.com/sk-t3ch/cctv-owl !

A. Unduh Raspian dan unggah ke kartu SD Anda menggunakan Balena Etcher.

B. Untuk mengakses pi Anda dari jarak jauh

  • Tambahkan file bernama ssh ke kartu sd boot Anda
  • Tambahkan file bernama wpa_supplicant.conf dan masukkan kredensial wifi Anda

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1

    jaringan={ ssid="SSID Saya" psk="Kata Sandi Saya" }

C. Masukkan kartu SD di pi dan coba akses melalui ssh.

Langkah 5: Langkah 5: Menggerakkan Kepala

Langkah 5: Menggerakkan Kepala
Langkah 5: Menggerakkan Kepala

Tutorial kode untuk menggerakkan kepala (mengendalikan servo dengan raspberry pi)

Untuk mengontrol servo yang berjalan di Pi, kita akan membuat skrip yang mengontrol pin GPIO yang terhubung dengan servo.

A. Hubungkan servo ke Pi:

  • +5v pada servo => +5V pada Pi
  • Gnd servo => gnd di Pi
  • Sinyal servo => pin 12 pada Pi

B. Anda harus terlebih dahulu mengatur pin gpio untuk menggunakan PWM pada pin sinyal servo.

C. Kemudian, semudah memilih siklus kerja (dijelaskan di sini) dari pin sinyal untuk memindahkan servo dari 90 derajat dengan siklus kerja 7,5 ke 0 derajat saat siklus kerja 2,5 dan ke 180 derajat dengan siklus tugas 12.5

impor RPi. GPIO sebagai GPIO

waktu impor GPIO.setmode(GPIO. BOARD) GPIO.setwarnings(False) GPIO.setup(12, GPIO. OUT) p = GPIO. PWM(12, 50) p.start(7.5) try: while True: p. ChangeDutyCycle (7.5) # 90 derajat time.sleep(1) p. ChangeDutyCycle(2.5) # 0 derajat time.sleep(1) p. ChangeDutyCycle(12.5) # 180 derajat time.sleep(1) kecuali KeyboardInterrupt: p.stop() GPIO.pembersihan()

Langkah 6: Langkah 6: Membuatnya Hoot

Langkah 6: Membuatnya Panas
Langkah 6: Membuatnya Panas
Langkah 6: Membuatnya Panas
Langkah 6: Membuatnya Panas

Tutorial kode untuk membuat owl hoot (memutar audio dengan raspberry pi)

A. Colokkan speaker USB.

B. Unduh suara - kami memilih suara seram.

C. Putar suara dengan menjalankan perintah ini: omxplayer -o alsa:hw:1, 0 owl_sound.mp3

[D. Jika ini tidak berhasil, periksa output apa yang digunakan Pi Anda dan berapa volumenya dengan menggunakan perintah alsamixer - Anda akan disambut dengan layar mixer tempat Anda dapat mengubah volume dan memilih perangkat media Anda. Untuk meningkatkan volume suara Anda, lakukan perintah seperti ini omxplayer -o alsa:hw:1, 0 owl_sound.mp3 --vol 500 Untuk memutar suara ini menggunakan Python, lihat skrip pengujian kami.]

subproses impor

command = "omxplayer -o alsa:hw:1, 0 owl_sound.mp3 --vol 500" player = subproses. Popen(command.split(' '), stdin=subproses. PIPE, stdout=subproses. PIPE, stderr=subproses. PIPA)

Langkah 7: Langkah 7: Streaming Video Dari Pi

Langkah 7: Streaming Video Dari Pi
Langkah 7: Streaming Video Dari Pi
Langkah 7: Streaming Video Dari Pi
Langkah 7: Streaming Video Dari Pi

Tutorial kode membuat aliran kamera raspberry pi

A. Jalankan python app.py dan lihat di jaringan lokal Anda di

B. Kode ini diambil dan sedikit diadaptasi dari Miguel Grinberg https://blog.miguelgrinberg.com/post/flask-video-… dia menjelaskan dengan baik bagaimana hal itu dilakukan dan tutorialnya bagus - deffo lihat dia! Konsep dasarnya adalah kami menggunakan threading dan generator untuk meningkatkan kecepatan streaming.

Langkah 8: Langkah 8: Deteksi Tubuh

Langkah 8: Deteksi Tubuh
Langkah 8: Deteksi Tubuh

Kode untuk deteksi tubuh (ImageNetSSD pada aliran video dengan raspberry pi)

A. Karena kami menggunakan Raspberry Pi 4, kami pikir yang terbaik adalah mencoba beberapa model pembelajaran mendalam daripada metode HaarCascade dasar yang sejauh ini telah kami batasi.

B. Kami telah melihat beberapa model pra-latihan di luar sana, seperti YOLOv3 yang terlihat sangat keren. Bobot kecil YOLOv3, yang akan sempurna untuk Pi, tetapi kami tidak dapat menjalankannya:(C. Sebagai gantinya, kami memilih model MobileSSD yang dapat kami jalankan menggunakan modul openCVs DNN (deep neural net), seperti yang kami pelajari dari kode ini: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 dan dari pahlawan tutorial pemrosesan gambar, Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- bukacv/

D. Namun, saat kami mencoba mengalirkan konten ini dan menjalankan model di setiap bingkai, ini menghasilkan video yang lamban dan terfragmentasi. Kami belajar lagi dari Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ dan menggunakan modul multiprosesor Python untuk menempatkan gambar kami ke dalam antrian di mana mereka dapat diproses tanpa menghalangi aliran kamera begitu banyak.

e. Coba jalankan sendiri kodenya:)

Langkah 9: Langkah 9: Mengirim Pemberitahuan Zombie

Langkah 9: Mengirim Pemberitahuan Zombie
Langkah 9: Mengirim Pemberitahuan Zombie
Langkah 9: Mengirim Pemberitahuan Zombie
Langkah 9: Mengirim Pemberitahuan Zombie

Kode untuk mengirim pemberitahuan (python ke telepon)

A. Kami memutuskan untuk menggunakan layanan notifikasi

B. Anda bisa mendapatkan akun gratis dan mengunduh aplikasi dan dengan sangat cepat menyiapkan pembuatan notifikasi seluler. Kami membuat notifikasi menggunakan skrip python seperti ini.

permintaan impor

payload = { "app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Burung hantu telah mendeteksi zombie." } r = request.post("https://api.pusshed.co/1/push", data=payload)

Ini sangat sederhana dan Anda dapat menyesuaikan nama notifikasi Anda!

Langkah 10: Apa Hoot

Apa itu?
Apa itu?

Kami harap Anda menikmati proyek Smart Security Owl kami! Ini adalah pembuatan yang sangat menyenangkan dan saya merasa jauh lebih aman mengetahui rumah saya dijaga oleh burung hantu terpercaya kami.

Jika menurut Anda ini akan menjadi tambahan Halloween yang luar biasa untuk rumah pintar Anda, silakan pilih kami di kontes Halloween Instructables dan seperti biasa, harap ingat untuk menyukai, berkomentar, dan berlangganan!

Mendaftar untuk mailing list kami!

Direkomendasikan: