Daftar Isi:

Kamera Deteksi Gerakan Raspberry Pi 3 Dengan Umpan Langsung: 6 Langkah
Kamera Deteksi Gerakan Raspberry Pi 3 Dengan Umpan Langsung: 6 Langkah

Video: Kamera Deteksi Gerakan Raspberry Pi 3 Dengan Umpan Langsung: 6 Langkah

Video: Kamera Deteksi Gerakan Raspberry Pi 3 Dengan Umpan Langsung: 6 Langkah
Video: Self Object Tracking Camera Using Raspberry Pi and Object Detection 2024, November
Anonim
Kamera Deteksi Gerakan Raspberry Pi 3 Dengan Umpan Langsung
Kamera Deteksi Gerakan Raspberry Pi 3 Dengan Umpan Langsung

pengantar

Dalam proyek ini, Anda akan belajar cara membuat kamera pendeteksi gerakan yang dapat Anda gunakan sebagai jebakan kamera, monitor hewan peliharaan/bayi, kamera keamanan, dan banyak lagi.

Proyek ini disusun dalam Beberapa langkah:

  • pengantar
  • Menyiapkan Pi Anda
  • SSHing ke Pi Anda
  • Mengirim email ke alamat IP Anda saat boot
  • Memasang dan mengatur Gerakan
  • Mengirim Email Video dari Motion saat deteksi
  • Pemecahan Masalah dan Sumber

Yang Anda perlukan:

  • Model Raspberry Pi 3 b ~~$35
  • Kartu Micro SD 8gb ~~$10
  • USB Webcam ~~$20 (proyek ini menggunakan Logitech HD Webcam c270)
  • kabel usb mikro ~~$5
  • salah satu:
  • paket baterai 5 volt yang dapat diisi ulang (baterai cadangan telepon), ini membuat proyek Anda nirkabel ~~ $20
  • atau
  • adaptor dinding usb ~~$5
  • Koneksi WiFi

Yang Anda perlukan aksesnya untuk penyiapan:

  • Sebuah monitor
  • Mouse dan keyboard
  • Komputer dengan slot kartu SD
  • Konverter kartu Micro SD ke SD (harus disertakan dengan kartu micro SD Anda)

Langkah 1: Menyiapkan Pi Anda

Menyiapkan Pi Anda
Menyiapkan Pi Anda

Sekarang mari siapkan Pi. Anda

Untuk memulai, pastikan Anda memiliki semua item yang diperlukan dari langkah terakhir. Kemudian, ikuti langkah-langkah di situs web Raspberry Pi untuk menginstal Raspbian Jessie di kartu Microsd Anda, yang ada di sini.

Setelah Anda menginstal Raspbian di Pi Anda, saatnya untuk menyiapkan beberapa fitur dasar.

Wifi

Langkah pertama untuk mendapatkan hasil maksimal dari Pi Anda adalah menghubungkannya ke internet. Anda mungkin telah menyelesaikan langkah ini dengan menempatkan simbol WiFi di sudut kanan atas layar utama Pi Anda dan masuk ke sana, atau melakukan hal yang sama sebelum menginstal Raspbian pada langkah terakhir. Jika Anda tidak dapat masuk ke jaringan WiFi dari antarmuka desktop Pi, Anda dapat mengikuti petunjuk di sini untuk menyiapkan WiFi melalui baris perintah.

SSH

Salah satu alat yang sangat berguna yang tersedia untuk Anda saat menggunakan Pi Anda adalah opsi untuk mengeluarkan perintah ke Pi Anda dalam apa yang dikenal sebagai pengaturan tanpa kepala. Dengan menggunakan Secure SHell, atau SSH, Anda dapat mengontrol Pi Anda dari jarak jauh dari komputer. Dengan metode ini, yang Anda perlukan untuk mengedit Pi Anda adalah sumber daya untuk membuatnya tetap menyala, tidak ada lagi monitor dan keyboard!

Langkah 2: SSHing Ke PI Anda

SSHing Ke PI Anda
SSHing Ke PI Anda
SSHing Ke PI Anda
SSHing Ke PI Anda

SSHing ke Raspberry Pi Anda mudah dan sangat berguna, karena prosesnya memungkinkan Anda untuk mengeluarkan perintah ke Pi Anda dari komputer mana pun dengan tidak lebih dari koneksi WiFi.

Untuk SSH ke Pi Anda, Anda harus mengikuti 3 langkah sederhana ini.

Pertama, Anda perlu mengaktifkan SSH di Pi Anda. Untuk melakukan ini, buka jendela perintah di Pi Anda, dan ketik:

sudo raspi-config

Perintah ini memungkinkan Anda untuk masuk ke menu konfigurasi. dari sana Anda akan ingin menggunakan tombol panah, tab, dan enter untuk masuk terlebih dahulu ke opsi antarmuka, lalu untuk mengaktifkan SSH, serta kamera, lalu keluar dan reboot pi.

Selanjutnya, Anda harus menemukan alamat IP Pi Anda. Di terminal perintah, ketik:

sudo ifconfig

Dan alamat IP Anda harus berada di bagian wlan0 yang muncul, tepat di bawah Link encap:ethernet. Pada gambar demo di atas, IP Address adalah 192.168.1.10.

Terakhir, Anda harus membuka aplikasi terminal bawaan di mac, atau menemukan dan mengikuti instruksi untuk aplikasi ssh pihak ke-3 untuk windows. Di aplikasi Terminal, ketik:

ssh pi@ALAMAT IP ANDA

Jika Anda belum mengubah kata sandi saat berada di Raspi-config, maka kata sandi yang Anda masukkan saat diminta akan menjadi kata sandi default: raspberry.

Dari sana, Anda harus baik-baik saja!

Langkah 3: Email Alamat IP Anda saat Boot

Email Alamat IP Anda saat Boot
Email Alamat IP Anda saat Boot

Pada langkah ini kami akan fokus pada cara mengakses Raspberry Pi Anda, terlepas dari jaringan tempat Anda berada. Tergantung pada jaringan, alamat IP Pi berubah. Dan jika Anda tidak memiliki pengaturan monitor, Anda perlu ssh ke Pi untuk memicu protokol deteksi gerakan, mengubah preferensi gerakan, atau mengakses apa pun di perangkat. Untuk mengatasi masalah ini, kami akan menulis skrip python yang mengirimi kami alamat IP IP saat ini melalui email saat memulai. Skrip python adalah sebagai berikut dan disimpan di direktori bertanda "latar belakang".

#mulai di direktori home

cd ~

#buat folder latar belakang

latar belakang mkdir

#buat skrip python

sudo nano emailip.py

#tulis di emailip.py

soket impor

s = socket.socket(socket. AF_INET, socket. SOCK_DGRAM)

s.connect(("8.8.8.8", 80))

print(s.getsockname()[0])x = s.getsockname()[0]s.close()

impor smtplib

dari email. MIMEMultipart impor MIMEMultipart

dari email. MIMEText impor MIMEText

fromaddr = "ALAMAT ANDA"

toaddr = "MENENERIMA ALAMAT"

pesan = MIMEMultipart()

msg['Dari'] = fromaddr

msg['Kepada'] = toaddr

msg['Subjek'] = "Alamat IP"

body = xmsg.attach(MIMEText(body, 'polos'))

server = smtplib. SMTP('smtp.gmail.com', 587)

server.starttls()

server.login(fromaddr, "PASSWORD ANDA")

teks = msg.as_string()

server.sendmail(fromaddr, toaddr, teks)

server.berhenti()

#maka ini melakukannya saat reboot

sudo nano /etc/rc.local

#masuk di /etc/rc.local

ketika ! /sbin/ifconfig wlan0 | grep -q 'inet addr:[0-9]';

tidur 3

selesai

_IP=$(nama host -I) || benar

jika ["$_IP"]; kemudian

printf "Alamat IP saya %s\n" "$_IP"

python /home/pi/Background/emailip.py &

fi

keluar 0

#dan selesai

Langkah 4: Memasang dan Mengatur Gerakan

Memasang dan Mengatur Gerakan
Memasang dan Mengatur Gerakan

#perbarui pi

sudo apt-get update

sudo apt-get upgrade

#unduh

sudo apt-get install motion

#sekarang edit file ini dengan perubahan berikut

sudo nano /etc/motion/motion.conf

#untuk menetapkan standar untuk tutorial ini, ubah

#################

daemon aktif

stream_localhost nonaktif

webcontrol_localhost nonaktif

ffmpeg_output_movies aktif

target_dir /var/lib/motion

##################

#opsi streaming browser web lokal

##################

stream_maxrate 100 #Ini akan memungkinkan streaming waktu nyata tetapi membutuhkan lebih banyak bandwidth & sumber daya

framerate 60 #Ini akan memungkinkan pengambilan 60 frame per detik #semakin tinggi ini, semakin lambat pemrosesan video

lebar 640 #Ini mengubah lebar gambar yang ditampilkan

height 480 #Ini mengubah ketinggian gambar yang ditampilkan

##################

#email pengaturan video di …/motion.conf

##################

#delete "; " di depan baris, tanda titik koma mengomentari baris keluar

on_event_start python /home/pi/background/motionalert.py %f

on_movie_end python /home/pi/background/motionvid.py %f

##################

#astektik

##################

#pilihan dijelaskan dalam file

output_pictures locate_motion_style

##################

#lalu ubah

sudo nano /etc/default/motion

#mengatakan

start_motion_daemon=ya

#terakhir, mulai B**** up

gerakan layanan sudo mulai

#Anda dapat mengubah perintah menjadi "stop", atau "restart"

Langkah 5: Mengirim Email Video Dari Motion on Detection

Mengirim Email Video Dari Motion on Detection
Mengirim Email Video Dari Motion on Detection

Email saat gerakan terdeteksi:

#mulai dari rumah

dircd ~

#buat skrip python peringatan gerakan

sudo nano /home/pi/background/motionalert.py

#menulis

impor smtplib

dari datetime impor datetime

dari email. MIMEMultipart impor MIMEMultipart

dari email. MIMEText impor MIMEText

fromaddr = "ALAMAT ANDA"

toaddr = "ALAMAT PENERIMAAN"

pesan = MIMEMultipart()

msg['Dari'] = fromaddr

msg['Kepada'] = toaddr

msg['Subjek'] = "Gerak Terdeteksi"

body = 'Gerakan telah terdeteksi.\nWaktu: %s' % str(datetime.now())

msg.attach(MIMEText(body, 'polos'))

server = smtplib. SMTP('smtp.gmail.com', 587)

server.starttls()

server.login(fromaddr, "PASSWORD ANDA")

teks = msg.as_string()

server.sendmail(fromaddr, toaddr, teks)

server.berhenti()

Email Video gerak saat video disimpan:

#mulai dari homedircd ~

#buat skrip python video geraksudo nano /home/pi/background/motionvid.py

impor smtplib

dari email. MIMEMultipart impor MIMEMultipart

dari email. MIMEText impor MIMEText

dari email. MIMEBase impor MIMEBase

dari pembuat enkode impor email

fromaddr = "EMAIL ANDA"

toaddr = "ALAMAT EMAIL YANG ANDA KIRIM KE"

pesan = MIMEMultipart()

msg['Dari'] = fromaddr

msg['Kepada'] = toaddr

msg['Subject'] = "Motion Cam Diaktifkan"

body = "Video Gerakan Terdeteksi"

msg.attach(MIMEText(body, 'polos'))

impor os

rootpath = '/var/lib/motion'

filelist = [os.path.join(rootpath, f) untuk f di os.listdir(rootpath)]

daftar file = [f untuk f dalam daftar file jika os.path.isfile(f)]

terbaru = max(daftar file, kunci=lambda x: os.stat(x).st_mtime)

nama file = terbaru

impor os

rootpath = '/var/lib/motion'

filelist = [os.path.join(rootpath, f) untuk f di os.listdir(rootpath)]

daftar file = [f untuk f dalam daftar file jika os.path.isfile(f)]

terbaru = max(daftar file, kunci=lambda x: os.stat(x).st_mtime)

lampiran = buka(terbaru, "rb")

bagian = MIMEBase('aplikasi', 'aliran oktet')

bagian.set_payload((lampiran).read())

encoders.encode_base64(bagian)

part.add_header('Content-Disposition', "lampiran; nama file= %s" % nama file)

msg.attach(bagian)

server = smtplib. SMTP('smtp.gmail.com', 587)

server.starttls()

server.login(fromaddr, "PASSWORD ANDA")

teks = msg.as_string()

server.sendmail(fromaddr, toaddr, teks)

server.berhenti()

Langkah 6: Pemecahan Masalah dan Sumber

Pemecahan Masalah dan Sumber
Pemecahan Masalah dan Sumber

Penyelesaian masalah:

Karena proyek ini memiliki beberapa tahap, ada beberapa titik di mana hal-hal bisa salah. Di bawah ini adalah beberapa kemungkinan kesalahan yang dapat terjadi dan cara memperbaikinya.

  • Saat mengatur pi Anda untuk mengirimi Anda alamat IP saat ini, sangat penting untuk mengedit file rc.local seperti yang ditunjukkan sebelumnya karena ini memungkinkan sedikit penundaan sebelum program diaktifkan setelah reboot. Jika tidak, pi belum akan terhubung ke wifi, dan email tidak akan terkirim.
  • Saat mengedit file motion.conf pastikan untuk menghapus titik koma di depan parameter tertentu. Titik koma menekan tindakan yang diberikan, jadi jika tidak, perubahan tidak akan berlaku.
  • File motion.conf sangat terorganisir dengan baik dan detail. Jangan ragu untuk mengubah pengaturan sesuai keinginan Anda, tetapi pahami bahwa itu dapat memengaruhi keberhasilan sistem penangkapan gerak.
  • Setelah menyiapkan peringatan email dan opsi video email, penting untuk dicatat bahwa email dari video gerakan yang terdeteksi akan memakan waktu sedikit lebih lama daripada mengirim email peringatan awal. Ini karena video berakhir beberapa detik setelah gerakan tidak lagi terdeteksi, dan karena lampiran email mungkin cukup besar sehingga memerlukan beberapa menit untuk diterima. Dalam beberapa kasus, jika gerakan dipertahankan untuk waktu yang sangat lama mungkin terlalu besar untuk dikirim sama sekali. Karena itu, sebaiknya periksa streaming langsung setelah menerima email peringatan awal.

Mengapa Gerak?:

Saat pertama kali memulai proyek ini, kami mempertimbangkan beberapa sumber daya yang berbeda. Pertama kami mempertimbangkan untuk menggunakan PiCam yang merupakan unit kamera yang dibuat khusus untuk raspberry pi. PiCam tentu saja merupakan perangkat yang mumpuni dan memiliki banyak aplikasi, tetapi terbatas pada penggunaan program yang dirancang khusus untuknya dan relatif mahal dibandingkan dengan webcam multiguna yang murah. Jadi agar proyek ini dapat diakses oleh audiens yang lebih besar, kami memutuskan untuk menggunakan webcam USB umum. Masalah berikutnya adalah perangkat lunak mana yang harus dimasukkan. Kami awalnya mempertimbangkan OpenCV yang merupakan perangkat lunak gratis yang memungkinkan berbagai jenis Visi Komputer dan proyek pencitraan. Salah satu masalah di sini adalah bahwa OpenCV adalah file besar yang memakan banyak memori dan pengaturan waktu yang lama. Pengaturan juga memiliki beberapa tahap, meninggalkan lebih banyak ruang untuk kesalahan. Kami menemukan bahwa untuk proyek khusus kami, Motion lebih sederhana untuk disiapkan dan mulai bekerja, tetapi jauh lebih kuat dalam eksekusinya.

Sumber

Sumber Kode:

www.techradar.com/how-to/computing/how-to-b…

pimylifeup.com/raspberry-pi-webcam-server/

www.pyimagesearch.com/2015/06/01/home-surve…

naelshiab.com/tutorial-send-email-python/

www.raspberrypi.org/documentation/linux/us…

learn.adafruit.com/adafruits-raspberry-pi-…

learn.adafruit.com/adafruits-raspberry-pi-…

pinout.xyz/pinout/i2c

Kredit foto:

SSH Snail:

Logo surat:

Webcam Logitech:

Jendela SSH:

Direkomendasikan: