INHOUDSOPGAWE:
- Stap 1: Stel u Pi op
- Stap 2: SSH in u PI
- Stap 3: E -pos u IP -adres tydens opstart
- Stap 4: Installeer en stel bewegings op
- Stap 5: Stuur e -pos na video's uit beweging na opsporing
- Stap 6: Probleemoplossing en bronne
Video: Raspberry Pi 3 Bewegingsopsporingskamera met lewendige voer: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
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
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 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
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
#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
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:
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:
ESP32-CAM Bou u eie robotmotor met lewendige videostroom: 4 stappe
ESP32-CAM Bou u eie robotmotor met lewendige videostroom: Die idee is om die robotmotor wat hier beskryf word, so goedkoop moontlik te maak. Daarom hoop ek om 'n groot doelgroep te bereik met my gedetailleerde instruksies en die geselekteerde komponente vir 'n goedkoop model. Ek wil u my idee vir 'n robotmotor voorstel
Maak pragtige plotte met lewendige Arduino -data (en stoor die data in Excel): 3 stappe
Maak pragtige plotte met lewendige Arduino -data (en stoor die data in Excel): ons speel almal graag met ons P … lotterfunksie in die Arduino IDE, hoewel dit nuttig kan wees vir basiese toepassings, word die data meer as uitgewis punte word bygevoeg en dit is nie besonder aangenaam vir die oë nie. Die Arduino IDE -plotter
Hoe om 'n lewendige datatracker van Coronavirus COVID 19 te maak met ESP8266, e-papiervertoning: 7 stappe
Hoe om 'n lewendige datatracker van Coronavirus COVID 19 te maak met ESP8266, e-papiervertoning: 1
Loactor met lewendige verslag met behulp van Chat Bot: 4 stappe
Loactor Met of Live -verslag met behulp van Chat Bot: via WhatsApp, kry veranderlikes (ligging, hoogte, druk …) van NodeMCU soos versoek of stuur opdragte na NodeMCU via Twilio se API. Ek werk al 'n paar weke met Twilio se API, veral vir WhatsApp -boodskappe, en selfs app gemaak
Verkeerspatroonanaliseerder met behulp van opsporing van lewendige voorwerpe: 11 stappe (met foto's)
Verkeerspatroonanaliseerder met behulp van opsporing van lewendige voorwerpe: In die hedendaagse wêreld is verkeersligte noodsaaklik vir 'n veilige pad. Verkeersligte kan egter baie keer irriterend wees in situasies waarin iemand die lig nader, net soos dit rooi word. Dit mors tyd, veral as die lig te lank is