INHOUDSOPGAWE:

Raspberry Pi 3 Bewegingsopsporingskamera met lewendige voer: 6 stappe
Raspberry Pi 3 Bewegingsopsporingskamera met lewendige voer: 6 stappe

Video: Raspberry Pi 3 Bewegingsopsporingskamera met lewendige voer: 6 stappe

Video: Raspberry Pi 3 Bewegingsopsporingskamera met lewendige voer: 6 stappe
Video: 50 Путеводитель в Буэнос-Айресе Путеводитель 2024, Desember
Anonim
Raspberry Pi 3 Bewegingsopsporingskamera met lewendige voer
Raspberry Pi 3 Bewegingsopsporingskamera met lewendige voer

Inleiding

In hierdie projek leer u hoe u 'n bewegingsopsporingskamera kan bou wat u as 'n kamera -lokval, 'n troeteldier-/baba -monitor, 'n veiligheidskamera en nog baie meer kan gebruik.

Hierdie projek is verdeel in verskeie stappe:

  • Inleiding
  • Stel jou Pi op
  • SSHing in jou Pi
  • E -pos u IP -adres tydens opstart
  • Installeer en stel Motion op
  • E -pos video's van Motion by opsporing
  • Probleemoplossing en bronne

Wat jy nodig het:

  • 'N Raspberry Pi 3 -model teen $ 35
  • 8 GB Micro SD -kaart ~ ~ $ 10
  • USB -webkamera ~ ~ $ 20 (hierdie projek gebruik 'n Logitech HD -webcam c270)
  • mikro -usb -kabel ~ ~ $ 5
  • óf:
  • 'n herlaaibare 5 volt -batterypak (telefoon -rugsteunbattery), maak u projek draadloos ~ ~ $ 20
  • of
  • usb -muuradapter ~ ~ $ 5
  • 'N WiFi -verbinding

Waarvoor u toegang benodig vir die opstelling:

  • 'N Monitor
  • 'N Muis en sleutelbord
  • 'N Rekenaar met 'n SD -kaartgleuf
  • 'N Micro SD na SD kaart converter (moet saam met jou micro SD kaart kom)

Stap 1: Stel u Pi op

Stel u Pi op
Stel u Pi op

Laat ons nou u Pi opstel

Om mee te begin, maak seker dat u al die benodigde items in die laaste stap het. Volg dan die stappe op die Raspberry Pi -webwerf vir die installering van Raspbian Jessie op u Microsd -kaart, hier gevind.

As u eers Raspbian op u Pi geïnstalleer het, is dit tyd om 'n paar basiese funksies op te stel.

WiFi

Die eerste stap om die meeste uit u Pi te haal, is om dit aan die internet te verbind. Miskien het u hierdie stap al voltooi, óf deur die WiFi -simbool in die regter boonste hoek van die hoofskerm van u Pi te vind en daar aan te meld, óf dieselfde te doen voordat u Raspbian in die laaste stap installeer. As u nie by u WiFi -netwerk kan aanmeld via die desktop -koppelvlak van u Pi nie, kan u die instruksies hier volg om WiFi via die opdraglyn op te stel.

SSH

Een baie handige hulpmiddel wat u beskikbaar het by die gebruik van u Pi, is die opsie om opdragte aan u Pi uit te reik in 'n koplose opstelling. Deur 'n Secure SHell of SSH te gebruik, kan u u Pi op afstand vanaf 'n rekenaar beheer. Met hierdie metode is alles wat u nodig het om u Pi te wysig, 'n kragbron om dit aan te hou, nie meer monitor en sleutelbord nie!

Stap 2: SSH in u PI

SSHing in jou PI
SSHing in jou PI
SSHing in jou PI
SSHing in jou PI

SSHing in jou Raspberry Pi is maklik en baie handig, aangesien die proses jou toelaat om opdragte aan jou Pi te gee vanaf enige rekenaar met niks meer as 'n WiFi -verbinding nie.

Om SSH in u Pi te volg, moet u hierdie drie eenvoudige stappe volg.

Eerstens moet u SSH op u Pi aktiveer. Om dit te doen, maak 'n opdragvenster in u Pi oop en tik in:

sudo raspi-config

Met hierdie opdrag kan u 'n konfigurasie -kieslys betree. van daar af wil u die pyltjie, die oortjie en die sleutels gebruik om eers na koppelvlakopsies te gaan, om SSH sowel as die kamera in te skakel, en dan die pi te verlaat en weer te begin.

Vervolgens moet u die IP -adres van u Pi vind. Tik in 'n opdragterminale:

sudo ifconfig

En u IP -adres moet in die wlan0 -afdeling verskyn, regs onder Link encap: ethernet. Op die demo -prent hierbo is die IP -adres 192.168.1.10.

Laastens moet u die ingeboude terminale -app op 'n Mac oopmaak, of die instruksies vir 'n derdeparty -ssh -app vir Windows vind en volg. Tik in die Terminal -app:

ssh pi@U IP -ADRES

As u nie die wagwoord verander het terwyl u in Raspi-config was nie, is u standaard wagwoord: framboos.

Van daar af moet u klaar wees!

Stap 3: E -pos u IP -adres tydens opstart

E -pos u IP -adres tydens opstart
E -pos u IP -adres tydens opstart

In hierdie stap fokus ons op die toegang tot u Raspberry Pi, ongeag die netwerk waarop u is. Afhangende van die netwerk, verander die IP -adres van die Pi. En as u nie 'n monitorinstelling het nie, moet u in die Pi skakel om die bewegingsopsporingsprotokol te aktiveer, bewegingsvoorkeure te verander of toegang tot enigiets anders op die toestel te verkry. Om hierdie probleem op te los, skryf ons 'n python -script wat ons die huidige IP -adres van die Pi per e -pos stuur. Die python -skrif is soos volg en is gestoor in 'n gids met die naam "agtergrond".

#begin in die tuisgids

cd ~

#skep agtergrondmap

mkdir agtergrond

#create python script

sudo nano emailip.py

#skryf in emailip.py

invoer sok

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

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

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

invoer smtplib

vanaf e -pos. MIMEMultipart invoer MIMEMultipart

vanaf e -pos. MIMETekst invoer MIMETekst

fromaddr = "U ADRES"

toaddr = "ADRES ONTVANG"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

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

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

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

server.starttls ()

server.login (fromaddr, "U WOORDWOORD")

teks = msg.as_string ()

server.sendmail (fromaddr, toaddr, teks)

server.quit ()

#dan doen dit dit by herlaai

sudo nano /etc/rc.local

#invoer in /etc/rc.local

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

slaap 3

gedoen

_IP = $ (gasheernaam -I) || waar

as ["$ _IP"]; dan

printf "My IP -adres is %s / n" "$ _IP"

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

fi

uitgang 0

#en jy is klaar

Stap 4: Installeer en stel bewegings op

Beweging installeer en opstel
Beweging installeer en opstel

#opdatering pi

sudo apt-get update

sudo apt-get upgrade

#Aflaai

sudo apt-get installeer beweging

#wysig hierdie lêer nou met die volgende veranderinge

sudo nano /etc/motion/motion.conf

#Verander om 'n standaard vir hierdie tutoriaal te stel

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

daemon aan

stream_localhost af

webcontrol_localhost af

ffmpeg_output_movies op

target_dir/var/lib/motion

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

#plaaslike streaming webopsies

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

stream_maxrate 100 #Dit maak voorsiening vir intydse stroming, maar verg meer bandwydte en hulpbronne

framerate 60 #Hiermee kan 60 rame per sekonde vasgelê word #hoe hoër dit word, hoe stadiger word die videoverwerking

breedte 640 #Dit verander die breedte van die beeld wat vertoon word

hoogte 480 #Dit verander die hoogte van die beeld wat vertoon word

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

#e -pos video -instellings in …/motion.conf

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

#vee die ";" voor die reël, die puntkomma gee 'n opmerking oor die reël

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

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

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

#asektika

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

#keuses wat in die lêer beskryf word

output_pictures locate_motion_style

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

#dan verander

sudo nano/etc/default/motion

#om te sê

start_motion_daemon = ja

#laastens, begin die B **** up

sudo diensbeweging begin

#u kan die opdrag verander na 'stop' of 'herbegin'

Stap 5: Stuur e -pos na video's uit beweging na opsporing

Stuur video's per e -pos uit beweging na opsporing
Stuur video's per e -pos uit beweging na opsporing

E -pos wanneer beweging opgespoor word:

#begin tuis

dircd ~

#create bewegingswaarskuwing python script

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

#skryf

invoer smtplib

vanaf datetime invoer datetime

vanaf e -pos. MIMEMultipart invoer MIMEMultipart

vanaf e -pos. MIMETekst invoer MIMETekst

fromaddr = "JOU ADRES"

toaddr = "ONTVANG ADRES"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "Beweging opgespoor"

body = ''n Beweging is opgespoor. / nTyd: % s' % str (datetime.now ())

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

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

server.starttls ()

server.login (fromaddr, "UW WOORDWOORD")

teks = msg.as_string ()

server.sendmail (fromaddr, toaddr, teks)

server.quit ()

E -pos video van beweging wanneer video gestoor word:

#begin by homedircd ~

#creëer bewegingsvideo python -scripts na nano /home/pi/background/motionvid.py

invoer smtplib

vanaf e -pos. MIMEMultipart invoer MIMEMultipart

vanaf e -pos. MIMETekst invoer MIMETekst

vanaf e -pos. MIMEBase invoer MIMEBase

van e -pos invoer enkoders

fromaddr = "U E -pos"

toaddr = "E -POSADRES NA WAT U STUUR"

msg = MIMEMultipart ()

msg ['From'] = fromaddr

msg ['To'] = toaddr

msg ['Subject'] = "Bewegingskamera geaktiveer"

body = "Bewegingsvideo opgespoor"

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

invoer os

rootpath = '/var/lib/motion'

lêer = [os.path.join (rootpath, f) vir f in os.listdir (rootpath)]

lêer = [f vir f in lêerlys as os.path.islêer (f)]

nuutste = max (lêerlys, sleutel = lambda x: os.stat (x).st_mtime)

lêernaam = nuutste

invoer os

rootpath = '/var/lib/motion'

lêer = [os.path.join (rootpath, f) vir f in os.listdir (rootpath)]

lêer = [f vir f in lêerlys as os.path.islêer (f)]

nuutste = max (lêerlys, sleutel = lambda x: os.stat (x).st_mtime)

aanhangsel = oop (nuutste, "rb")

part = MIMEBase ('toepassing', 'oktetstroom')

part.set_payload ((aanhangsel). lees ())

encoders.encode_base64 (deel)

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

boodskap aanheg (deel)

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

server.starttls ()

server.login (fromaddr, "U WOORDWOORD")

teks = msg.as_string ()

server.sendmail (fromaddr, toaddr, teks)

server.quit ()

Stap 6: Probleemoplossing en bronne

Probleemoplossing en bronne
Probleemoplossing en bronne

Probleemoplossing:

Omdat hierdie projek verskeie fases het, is daar verskeie punte waarop dinge kan skeefloop. Hier is 'n paar moontlike foute wat kan voorkom en hoe om dit reg te stel.

  • As u u pi opstel om u huidige IP -adres per e -pos aan u te stuur, is dit van kardinale belang om die rc.local -lêer te wysig soos vroeër getoon, omdat dit 'n effense vertraging moontlik maak voordat die program geaktiveer word na herlaai. Anders sal die pi nog nie aan wifi gekoppel wees nie, en die e -pos sal nie stuur nie.
  • As u die motion.conf -lêer redigeer, moet u die kommapunt voor sekere parameters verwyder. Die kommapunt onderdruk 'n gegewe aksie, anders sal die verandering nie in werking tree nie.
  • Die motion.conf -lêer is baie goed georganiseer en gedetailleerd. Verander die instellings na u smaak, maar verstaan dat dit die sukses van die bewegingsopneemstelsel kan beïnvloed.
  • Nadat u die e -poswaarskuwings- en e -posvideo -opsies opgestel het, is dit belangrik om daarop te let dat die e -pos van die bewegingsbespeurde video 'n bietjie langer sal neem as om te stuur as die aanvanklike e -pos. Dit is omdat die video 'n paar sekondes nadat die beweging nie meer opgespoor word nie, eindig, en omdat die e -posaanhangsel groot genoeg kan wees om 'n paar minute te neem om te ontvang. In sommige gevalle, as die beweging vir 'n baie lang tyd aangehou word, kan dit te groot wees om te stuur. As gevolg hiervan is dit altyd 'n goeie idee om die livestream na te gaan nadat u die e -pos ontvang het.

Waarom beweging ?:

By die aanvang van hierdie projek het ons verskillende hulpbronne oorweeg. Eerstens het ons oorweeg om die PiCam te gebruik, 'n kamera -eenheid wat spesifiek vir die framboos -pi gebou is. Die PiCam is beslis 'n bekwame toestel en het baie toepassings, maar dit is beperk tot die gebruik van programme wat spesifiek daarvoor ontwerp is en relatief duur is in vergelyking met goedkoop veeldoelige webcams. Om hierdie projek vir 'n groter publiek toeganklik te maak, het ons besluit om 'n gemeenskaplike USB -webkamera te gebruik. Die volgende uitgawe was watter sagteware om in te sluit. Ons het aanvanklik OpenCV oorweeg, wat gratis sagteware is wat verskillende soorte rekenaarvisie- en beeldprojekte moontlik maak. Een van die kwessies hier is dat OpenCV 'n massiewe lêer is wat baie geheue en baie tyd in beslag neem. Die opstelling het ook verskeie fases, wat nog meer ruimte vir foute laat. Ons het gevind dat Motion vir ons spesifieke projek eenvoudiger was om op te stel en aan die gang te kom, maar dat dit baie robuuster was in die uitvoering daarvan.

Bronne

Kodebronne:

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

Fotokrediete:

SSH Slak:

Poslogo:

Logitech webkamera:

SSH-venster:

Aanbeveel: