Orodha ya maudhui:

Kamera ya Kugundua Mwendo wa Raspberry Pi 3 na Kulisha Moja kwa Moja: Hatua 6
Kamera ya Kugundua Mwendo wa Raspberry Pi 3 na Kulisha Moja kwa Moja: Hatua 6

Video: Kamera ya Kugundua Mwendo wa Raspberry Pi 3 na Kulisha Moja kwa Moja: Hatua 6

Video: Kamera ya Kugundua Mwendo wa Raspberry Pi 3 na Kulisha Moja kwa Moja: Hatua 6
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Desemba
Anonim
Kamera ya Kugundua Mwendo wa Raspberry Pi 3 na Kulisha Moja kwa Moja
Kamera ya Kugundua Mwendo wa Raspberry Pi 3 na Kulisha Moja kwa Moja

Utangulizi

Katika mradi huu, utajifunza jinsi ya kujenga kamera ya kugundua mwendo ambayo utaweza kutumia kama mtego wa kamera, kipenzi cha wanyama / mtoto, kamera ya usalama, na mengi zaidi.

Mradi huu umeandaliwa kwa hatua kadhaa:

  • Utangulizi
  • Kuanzisha Pi yako
  • SSHing ndani ya Pi yako
  • Kutuma barua pepe kwa anwani yako ya IP kwenye buti
  • Kufunga na kuanzisha Mwendo
  • Video za Kutuma Barua pepe kutoka kwa Mwendo kwenye kugundua
  • Utatuzi na Vyanzo

Nini utahitaji:

  • Mfano wa Raspberry Pi 3 b ~~ $ 35
  • 8gb Micro SD kadi ~~ $ 10
  • Kamera ya mtandao ya USB ~~ $ 20 (mradi huu ulitumia kamera ya wavuti ya Logitech HD c270)
  • kebo ndogo ya usb ~ ~ $ 5
  • ama:
  • pakiti ya betri ya volt 5 inayoweza kuchajiwa (betri ya chelezo ya simu), hii inafanya mradi wako kutokuwa na waya ~~ $ 20
  • au
  • adapta ya ukuta ya usb ~~ $ 5
  • Uunganisho wa WiFi

Kile utahitaji ufikiaji wa usanidi:

  • Mfuatiliaji
  • Panya na kibodi
  • Kompyuta iliyo na nafasi ya kadi ya SD
  • Micro SD kwa kibadilishaji cha kadi ya SD (inapaswa kuja na kadi yako ndogo ya SD)

Hatua ya 1: Kuweka Pi yako

Kuanzisha Pi yako
Kuanzisha Pi yako

Sasa wacha tuanzishe Pi yako

Kuanza, hakikisha una vitu vyote vinavyohitajika kutoka hatua ya mwisho. Kisha, fuata hatua kwenye wavuti ya Raspberry Pi kwenye usanidi wa Raspbian Jessie kwenye kadi yako ya Microsd, inayopatikana hapa.

Mara tu ukiweka Raspbian kwenye Pi yako, ni wakati wa kupata huduma kadhaa za kimsingi.

WiFi

Hatua ya kwanza ya kupata zaidi kutoka kwa Pi yako ni kuiunganisha kwenye mtandao. Labda umekamilisha hatua hii tayari ama kwa kupata alama ya WiFi kwenye kona ya juu kulia ya skrini kuu ya Pi na kuingia hapo, au kufanya kitu kimoja kabla ya kusanikisha Raspbian katika hatua ya mwisho. Ikiwa huwezi kuingia kwenye mtandao wako wa WiFi kutoka kwa kiolesura cha eneo-kazi cha Pi, unaweza kufuata maagizo hapa ya kusanidi WiFi kupitia laini ya amri.

SSH

Zana moja rahisi sana inayopatikana kwako unapotumia Pi yako ni chaguo la kutoa amri kwa Pi yako katika kile kinachojulikana kama usanidi usio na kichwa. Kwa kutumia SHELL Salama, au SSH, unaweza kudhibiti Pi yako kwa mbali kutoka kwa kompyuta. Kwa njia hii, utahitaji kuhariri Pi yako ni chanzo cha nguvu ili kuiweka, hakuna mfuatiliaji tena na kibodi!

Hatua ya 2: SSHing Ndani ya PI yako

SSHing ndani ya PI yako
SSHing ndani ya PI yako
SSHing ndani ya PI yako
SSHing ndani ya PI yako

SSHing katika Raspberry yako Pi ni rahisi na muhimu sana, kwani mchakato hukuruhusu kutoa maagizo kwa Pi yako kutoka kwa kompyuta yoyote bila chochote zaidi ya unganisho la WiFi.

Ili SSH kwenye Pi yako, unahitaji kufuata hatua hizi 3 rahisi.

Kwanza, unahitaji kuwezesha SSH kwenye Pi yako. Ili kufanya hivyo, fungua dirisha la amri kwenye Pi yako, na andika katika:

Sudo raspi-config

Amri hii hukuruhusu kuingiza menyu ya usanidi. kutoka hapo utataka kutumia mshale, kichupo, na ingiza vitufe kwenda kwanza kwenye chaguzi za kuingiliana, kisha kuwezesha SSH, pamoja na kamera, kisha utoke na kuwasha tena pi.

Ifuatayo, utahitaji kupata anwani yako ya IP ya Pi. Kwenye terminal ya amri, andika:

Sudo ifconfig

Na anwani yako ya IP inapaswa kuwa katika sehemu ya wlan0 inayojitokeza, kulia chini ya Kiambatisho cha Kiunga: ethernet. Katika picha ya onyesho hapo juu, Anwani ya IP ni 192.168.1.10.

Mwishowe, utahitaji kufungua programu iliyojengwa kwenye terminal kwenye mac, au upate na ufuate maagizo ya programu ya ssh ya tatu ya windows. Katika programu ya Kituo, andika:

ssh pi @ ANWANI YAKO IP

Ikiwa haujabadilisha nenosiri wakati uko katika Raspi-config, basi nywila yako kuingia wakati unahamasishwa itakuwa nywila chaguomsingi: rasipberry.

Kutoka hapo, unapaswa kuwa mzuri kwenda!

Hatua ya 3: Tuma Anwani yako ya IP kwa Boot

Tuma Anwani yako ya IP kwa Boot
Tuma Anwani yako ya IP kwa Boot

Katika hatua hii tutazingatia jinsi ya kufikia Raspberry yako Pi, bila kujali mtandao uliopo. Kulingana na mtandao, anwani ya IP ya IP inabadilika. Na ikiwa hauna usanidi wa ufuatiliaji, utahitaji kuingiza kwenye Pi ili kuchochea itifaki ya kugundua mwendo, kubadilisha mapendeleo ya mwendo, au kufikia kitu kingine chochote kwenye kifaa. Ili kutatua shida hii tutaandika hati ya chatu ambayo hututumia barua pepe ya IP ya IP ya sasa wakati wa kuanza. Hati ya chatu ni kama ifuatavyo na ilikuwa imehifadhiwa kwenye saraka iliyowekwa alama "nyuma".

# anza saraka ya nyumbani

cd ~

#fungua folda ya usuli

historia ya mkdir

#unda script ya chatu

Sudo nano emailip.py

#andika katika emailip.py

tundu la kuagiza

s = tundu. soketi (tundu. AF_INET, tundu. SOCK_DGRAM)

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

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

kuagiza smtplib

kutoka barua pepe. MIMEMultipart kuagiza MIMEMultipart

kutoka kwa barua pepe. MIMEText kuagiza MIMEText

fromaddr = "ANWANI YAKO"

toaddr = "KUPOKEA ANWANI"

msg = MIMMipartipart ()

msg ['Kutoka'] = kutokaaddr

msg ['Kwa'] = toaddr

msg ['Subject'] = "Anwani ya IP"

mwili = xmsg. ambatanisha (MIMEText (mwili, 'wazi'))

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

starttls ()

kuingia. server (kutokaaddr, "NENO LAKO")

maandishi = msg.as_string ()

seva.sendmail (kutokaaddr, toaddr, maandishi)

server.quit ()

# basi hii inafanya wakati wa kuwasha upya

Sudo nano /etc/rc.local

#ingiza ndani /etc/rc.local

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

kulala 3

kumaliza

_IP = $ (jina la mwenyeji -I) || kweli

ikiwa ["$ _IP"]; basi

printf "Anwani yangu ya IP ni% s / n" "$ _IP"

chatu / nyumba/pi/Background/emailip.py &

fi

toka 0

#na umemaliza

Hatua ya 4: Kuweka na Kuweka Mwendo

Kufunga na Kuanzisha Mwendo
Kufunga na Kuanzisha Mwendo

#sasisha pi

Sudo apt-pata sasisho

sasisho la kupata apt

#pakua

sudo apt-kupata mwendo wa kufunga

#sasa hariri faili hii na mabadiliko yafuatayo

Sudo nano /etc/motion/motion.conf

#kuweka kiwango cha mafunzo haya, badilika

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

daemon imewashwa

stream_localhost imezimwa

webcontrol_localhost imezimwa

ffmpeg_output_movies kwenye

lengo_dir / var / lib / mwendo

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

Chaguzi za mtiririko wa kivinjari cha wavuti

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

stream_maxrate 100 #Hii itaruhusu utiririshaji wa wakati halisi lakini inahitaji bandwidth zaidi na rasilimali

fremu 60 #Hii itaruhusu muafaka 60 kunaswa kwa sekunde # kadiri inavyozidi kuongezeka, kasi ya usindikaji wa video

upana 640 #Hii inabadilisha upana wa picha iliyoonyeshwa

urefu 480 #Hii inabadilisha urefu wa picha iliyoonyeshwa

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

Mipangilio ya video ya # katika # / motion.conf

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

#futa ";" mbele ya mstari, semicoloni inatoa maoni nje ya mstari

on_event_start chatu / nyumba/pi/background/motionalert.py% f

on_movie_end chatu / nyumba/pi/background/motionvid.py% f

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

#taalam

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

#chaguo zilizoelezewa kwenye faili

pato_picha tafuta_motion_style

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

#kisha badilika

sudo nano / nk / default / mwendo

#kusema

start_motion_daemon = ndio

#last, anza B **** juu

mwendo wa huduma ya sudo kuanza

# unaweza kubadilisha amri ya "kuacha", au "kuanzisha upya"

Hatua ya 5: Video za Kutuma Barua pepe Kutoka kwa Mwendo wa Kugundua

Video za Kutuma Barua pepe Kutoka kwa Mwendo wa Kugundua
Video za Kutuma Barua pepe Kutoka kwa Mwendo wa Kugundua

Barua pepe wakati mwendo unapogunduliwa:

#anzia nyumbani

dircd ~

#tengeneza mwendo wa mwendo hati ya chatu

Sudo nano / nyumba / uwanja / uwanja wa nyuma/motionalert.py

#andika

kuagiza smtplib

kutoka wakati wa kuingiza wakati wa kuingiza

kutoka barua pepe. MIMEMultipart kuagiza MIMEMultipart

kutoka kwa barua pepe. MIMEText kuagiza MIMEText

fromaddr = "YOURADDRESS"

toaddr = "RECIEVINGADDRESS"

msg = MIMMipartipart ()

msg ['Kutoka'] = kutokaaddr

msg ['Kwa'] = toaddr

msg ['Subject'] = "Mwendo Umetambuliwa"

body = 'Mwendo umetambuliwa. / n Wakati:% s'% str (datetime.now ())

ambatisha msg (MIMEText (body, 'plain'))

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

starttls ()

login. server (kutokaaddr, "YOURPASSWORD")

maandishi = msg.as_string ()

seva.sendmail (kutokaaddr, toaddr, maandishi)

server.quit ()

Barua pepe Video ya mwendo wakati video imehifadhiwa:

#anzia saa homedircd ~

#unda mwendo wa video hati ya chatu sudo nano / nyumba / pwani / uwanja wa nyuma/motionvid.py

kuagiza smtplib

kutoka barua pepe. MIMEMultipart kuagiza MIMEMultipart

kutoka kwa barua pepe. MIMEText kuagiza MIMEText

kutoka kwa barua pepe. MIMEBase ingiza MIMEBase

kutoka kwa usimbuaji wa kuagiza barua pepe

fromaddr = "Barua pepe Yako"

toaddr = "ANWANI YA EMAIL UNAYOTUMIA"

msg = MIMMipartipart ()

msg ['Kutoka'] = kutokaaddr

msg ['Kwa'] = toaddr

msg ['Subject'] = "Kamera ya Mwendo imeamilishwa"

mwili = "Video ya Mwendo Kugunduliwa"

ambatisha msg (MIMEText (mwili, 'wazi'))

kuagiza os

mzizi wa njia = '/ var / lib / mwendo'

orodha ya faili = [os.path.join (rootpath, f) kwa f katika os.listdir (rootpath)]

orodha ya faili = [f kwa f katika orodha ya faili ikiwa os.path.isfile (f)]

mpya zaidi = upeo (orodha ya faili, ufunguo = lambda x: os.stat (x).st_mtime)

jina la faili = mpya zaidi

kuagiza os

mzizi wa njia = '/ var / lib / mwendo'

orodha ya faili = [os.path.join (rootpath, f) kwa f katika os.listdir (rootpath)]

orodha ya faili = [f kwa f katika orodha ya faili ikiwa os.path.isfile (f)]

mpya zaidi = upeo (orodha ya faili, ufunguo = lambda x: os.stat (x).st_mtime)

kiambatisho = wazi (mpya zaidi, "rb")

sehemu = MIMEBase ('programu', 'octet-stream')

sehemu.set_payload ((kiambatisho) soma ())

encoders.encode_base64 (sehemu)

part.add_header ('Content-Disposition', "kiambatisho; filename =% s"% jina la faili)

ambatisha msg (sehemu)

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

starttls ()

kuingia. server (kutokaaddr, "NENO LAKO")

maandishi = msg.as_string ()

seva.sendmail (kutokaaddr, toaddr, maandishi)

server.quit ()

Hatua ya 6: Utatuzi na Chanzo

Utatuzi na Vyanzo
Utatuzi na Vyanzo

Utatuzi wa shida:

Kwa sababu mradi huu una hatua nyingi, kuna alama kadhaa ambazo mambo yanaweza kwenda vibaya. Hapo chini kuna makosa ambayo yanaweza kutokea na jinsi ya kuyatengeneza.

  • Wakati wa kusanidi pi yako kukutumia barua pepe ya anwani yake ya IP ya sasa, ni muhimu kuhariri faili ya rc.local kama inavyoonyeshwa hapo awali kwa sababu hii inaruhusu kucheleweshwa kidogo kabla ya programu kuanza baada ya kuwasha upya. Vinginevyo pi bado haijaunganishwa na wifi, na barua pepe haitatuma.
  • Wakati wa kuhariri faili ya motion.conf hakikisha unafuta semicoloni mbele ya vigezo fulani. Semicoloni hukandamiza hatua fulani, kwa hivyo vinginevyo mabadiliko hayataanza.
  • Faili ya mwendo.conf imepangwa vizuri na imeelezewa kwa kina. Jisikie huru kubadilisha mipangilio upendavyo, lakini elewa zinaweza kusababisha mafanikio ya mfumo wa kukamata mwendo.
  • Baada ya kuanzisha tahadhari ya barua pepe na chaguzi za video za barua pepe, ni muhimu kutambua kwamba barua pepe ya video iliyogunduliwa ya mwendo itachukua muda kidogo kuliko kutuma kuliko barua pepe ya tahadhari ya awali. Hii ni kwa sababu video inahitimisha sekunde kadhaa baada ya mwendo kutambuliwa tena, na kwa sababu kiambatisho cha barua pepe kinaweza kuwa kubwa vya kutosha kuhitaji dakika kadhaa kupokea. Katika visa vingine, ikiwa mwendo unadumu kwa muda mrefu sana inaweza kuwa kubwa sana kutuma kabisa. Kwa sababu ya hii daima ni wazo nzuri kuangalia mtiririko wa moja kwa moja baada ya kupokea barua pepe ya tahadhari ya awali.

Kwa nini Mwendo?

Wakati wa kwanza kuanza mradi huu tulizingatia rasilimali kadhaa tofauti. Kwanza tulifikiria kutumia PiCam ambayo ni kitengo cha kamera kilichojengwa mahsusi kwa pi ya raspberry. PiCam hakika ni kifaa chenye uwezo na ina matumizi mengi, lakini ni mdogo kwa kutumia programu ambazo zimeundwa mahsusi kwa ajili yake na ni ghali sana ikilinganishwa na kamera za wavuti zenye bei rahisi. Kwa hivyo ili kufanikisha mradi huu kwa hadhira kubwa, tuliamua kutumia kamera ya wavuti ya kawaida ya USB. Toleo lililofuata lilikuwa programu ipi ya kuingiza. Hapo awali tulizingatia OpenCV ambayo ni programu ya bure ambayo inaruhusu aina nyingi za Miradi ya Maono ya Kompyuta na miradi. Juu ya maswala hapa ni kwamba OpenCV ni faili kubwa ambayo inachukua kumbukumbu nyingi na kuweka muda mrefu. Usanidi pia una hatua nyingi, ukiacha nafasi zaidi ya kosa. Tuligundua kuwa kwa mradi wetu maalum, Mwendo ulikuwa rahisi kuanzisha na kufanya kazi, lakini kwa nguvu zaidi katika utekelezaji wake.

Vyanzo

Vyanzo vya Kanuni:

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

Sifa za picha:

Konokono ya SSH:

Nembo ya barua:

Kamera ya wavuti ya Logitech:

Dirisha la SSH:

Ilipendekeza: