Sisällysluettelo:
- Vaihe 1: Pi: n käyttöönotto
- Vaihe 2: SSHing PI: hen
- Vaihe 3: Lähetä IP -osoitteesi sähköpostitse käynnistyksen yhteydessä
- Vaihe 4: Liikkeen asentaminen ja asettaminen
- Vaihe 5: Videoiden lähettäminen sähköpostista liikkeestä havaitsemiseen
- Vaihe 6: Vianetsintä ja lähteet
Video: Raspberry Pi 3 -liikkeentunnistuskamera, jossa on suora syöttö: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Johdanto
Tässä projektissa opit rakentamaan liiketunnistuskameran, jota voit käyttää kameraloukuna, lemmikkieläinten/vauvojen valvontalaitteena, turvakamerana ja paljon muuta.
Tämä projekti on jaettu useisiin vaiheisiin:
- Johdanto
- Pi: n asentaminen
- SSHing Pi -laitteeseesi
- Sähköpostitse IP -osoitteesi käynnistyksen yhteydessä
- Motionin asentaminen ja määrittäminen
- Videoiden lähettäminen liikkeestä havaitsemisesta
- Vianetsintä ja lähteet
Mitä tarvitset:
- A Raspberry Pi 3 -malli b ~ ~ 35 dollaria
- 8 Gt: n Micro SD -kortti ~ ~ 10 dollaria
- USB -verkkokamera ~ ~ 20 dollaria (tässä projektissa käytettiin Logitech HD Webcam c270)
- mikro -usb -kaapeli ~ ~ 5 dollaria
- jompikumpi:
- ladattava 5 voltin akku (puhelimen vara -akku), tämä tekee projektistasi langattoman ~ ~ 20 dollaria
- tai
- usb -seinäsovitin ~ ~ 5 dollaria
- WiFi -yhteys
Mihin tarvitset pääsyn määritykseen:
- Näyttö
- Hiiri ja näppäimistö
- Tietokone, jossa on SD -korttipaikka
- Micro SD - SD -kortin muunnin (micro SD -kortin mukana)
Vaihe 1: Pi: n käyttöönotto
Asetetaan nyt Pi
Varmista aluksi, että sinulla on kaikki vaaditut kohteet viimeisestä vaiheesta. Noudata sitten Raspberry Pi -sivuston ohjeita Raspbian Jessien asentamisesta Microsd -kortillesi, joka löytyy täältä.
Kun olet asentanut Raspbianin Pi -laitteeseesi, on aika ottaa käyttöön joitakin perusominaisuuksia.
WiFi
Ensimmäinen askel saadaksesi kaiken irti Pi: stä on yhdistää se Internetiin. Olet saattanut suorittaa tämän vaiheen jo joko etsimällä WiFi -symbolin Pi: n päänäytön oikeasta yläkulmasta ja kirjautumalla sisään siihen tai tekemällä saman ennen Raspbianin asentamista viimeisessä vaiheessa. Jos et pysty kirjautumaan WiFi -verkkoon Pi -työpöydän käyttöliittymästä, voit seurata WiFi -asetuksia komentorivin kautta noudattamalla näitä ohjeita.
SSH
Yksi erittäin kätevä työkalu, joka on käytettävissäsi Pi: tä käytettäessä, on mahdollisuus antaa komentoja Pi: lle päättömässä asennuksessa. Käyttämällä Secure SHellia tai SSH: ta voit ohjata Pi: täsi etäyhteydellä tietokoneesta. Tällä menetelmällä Pi: n muokkaamiseen tarvitset vain virtalähteen pitääksesi sen päällä, ei enää näyttöä ja näppäimistöä!
Vaihe 2: SSHing PI: hen
SSH -yhteyden ottaminen Raspberry Pi -laitteeseen on helppoa ja erittäin hyödyllistä, koska prosessin avulla voit antaa komentoja Pi -laitteellesi mistä tahansa tietokoneesta, jolla on vain WiFi -yhteys.
SSH: n liittämiseksi Pi: hen sinun on noudatettava näitä 3 yksinkertaista vaihetta.
Ensinnäkin sinun on otettava SSH käyttöön Pi -laitteessasi. Voit tehdä tämän avaamalla Pi -komentoikkunan ja kirjoittamalla:
sudo raspi-config
Tämän komennon avulla voit siirtyä asetusvalikkoon. sieltä haluat käyttää nuolia, välilehteä ja syöttönäppäimiä siirtyäksesi ensin liitäntävaihtoehtoihin, ottaaksesi sitten SSH: n ja kameran käyttöön ja lopeta sitten pi ja käynnistä se uudelleen.
Seuraavaksi sinun on löydettävä Pi: n IP -osoite. Kirjoita komentopäätteeseen:
sudo ifconfig
Ja IP -osoitteesi pitäisi olla wlan0 -osiossa, joka tulee esiin, suoraan Link encap: ethernet -kohdan alla. Yllä olevassa esittelykuvassa IP -osoite on 192.168.1.10.
Lopuksi sinun on joko avattava sisäänrakennettu päätesovellus Macissa tai löydettävä ja noudatettava kolmannen osapuolen ssh -sovelluksen ohjeita Windowsille. Kirjoita Terminal -sovellukseen:
ssh pi@IP -OSOITE
Jos et ole vaihtanut salasanaa Raspi-config-tilassa, salasana, jonka annat pyydettäessä, on oletussalasana: vadelma.
Sieltä sinun pitäisi olla hyvä mennä!
Vaihe 3: Lähetä IP -osoitteesi sähköpostitse käynnistyksen yhteydessä
Tässä vaiheessa keskitymme siihen, miten voit käyttää Raspberry Pi -laitettasi riippumatta siitä, missä verkossa olet. Pi: n IP -osoite muuttuu verkon mukaan. Ja jos sinulla ei ole näytön asetuksia, sinun on ssh: n sisällytettävä Pi: hen, jotta voit käynnistää liiketunnistusprotokollan, muuttaa liikeasetuksia tai käyttää mitä tahansa muuta laitetta. Tämän ongelman ratkaisemiseksi kirjoitamme python -komentosarjan, joka lähettää meille sähköpostitse Pi: n nykyisen IP -osoitteen käynnistyksen yhteydessä. Python -skripti on seuraava ja se on tallennettu hakemistoon, joka on merkitty "tausta".
#start kotihakemistosta
cd ~
#luoda taustakansio
mkdir tausta
#create python script
sudo nano emailip.py
#kirjoita sähköpostiosoitteeseen emailip.py
tuontiliitäntä
s = socket.socket (socket. AF_INET, socket. SOCK_DGRAM)
s.connect (("8.8.8.8", 80))
tulosta (s.getsockname () [0]) x = s.getsockname () [0] s.close ()
tuo smtplib
MIMEMultipart tuonti MIMEMultipart
MIMEText tuo MIMEText
fromaddr = "OMA OSOITE"
toaddr = "VASTAANOTTAVA OSOITE"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['Vastaanottaja] = toaddr
msg ['Subject'] = "IP -osoite"
body = xmsg.attach (MIMEText (body, 'tavallinen'))
palvelin = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "SALASANASI")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
#sitten tämä tekee sen uudelleenkäynnistyksen yhteydessä
sudo nano /etc/rc.local
#syötä /etc/rc.local
sillä aikaa ! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';
nuku 3
tehty
_IP = $ (isäntänimi -I) || totta
jos ["$ _IP"]; sitten
printf "IP -osoitteeni on %s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
poistua 0
#ja olet valmis
Vaihe 4: Liikkeen asentaminen ja asettaminen
#päivitys pi
sudo apt-get päivitys
sudo apt-get päivitys
#ladata
sudo apt-get install motion
#now muokkaa tätä tiedostoa seuraavilla muutoksilla
sudo nano /etc/motion/motion.conf
#asettaaksesi standardin tälle opetusohjelmalle, muuta
#################
daemon päällä
stream_localhost pois päältä
webcontrol_localhost pois päältä
ffmpeg_output_movies päällä
target_dir/var/lib/motion
##################
#paikallisen verkkoselaimen suoratoistovaihtoehdot
##################
stream_maxrate 100 #Tämä mahdollistaa reaaliaikaisen suoratoiston, mutta vaatii enemmän kaistanleveyttä ja resursseja
framerate 60 #Tämä mahdollistaa 60 kuvan sieppaamisen sekunnissa #mitä korkeampi tämä on, sitä hitaampi videon käsittely
leveys 640 #Tämä muuttaa näytettävän kuvan leveyttä
korkeus 480 #Tämä muuttaa näytettävän kuvan korkeutta
##################
#sähköpostiviestiasetukset…/motion.conf
##################
#poista ";" rivin edestä, puolipiste kommentoi viivaa
on_event_start python /home/pi/background/motionalert.py %f
on_movie_end python /home/pi/background/motionvid.py %f
##################
#astetiikka
##################
#vaihtoehdot kuvattu tiedostossa
output_pictures locate_motion_style
##################
#sitten muutos
sudo nano/etc/default/motion
#sanoa
start_motion_daemon = kyllä
#viimeinen, käynnistä B **** ylös
sudo -palvelun liikkeen käynnistys
#voit muuttaa komennon "stop" tai "restart"
Vaihe 5: Videoiden lähettäminen sähköpostista liikkeestä havaitsemiseen
Sähköposti, kun havaitaan liike:
#aloita kotona
dircd ~
#create motion alert python -skripti
sudo nano /home/pi/background/motionalert.py
#kirjoittaa
tuo smtplib
datetime tuonti datetime
MIMEMultipart tuonti MIMEMultipart
MIMEText tuo MIMEText
fromaddr = "OMA OSOITE"
toaddr = "RECIEVINGADDRESS"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['Vastaanottaja] = toaddr
msg ['Subject'] = "Liike havaittu"
body = 'Liike on havaittu. / nAika: % s' % str (datetime.now ())
msg.attach (MIMEText (body, 'tavallinen'))
palvelin = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOURPASSWORD")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
Sähköposti Liikkeen video, kun video tallennetaan:
#aloita osoitteesta homedircd ~
#create motion video python scriptsudo nano /home/pi/background/motionvid.py
tuo smtplib
MIMEMultipart tuonti MIMEMultipart
MIMEText tuo MIMEText
MIMEBase -tuonti MIMEBase
sähköpostin tuontikoodereista
fromaddr = "OMA SÄHKÖPOSTI"
toaddr = "Sähköpostiosoite, johon lähetät"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['Vastaanottaja] = toaddr
msg ['Subject'] = "Motion Cam aktivoitu"
body = "Video liikkeestä havaittu"
msg.attach (MIMEText (body, 'tavallinen'))
tuonti
rootpath = '/var/lib/motion'
filelist = [os.path.join (juuripolku, f) f: lle os.listdir (juuripolku)]
tiedostolista = [f f: lle tiedostoluettelossa, jos os.path.isfile (f)]
uusin = maksimi (tiedostoluettelo, avain = lambda x: os.stat (x).st_mtime)
tiedostonimi = uusin
tuonti
rootpath = '/var/lib/motion'
filelist = [os.path.join (juuripolku, f) f: lle os.listdir (juuripolku)]
tiedostolista = [f f: lle tiedostoluettelossa, jos os.path.isfile (f)]
uusin = maksimi (tiedostoluettelo, avain = lambda x: os.stat (x).st_mtime)
liite = auki (uusin, "rb")
part = MIMEBase ('sovellus', 'oktettivirta')
part.set_payload ((liite).read ())
encoders.encode_base64 (osa)
part.add_header ('Content-Disposition', "liite; tiedostonimi = % s" % tiedostonimi)
msg.attach (osa)
palvelin = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "SALASANASI")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
Vaihe 6: Vianetsintä ja lähteet
Ongelmien karttoittaminen:
Koska tässä projektissa on useita vaiheita, on useita kohtia, joissa asiat voivat mennä pieleen. Alla on joitain mahdollisia virheitä ja niiden korjaaminen.
- Kun määrität pi: n lähettämään sinulle sähköpostitse sen nykyisen IP -osoitteen, on tärkeää muokata rc.local -tiedostoa kuten aiemmin on esitetty, koska tämä sallii pienen viiveen ennen kuin ohjelma aktivoituu uudelleenkäynnistyksen jälkeen. Muuten pi ei ole vielä yhteydessä wifi -verkkoon, eikä sähköpostia lähetetä.
- Kun muokkaat motion.conf -tiedostoa, muista poistaa puolipisteet tiettyjen parametrien edestä. Puolipiste estää tietyn toiminnon, joten muutos ei tule voimaan.
- Motion.conf -tiedosto on hyvin organisoitu ja yksityiskohtainen. Voit muuttaa asetuksia mieleiseksesi, mutta ymmärrä, että ne voivat vaikuttaa liikkeen sieppausjärjestelmän menestykseen.
- Sähköpostihälytyksen ja sähköpostivideovaihtoehtojen määrittämisen jälkeen on tärkeää huomata, että liiketunnistetun videon sähköposti kestää hieman kauemmin kuin lähettäminen kuin alkuperäinen hälytysviesti. Tämä johtuu siitä, että video päättyy pari sekuntia sen jälkeen, kun liikettä ei enää havaita, ja koska sähköpostin liite voi olla tarpeeksi suuri, jotta sen vastaanottaminen voi kestää muutaman minuutin. Joissakin tapauksissa, jos liike jatkuu hyvin pitkään, se voi olla liian suuri lähetettäväksi ollenkaan. Tästä syystä on aina hyvä tarkistaa livestriimi ensimmäisen hälytysviestin vastaanottamisen jälkeen.
Miksi Motion ?:
Kun aloitimme tämän hankkeen, otimme huomioon useita erilaisia resursseja. Ensin harkitsimme PiCamin käyttöä, joka on kamerayksikkö, joka on rakennettu erityisesti vadelmapi: lle. PiCam on varmasti kykenevä laite ja sillä on monia sovelluksia, mutta se rajoittuu vain sille suunniteltujen ohjelmien käyttöön ja on suhteellisen kallis verrattuna halpiin monikäyttöisiin web -kameroihin. Joten jotta tämä projekti saataisiin saataville suuremmalle yleisölle, päätimme käyttää yhteistä USB -verkkokameraa. Seuraava kysymys oli, mitä ohjelmistoja sisällyttää. Harkitsimme aluksi OpenCV: tä, joka on ilmainen ohjelmisto, joka mahdollistaa monenlaisia Computer Vision- ja kuvantamisprojekteja. Ongelmista tässä on se, että OpenCV on massiivinen tiedosto, joka vie paljon muistia ja kestää pitkään. Asennuksessa on myös useita vaiheita, mikä jättää vielä enemmän tilaa virheille. Havaitsimme, että erityisprojektimme osalta Motion oli yksinkertaisempi asentaa ja saada käyttöön, mutta paljon tehokkaampi sen toteuttamisessa.
Lähteet
Koodin lähteet:
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
Valokuvat:
SSH Etana:
Postin logo:
Logitechin verkkokamera:
SSH-ikkuna:
Suositeltava:
MIDI-ohjattu askelmoottori, jossa on suora digitaalinen synteesi (DDS) -piiri: 3 vaihetta
MIDI-ohjattu askelmoottori, jossa on suora digitaalinen synteesi (DDS) -piiri: Onko sinulla koskaan ollut aavistusta, että sinun täytyi muuttua miniprojektiksi? No, pelasin luonnoksella, jonka olin tehnyt Arduino Due: lle ja jonka tarkoituksena oli tehdä musiikkia AD9833 Direct Digital Synthesis (DDS) -moduulilla … ja jossain vaiheessa ajattelin & q
Penkki POWER -syöttö (piiri): 8 vaihetta
Penkki -virtalähde (piiri): Hei! Tehdään penkki virtalähde. Tämä on ensimmäinen osa sähköpiiristä. Seuraavan kerran näytän sinulle, kuinka olen tehnyt puulaatikon
Plus-miinus 5 V: n syöttö 9 V: n akusta (osa 2): 4 vaihetta
Plus-miinus 5 V: n syöttö 9 V: n akusta (osa 2): Hei kaverit! Olen palannut. Op-vahvistimet edellyttävät kaksinapaisuutta, jotta ne toimisivat kunnolla. Paristolähteitä käytettäessä on vaikea saada kaksoisvirtalähdettä op-vahvistimille. Tässä on yksinkertainen piiri, joka tarjoaa ± 5 V 9 V: n taikinasta
Raspberry Pi automaattinen koiran syöttölaite ja suora videon suoratoisto: 3 vaihetta
Raspberry Pi Automatic Dog Feeder & Live Video Streamer: Tämä on Raspberry PI -käyttöinen automaattinen koiran syöttölaite. Olin töissä aamulla klo 11-21. Koirani tulee hulluksi, jos en syö sitä ajoissa. Surffaili googlella ostaakseen automaattisia ruokinsyöttölaitteita, niitä ei ole saatavilla Intiassa ja kalliita tuontia
Opetusliitäntä HX711 -liitäntään, jossa kuormasolun suora tanko 50 kg: 10 vaihetta (kuvilla)
Opetusliitäntä HX711-liitäntään, jossa on kuormakenno, suora 50 kg: HX711 BALACE MODULED Kuvaus: Tämä moduuli käyttää 24 korkean tarkkuuden A / D-muunninta. Tämä siru on suunniteltu erittäin tarkkaa elektronista mittakaavaa ja suunnittelua varten, ja siinä on kaksi analogista tulokanavaa, ohjelmoitava vahvistus 128 integroitua vahvistinta. Tulopiiri