Sisukord:

Raspberry Pi 3 liikumise tuvastamise kaamera otseülekandega: 6 sammu
Raspberry Pi 3 liikumise tuvastamise kaamera otseülekandega: 6 sammu

Video: Raspberry Pi 3 liikumise tuvastamise kaamera otseülekandega: 6 sammu

Video: Raspberry Pi 3 liikumise tuvastamise kaamera otseülekandega: 6 sammu
Video: SCP-261 Pan-mõõtmeline Müügiautomaadid ja katsetada Logi 261 Kuulutus De + Täielik + 2024, November
Anonim
Raspberry Pi 3 liikumise tuvastamise kaamera otseülekandega
Raspberry Pi 3 liikumise tuvastamise kaamera otseülekandega

Sissejuhatus

Selles projektis saate teada, kuidas ehitada liikumistuvastuskaamerat, mida saate kasutada kaamera lõksuna, lemmiklooma/beebimonitorina, turvakaamerana ja palju muud.

See projekt on jagatud mitmeks etapiks:

  • Sissejuhatus
  • Pi seadistamine
  • SSHing teie Pi -sse
  • IP -aadressi saatmine alglaadimisel
  • Motioni installimine ja seadistamine
  • Videote saatmine Motionilt tuvastamisel
  • Veaotsing ja allikad

Mida vajate:

  • A Raspberry Pi 3 mudel b ~ ~ 35 dollarit
  • 8 GB Micro SD -kaart ~ 10 dollarit
  • USB veebikaamera ~ ~ 20 dollarit (selle projekti puhul kasutati Logitechi HD veebikaamerat c270)
  • mikro -USB -kaabel ~ 5 dollarit
  • kas:
  • laetav 5 -voldine aku (telefoni varupatarei), mis muudab teie projekti traadita ~ 20 dollarini
  • või
  • usb seinaadapter ~ ~ 5 dollarit
  • WiFi ühendus

Seadistamiseks vajate juurdepääsu:

  • Monitor
  • Hiir ja klaviatuur
  • SD -kaardi pesaga arvuti
  • Micro SD to SD card converter (peaks olema kaasas teie micro SD kaardiga)

Samm: Pi seadistamine

Pi seadistamine
Pi seadistamine

Nüüd seadistame teie Pi

Alustuseks veenduge, et teil on kõik viimases etapis nõutud üksused. Seejärel järgige Raspberry Pi veebisaidi juhiseid Raspbian Jessie installimiseks oma Microsd -kaardile, mille leiate siit.

Kui olete oma Pi -le Raspbiani installinud, on aeg seadistada mõned põhifunktsioonid.

WiFi

Esimene samm oma Pi maksimaalseks kasutamiseks on selle ühendamine Internetiga. Võimalik, et olete selle sammu juba lõpetanud, kui leiate oma Pi põhiekraani paremas ülanurgas WiFi sümboli ja logite sinna sisse või teete sama asja enne Raspbiani installimist viimases etapis. Kui te ei saa oma Pi töölaua liideselt oma WiFi -võrku sisse logida, saate WiFi käsurealt seadistamiseks järgida siin toodud juhiseid.

SSH

Üks väga mugav tööriist, mis on teile Pi kasutamisel saadaval, on võimalus anda oma Pi -le käske nn peata seadistuses. Secure SHelli või SSH -d kasutades saate oma Pi -d arvutist eemalt juhtida. Selle meetodi puhul on Pi muutmiseks vaja ainult toiteallikat, et seda sisse lülitada, mitte enam monitori ja klaviatuuri!

Samm: SSH -i sisestamine oma PI -sse

SSHing teie PI -sse
SSHing teie PI -sse
SSHing teie PI -sse
SSHing teie PI -sse

SSHing oma Raspberry Pi -sse on lihtne ja väga kasulik, kuna see protsess võimaldab teil oma Pi -le käske väljastada mis tahes arvutist, millel pole midagi muud kui WiFi -ühendus.

SS -i ühendamiseks oma Pi -ga peate järgima neid 3 lihtsat sammu.

Esiteks peate oma Pi -s lubama SSH. Selleks avage oma Pi -s käsuaken ja tippige:

sudo raspi-config

See käsk võimaldab teil siseneda konfiguratsioonimenüüsse. sealt soovite kasutada noolt, sakki ja sisestusklahve, et minna kõigepealt liidese valikutesse, seejärel lubada SSH ja kaamera, seejärel väljuda ja taaskäivitada pi.

Järgmisena peate leidma oma Pi IP -aadressi. Tippige käsuterminalis:

sudo ifconfig

Ja teie IP -aadress peaks olema jaotises wlan0, mis ilmub otse linkide kaane all: ethernet. Ülaltoodud demopildil on IP -aadress 192.168.1.10.

Lõpuks peate kas avama Macis sisseehitatud terminalirakenduse või leidma ja järgima juhiseid kolmanda osapoole ssh -rakenduse jaoks Windowsi jaoks. Tippige rakendusse Terminal järgmine käsk:

ssh pi@SINU IP -AADRESS

Kui te pole Raspi-konfiguratsiooni ajal parooli muutnud, on teie parool, mida sisestatakse küsimisel, vaikimisi parool: vaarikas.

Sealt edasi peaks teil olema hea minna!

Samm: saatke oma IP -aadress alglaadimisel meilile

Saada oma IP -aadress alglaadimisel
Saada oma IP -aadress alglaadimisel

Selles etapis keskendume sellele, kuidas pääsete juurde oma Raspberry Pi -le, olenemata võrgust, milles olete. Sõltuvalt võrgust muutub Pi IP -aadress. Ja kui teil pole monitori seadistust, peate liikumise tuvastamise protokolli käivitamiseks, liikumiseelistuste muutmiseks või seadmele muule juurdepääsuks sisestama Pi -sse. Selle probleemi lahendamiseks kirjutame python -skripti, mis saadab meile käivitamisel Pi -i praeguse IP -aadressi. Pythoni skript on järgmine ja see salvestati kataloogi, mis on tähistatud "taustaga".

#start kodukataloogis

cd ~

#loo taustakaust

mkdir taust

#loo pythoni skript

sudo nano emailip.py

#kirjutage e -posti aadressile emailip.py

impordipesa

s = pistikupesa (pistikupesa. AF_INET, pesa. SOKK_DGRAM)

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

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

import smtplib

meililt. MIMEMultipart import MIMEMultipart

e -posti aadressilt. MIMEText import MIMEText

fromaddr = "SINU AADRESS"

toaddr = "Aadressi vastuvõtmine"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "IP -aadress"

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

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

server.starttls ()

server.login (fromaddr, "SINU PAROOL")

tekst = msg.as_string ()

server.sendmail (fromaddr, toaddr, text)

server.quit ()

#Siis teeb see seda taaskäivitamisel

sudo nano /etc/rc.local

#sisestage /etc/rc.local

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

magama 3

tehtud

_IP = $ (hostinimi -I) || tõsi

kui ["$ _IP"]; siis

printf "Minu IP -aadress on %s / n" "$ _IP"

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

fi

väljumine 0

#ja olete valmis

4. samm: liikumise installimine ja seadistamine

Liikumise installimine ja seadistamine
Liikumise installimine ja seadistamine

#värskenda pi

sudo apt-get update

sudo apt-get upgrade

#lae alla

sudo apt-get install motion

#now muutke seda faili järgmiste muudatustega

sudo nano /etc/motion/motion.conf

#Selle õpetuse jaoks standardi seadmiseks muutke

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

deemon peal

stream_localhost välja lülitatud

webcontrol_localhost välja lülitatud

ffmpeg_output_movies sisse lülitatud

target_dir/var/lib/motion

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

#local veebibrauseri voogesituse valikud

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

stream_maxrate 100 #See võimaldab reaalajas voogesitust, kuid nõuab rohkem ribalaiust ja ressursse

kaadrisagedus 60 #See võimaldab jäädvustada 60 kaadrit sekundis #mida kõrgem see on, seda aeglasem on videotöötlus

laius 640 #See muudab kuvatava pildi laiust

kõrgus 480 #See muudab kuvatava pildi kõrgust

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

#e -posti video seaded…/motion.conf

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

#kustuta rea ees olev ";", semikoolon kommenteerib joont

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

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

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

#astika

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

#valikud on failis kirjeldatud

output_pictures locate_motion_style

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

#siis muutus

sudo nano/etc/default/motion

#ütlema

start_motion_daemon = jah

#viimane, käivitage B **** üles

sudo teenuse liikumise algus

#saate muuta käsu "stop" või "restart"

5. toiming: videote saatmine liikumisel tuvastamisel

Videote saatmine liikumisel tuvastamisel
Videote saatmine liikumisel tuvastamisel

Liikumise tuvastamisel saatke meil:

#alusta kodus

dircd ~

#loo liikumisteate pythoni skript

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

#kirjutada

import smtplib

kuupäevast importimise kuupäev

meililt. MIMEMultipart import MIMEMultipart

e -posti aadressilt. MIMEText import MIMEText

fromaddr = "OMAADRESS"

toaddr = "RECIEVINGADDRESS"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "Liikumine tuvastatud"

body = 'Liikumine on tuvastatud. / nAeg: % s' % str (datetime.now ())

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

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

server.starttls ()

server.login (fromaddr, "YOURPASSWORD")

tekst = msg.as_string ()

server.sendmail (fromaddr, toaddr, text)

server.quit ()

Liikumise video saatmine e -postiga video salvestamisel:

#alustage aadressilt homedircd ~

#create motion video python scriptsudo nano /home/pi/background/motionvid.py

import smtplib

meililt. MIMEMultipart import MIMEMultipart

e -posti aadressilt. MIMEText import MIMEText

meilist. MIMEBase import MIMEBase

e -posti impordi kodeerijatelt

fromaddr = "SINU EMAIL"

toaddr = "E -posti aadress, kuhu sa saadad"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "Motion Cam on aktiveeritud"

body = "Tuvastatud liikumise video"

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

import os

rootpath = '/var/lib/motion'

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

faililoend = [f jaoks f faililoendis, kui os.path.isfile (f)]

uusim = max (faililoend, võti = lambda x: os.stat (x). st_mtime)

failinimi = uusim

import os

rootpath = '/var/lib/motion'

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

faililoend = [f jaoks f faililoendis, kui os.path.isfile (f)]

uusim = max (faililoend, võti = lambda x: os.stat (x). st_mtime)

manus = avatud (uusim, "rb")

part = MIMEBase ('rakendus', 'oktettvoog')

part.set_payload ((manus).loe ())

encoders.encode_base64 (osa)

part.add_header ('Content-Disposition', "manus; failinimi = % s" % failinimi)

msg.attach (osa)

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

server.starttls ()

server.login (fromaddr, "SINU PAROOL")

tekst = msg.as_string ()

server.sendmail (fromaddr, toaddr, text)

server.quit ()

6. toiming: tõrkeotsing ja allikad

Veaotsing ja allikad
Veaotsing ja allikad

Veaotsing:

Kuna sellel projektil on mitu etappi, on mitu punkti, kus asjad võivad valesti minna. Allpool on toodud mõned võimalikud vead ja nende parandamine.

  • Kui seadistate oma pi, et saata teile selle praegune IP -aadress, on ülioluline redigeerida rc.local faili, nagu varem näidatud, sest see võimaldab veidi viivitada, enne kui programm pärast taaskäivitamist aktiveerub. Vastasel juhul pole pi veel WiFi -ga ühendatud ja e -kirju ei saadeta.
  • Faili motion.conf redigeerimisel kustutage kindlasti teatud parameetrite ees olevad semikoolonid. Semikoolon summutab antud toimingu, nii et muidu muudatus ei jõustu.
  • Fail motion.conf on väga hästi korraldatud ja üksikasjalik. Muutke seadeid oma äranägemise järgi, kuid mõistke, et need võivad mõjutada liikumisvõtte süsteemi edu.
  • Pärast e -posti märguande ja e -posti videovalikute seadistamist on oluline märkida, et liikumise tuvastatud video e -kiri võtab veidi kauem aega kui saatmine kui esialgne hoiatusmeil. Selle põhjuseks on asjaolu, et video lõpeb paar sekundit pärast seda, kui liikumist enam ei tuvastata, ja kuna e -kirja manus võib olla piisavalt suur, et selle vastuvõtmiseks kuluda paar minutit. Mõnel juhul, kui liikumine püsib väga pikka aega, võib see olla saatmiseks liiga suur. Seetõttu on alati hea mõte pärast algse hoiatusmeili saamist otseülekannet kontrollida.

Miks Motion ?:

Selle projektiga alustades kaalusime mitmeid erinevaid ressursse. Kõigepealt kaalusime PiCami kasutamist, mis on spetsiaalselt vaarika pi jaoks loodud kaameraüksus. PiCam on kindlasti võimekas seade ja sellel on palju rakendusi, kuid see piirdub spetsiaalselt selleks loodud programmide kasutamisega ja on odavate mitmeotstarbeliste veebikaameratega võrreldes suhteliselt kallis. Seega, et muuta see projekt suuremale vaatajaskonnale kättesaadavaks, otsustasime kasutada ühist USB -veebikaamerat. Järgmine küsimus oli, millist tarkvara lisada. Algselt kaalusime OpenCV -d, mis on tasuta tarkvara, mis võimaldab mitmesuguseid arvutivisiooni ja pildiprojekte. Siin on probleemiks see, et OpenCV on tohutu fail, mis võtab palju mälu ja on pikka aega seadistatud. Seadistusel on ka mitu etappi, jättes veelgi rohkem vigu. Leidsime, et meie konkreetse projekti puhul oli Motioni seadistamine ja töö alustamine lihtsam, kuid selle teostamine palju kindlam.

Allikad

Koodi allikad:

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

Fotokrediidid:

SSH tigu:

E -posti logo:

Logitechi veebikaamera:

SSH aken:

Soovitan: