Mündəricat:

Canlı Yeməkli Raspberry Pi 3 Hərəkət Algılama Kamerası: 6 addım
Canlı Yeməkli Raspberry Pi 3 Hərəkət Algılama Kamerası: 6 addım

Video: Canlı Yeməkli Raspberry Pi 3 Hərəkət Algılama Kamerası: 6 addım

Video: Canlı Yeməkli Raspberry Pi 3 Hərəkət Algılama Kamerası: 6 addım
Video: THE WALKING DEAD SEASON 2 COMPLETE GAME 2024, Noyabr
Anonim
Canlı Yeməkli Raspberry Pi 3 Hərəkət Algılama Kamerası
Canlı Yeməkli Raspberry Pi 3 Hərəkət Algılama Kamerası

Giriş

Bu layihədə, kamera tələsi, ev heyvanı/körpə monitoru, təhlükəsizlik kamerası və daha çox istifadə edə biləcəyiniz bir hərəkət algılama kamerası qurmağı öyrənəcəksiniz.

Bu layihə bir neçə mərhələdən ibarətdir:

  • Giriş
  • Pi qurmaq
  • Pi -yə SSHing daxil edin
  • Açılış zamanı IP ünvanınıza e -poçt göndərilməsi
  • Motionun quraşdırılması və qurulması
  • Algılama ilə əlaqədar Motion -dan Videolar göndərmək
  • Problemlərin aradan qaldırılması və mənbələr

Nə lazımdır:

  • Raspberry Pi 3 modeli - ~ 35 dollar
  • 8 gb Micro SD kart ~ ~ 10 dollar
  • USB Veb Kamera ~ ~ 20 dollar (bu layihədə Logitech HD Webcam c270 istifadə olunur)
  • mikro usb kabeli ~ ~ 5 dollar
  • ya:
  • şarj edilə bilən 5 volt batareya paketi (telefonun ehtiyat batareyası), bu, layihənizi simsiz edir ~ ~ 20 dollar
  • və ya
  • usb divar adapteri ~ ~ 5 dollar
  • WiFi bağlantısı

Quraşdırma üçün nəyə ehtiyacınız olacaq:

  • Bir monitor
  • Siçan və klaviatura
  • SD kart yuvası olan bir kompüter
  • Micro SD - SD kart çeviricisi (micro SD kartınızla birlikdə olmalıdır)

Addım 1: Pi -ni qurun

Pi -nin qurulması
Pi -nin qurulması

İndi Pi -ni quraq

Başlamaq üçün, son addımda lazım olan bütün maddələrə sahib olduğunuzdan əmin olun. Sonra, Raspberry Jessie -ni Microsd kartınıza yükləmək üçün Raspberry Pi veb saytındakı addımları izləyin.

Pi -də Raspbian quraşdırıldıqdan sonra bəzi əsas xüsusiyyətləri qurmağın vaxtı gəldi.

WiFi

Pi -dən maksimum faydalanmağın ilk addımı onu internetə bağlamaqdır. Pi simvolunuzun əsas ekranının sağ üst küncündə WiFi simvolunu tapıb ora daxil olaraq və ya son addımda Raspbian qurmadan əvvəl eyni şeyi edərək bu addımı tamamlamış ola bilərsiniz. Pi -nin masaüstü interfeysindən WiFi şəbəkənizə daxil ola bilmirsinizsə, əmr satırından WiFi qurmaq üçün buradakı təlimatları izləyə bilərsiniz.

SSH

Pi istifadə edərkən əlinizdə olan çox lazımlı bir vasitə, başsız bir quruluş olaraq bilinən Pi -yə əmr vermək imkanıdır. Secure SHell və ya SSH istifadə edərək, Pi -nizi kompüterdən uzaqdan idarə edə bilərsiniz. Bu üsulla, Pi -nizi düzəltməyiniz üçün lazım olan tək şey onu saxlamaq üçün bir enerji mənbəyidir, artıq monitor və klaviatura yoxdur!

Addım 2: PI -yə SSHing

Sizin PI daxil SSHing
Sizin PI daxil SSHing
Sizin PI daxil SSHing
Sizin PI daxil SSHing

Raspberry Pi -yə SSHing daxil etmək asan və çox faydalıdır, çünki proses, WiFi bağlantısından başqa heç bir şeyi olmayan hər hansı bir kompüterdən Pi -yə əmr verməyə imkan verir.

Pi -yə SSH daxil etmək üçün bu 3 sadə addımı izləməlisiniz.

Əvvəlcə Pi -də SSH -ni aktivləşdirməlisiniz. Bunu etmək üçün Pi -də bir əmr pəncərəsi açın və daxil edin:

sudo raspi-config

Bu əmr konfiqurasiya menyusuna daxil olmağa imkan verir. oradan, əvvəlcə interfeys seçimlərinə keçmək üçün oku, nişanı və düymələri istifadə etmək, sonra SSH -ni və kameranı aktivləşdirmək, sonra çıxmaq və pi -ni yenidən başlatmaq istəyəcəksiniz.

Sonra Pi -nin IP ünvanını tapmalısınız. Komanda terminalına yazın:

sudo ifconfig

IP ünvanınız, Link encap: ethernet altında açılan wlan0 bölməsində olmalıdır. Yuxarıdakı demo şəkilində, IP ünvanı 192.168.1.105 -dir.

Nəhayət, ya bir Mac -da quraşdırılmış terminal tətbiqini açmalısınız, ya da Windows üçün üçüncü tərəf ssh tətbiqi üçün təlimatları tapmalısınız. Terminal tətbiqinə yazın:

ssh pi@IP ADRESİNİZ

Raspi-config-də olarkən şifrənizi dəyişməmisinizsə, istənildikdə daxil ediləcək parolunuz standart parol olacaq: moruq.

Oradan getmək üçün yaxşı olmalısan!

Addım 3: Boot -da IP ünvanınızı e -poçtla göndərin

Boot -da IP ünvanınızı e -poçtla göndərin
Boot -da IP ünvanınızı e -poçtla göndərin

Bu addımda, şəbəkənizdən asılı olmayaraq, Raspberry Pi -yə necə daxil olacağınıza diqqət yetirəcəyik. Şəbəkədən asılı olaraq Pi -nin IP ünvanı dəyişir. Bir monitor qurğunuz yoxdursa, hərəkət aşkarlama protokolunu işə salmaq, hərəkət seçimlərini dəyişdirmək və ya cihazdakı başqa bir şeyə daxil olmaq üçün Pi -ə daxil olmalısınız. Bu problemi həll etmək üçün işə salındıqda bizə Pi -nin IP -nin cari IP ünvanını e -poçtla göndərən bir python skript yazacağıq. Python skripti aşağıdakı kimidir və "fon" işarələnmiş bir kataloqda saxlanılmışdır.

#ev kataloqunda başlayın

cd ~

#fon qovluğu yaradın

mkdir fon

#python skripti yaradın

sudo nano emailip.py

#emailip.py -də yazın

idxal soketi

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

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

çap (s.getsockname () [0]) x = s.getsockname () [0] s.close ()

smtplib idxal edin

e -poçtdan

email. MIMEText idxal MIMEText

fromaddr = "ADRESİNİZ"

toaddr = "ADRES ALINIR"

msg = MIMEMultipart ()

msg ['Kimdən'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "IP ünvanı"

bədən = xmsg.attach (MIMEText (gövdə, 'düz'))

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

server.starttls ()

server.login (fromaddr, "ŞİFRİNİZ")

mətn = msg.as_string ()

server.sendmail (fromaddr, toaddr, mətn)

server.quit ()

#sonra bu, yenidən başladıqda bunu edir

sudo nano /etc/rc.local

#etc/rc.local daxil edin

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

yatmaq 3

bitdi

_IP = $ (ana adı -I) || doğru

əgər ["$ _IP"]; sonra

printf "IP ünvanım %s / n" "$ _IP" dir

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

fi

çıxış 0

#və bitirdin

Addım 4: Motionun Qurulması və Qurulması

Hərəkətin Qurulması və Qurulması
Hərəkətin Qurulması və Qurulması

#pi yeniləyin

sudo apt-get yeniləməsi

sudo apt-get yeniləmə

#yüklə

sudo apt-get quraşdırma hərəkəti

#indi bu faylı aşağıdakı dəyişikliklərlə redaktə edin

sudo nano /etc/motion/motion.conf

#bu dərs üçün standart qurmaq üçün dəyişdirin

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

daemon aktivdir

stream_localhost deaktivdir

webcontrol_localhost deaktivdir

ffmpeg_output_movies aktivdir

target_dir/var/lib/motion

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

#yerli veb brauzer axını seçimləri

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

stream_maxrate 100 #Bu, real vaxt axınına imkan verəcək, lakin daha çox bant genişliyi və qaynaqlar tələb edir

kadr tezliyi 60 #Bu, saniyədə 60 kadr çəkməyə imkan verəcək

width 640 #Bu, göstərilən görüntünün genişliyini dəyişir

hündürlük 480 #Bu, görüntünün hündürlüyünü dəyişir

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

…/motion.conf -da #e -poçt video parametrləri

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

Satırın önündəki ";" işarəsini silin, nöqtəli vergül xətti şərh edir

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

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

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

#astektika

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

faylda təsvir edilən #seçimlər

output_pictures locate_motion_style

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

#sonra dəyiş

sudo nano/etc/default/motion

#demək

start_motion_daemon = bəli

#son olaraq, B **** -ni işə salın

sudo xidməti hərəkətə başlayın

#əmrini "dayandır" və ya "yenidən başlat" olaraq dəyişə bilərsiniz

Addım 5: Algılama Hərəkətindən Videoları E -poçtla Göndərin

Algılama Hərəkətindən Videoların E -poçtla Göndərilməsi
Algılama Hərəkətindən Videoların E -poçtla Göndərilməsi

Hərəkət aşkar edildikdə e -poçt göndərin:

#evdə başlayın

dircd ~

#hərəkət xəbərdarlığı python skripti yaradın

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

#yaz

smtplib idxal edin

datetime tarixdən idetime

e -poçtdan

email. MIMEText idxal MIMEText

fromaddr = "YOURADDRESS"

toaddr = "RECIEVINGADDRESS"

msg = MIMEMultipart ()

msg ['Kimdən'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "Hərəkət Algılandı"

body = 'Bir hərəkət aşkar edildi. / nZaman: % s' % str (datetime.now ())

msg.attach (MIMEText (gövdə, 'düz'))

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

server.starttls ()

server.login (fromaddr, "ŞİFRİNİZ")

mətn = msg.as_string ()

server.sendmail (fromaddr, toaddr, mətn)

server.quit ()

E -poçt Video saxlandıqda hərəkət videosu:

#başlayın homedircd ~

#hərəkət video python skriptləri yaradın nano /home/pi/background/motionvid.py

smtplib idxal edin

e -poçtdan

email. MIMEText idxal MIMEText

email. MIMEBase idxal MIMEBase

e -poçt idxal kodlayıcılarından

fromaddr = "E -poçtunuz"

toaddr = "Göndərdiyiniz E -poçt ünvanı"

msg = MIMEMultipart ()

msg ['Kimdən'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "Motion Cam Aktivləşdirildi"

bədən = "Hərəkət videosu aşkarlandı"

msg.attach (MIMEText (gövdə, 'düz'))

id id

rootpath = '/var/lib/motion'

filelist = [os.path.join (rootpath, f) for f in os.listdir (rootpath)]

filelist = [f üçün f.fayl siyahısında əgər os.path.isfile (f)]

ən yeni = maksimum (filelist, açar = lambda x: os.stat (x).st_mtime)

fayl adı = ən yeni

id id

rootpath = '/var/lib/motion'

filelist = [os.path.join (rootpath, f) for f in os.listdir (rootpath)]

filelist = [f üçün f.fayl siyahısında əgər os.path.isfile (f)]

ən yeni = maksimum (filelist, açar = lambda x: os.stat (x).st_mtime)

əlavə = açıq (ən yeni, "rb")

hissə = MIMEBase ('tətbiq', 'oktet-axın')

part.set_payload ((əlavə). oxu ())

encoders.encode_base64 (hissə)

part.add_header ('məzmun-yerləşdirmə', "əlavə; fayl adı = % s" % fayl adı)

msg. əlavə et (hissə)

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

server.starttls ()

server.login (fromaddr, "ŞİFRİNİZ")

mətn = msg.as_string ()

server.sendmail (fromaddr, toaddr, mətn)

server.quit ()

Addım 6: Problemlərin həlli və mənbələr

Problemlərin aradan qaldırılması və mənbələr
Problemlərin aradan qaldırılması və mənbələr

Giderme:

Bu layihənin birdən çox mərhələsi olduğu üçün işlərin yanlış gedə biləcəyi bir neçə məqam var. Aşağıda baş verə biləcək bəzi səhvlər və onları necə düzəltmək olar.

  • Sizə mövcud IP ünvanını e -poçtla göndərmək üçün pi qurarkən, rc.local faylını əvvəllər göstərildiyi kimi redaktə etmək çox vacibdir, çünki bu, proqram yenidən başladıqdan sonra aktivləşmədən əvvəl bir qədər gecikməyə imkan verir. Əks halda pi hələ wifi -yə qoşulmayacaq və e -poçt göndərilməyəcək.
  • Motion.conf faylını redaktə edərkən müəyyən parametrlərin önündəki nöqtəli vergülləri silməyinizə əmin olun. Nöqtəli vergül müəyyən bir hərəkəti bastırır, əks halda dəyişiklik qüvvəyə minməyəcək.
  • Motion.conf faylı çox yaxşı təşkil olunmuş və detallıdır. Ayarları zövqünüzə görə dəyişməkdən çekinmeyin, ancaq bunların hərəkət tutma sisteminin uğuruna təsir edə biləcəyini anlayın.
  • E -poçt siqnalı və e -poçt video seçimlərini qurduqdan sonra, hərəkətin aşkarlandığı videonun e -poçtunun ilkin xəbərdarlıq e -poçtundan daha çox göndəriləcəyini nəzərə almaq vacibdir. Bunun səbəbi, videonun hərəkət aşkarlanmadıqdan bir neçə saniyə sonra başa çatmasıdır və e -poçt əlavəsi bir neçə dəqiqə qəbul etmək üçün kifayət qədər böyük ola bilər. Bəzi hallarda, hərəkət çox uzun müddət davam edərsə, göndərmək üçün çox böyük ola bilər. Bu səbəbdən, ilk xəbərdarlıq e -poçtunu aldıqdan sonra canlı axını yoxlamaq həmişə yaxşı bir fikirdir.

Niyə hərəkət?:

Bu layihəyə ilk dəfə başlayanda bir neçə fərqli mənbəni nəzərdən keçirdik. Əvvəlcə moruq pi üçün xüsusi olaraq hazırlanmış bir kamera vahidi olan PiCamdan istifadə etməyi düşündük. PiCam, əlbəttə ki, bacarıqlı bir cihazdır və bir çox tətbiqə malikdir, ancaq bunun üçün xüsusi olaraq hazırlanmış və ucuz çoxfunksiyalı veb kameralara nisbətən daha bahalı olan proqramlardan istifadə etməklə məhdudlaşır. Bu layihəni daha geniş auditoriya üçün əlçatan etmək üçün ümumi bir USB veb kamerasından istifadə etmək qərarına gəldik. Növbəti məsələ, hansı proqramın daxil ediləcəyi idi. Əvvəlcə bir çox müxtəlif növ kompüter görmə və görüntüləmə layihələrinə imkan verən pulsuz proqram olan OpenCV -ni nəzərdən keçirdik. Buradakı məsələlərdən biri də OpenCV -nin çoxlu yaddaş tutan və uzun müddət qurulan böyük bir fayl olmasıdır. Quraşdırmanın bir neçə mərhələsi var, bu da səhv üçün daha çox yer buraxır. Xüsusi bir layihəmiz üçün Motion -un qurulması və işə başlamasının daha asan olduğunu, lakin icra olunmasında daha möhkəm olduğunu gördük.

Mənbələr

Kod mənbələri:

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

Şəkil krediti:

SSH Salyangozu:

Poçt loqosu:

Logitech veb kamerası:

SSH pəncərəsi:

Tövsiyə: