Բովանդակություն:
- Քայլ 1: Տեղադրեք ձեր Pi- ն
- Քայլ 2: SSHing ձեր PI- ին
- Քայլ 3: Էլփոստով ուղարկեք ձեր IP հասցեն Boot- ում
- Քայլ 4: Շարժման տեղադրում և կարգավորում
- Քայլ 5. Հայտնաբերման շարժումից տեսանյութեր ուղարկելը
- Քայլ 6: Խնդիրների վերացում և աղբյուրներ
Video: Raspberry Pi 3 շարժման հայտնաբերման տեսախցիկ ՝ կենդանի հոսքով ՝ 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Ներածություն
Այս նախագծում դուք կսովորեք, թե ինչպես կառուցել շարժման հայտնաբերման տեսախցիկ, որը կկարողանաք օգտագործել որպես խցիկի ծուղակ, ընտանի կենդանու/երեխայի մոնիտոր, անվտանգության տեսախցիկ և շատ ավելին:
Այս նախագիծը կազմակերպված է մի քանի քայլերի.
- Ներածություն
- Ձեր Pi- ի կարգավորում
- SSHing ձեր Pi- ում
- Էլեկտրոնային փոստով ուղարկեք ձեր IP հասցեն բեռնման ժամանակ
- Տեղադրեք և կարգավորեք Motion- ը
- Էլեկտրոնային փոստի հասցե ՝ շարժման տեսանյութերի հայտնաբերում
- Խնդիրների վերացում և աղբյուրներ
Այն, ինչ ձեզ հարկավոր կլինի
- A Raspberry Pi 3 մոդել b 35 35 դոլար
- 8 գբ Micro SD քարտ 10 10 դոլար
- USB տեսախցիկ ~~ 20 դոլար (այս նախագիծը օգտագործել է Logitech HD վեբ -տեսախցիկ c270)
- միկրո USB մալուխ ՝ 5 դոլար
- կամ ՝
- վերալիցքավորվող 5 վոլտ մարտկոցի փաթեթ (հեռախոսի պահեստային մարտկոց), սա ձեր նախագիծը դարձնում է անլար 20 ֆունտ ստեռլինգ
- կամ
- usb պատի ադապտեր ~~ 5 դոլար
- WiFi կապ
Այն, ինչ ձեզ հարկավոր կլինի մուտք գործելու համար
- Մոնիտոր
- Մկնիկ և ստեղնաշար
- SD քարտի բնիկով համակարգիչ
- Micro SD- ի SD քարտի փոխարկիչ (պետք է լինի ձեր միկրո SD քարտի հետ միասին)
Քայլ 1: Տեղադրեք ձեր Pi- ն
Այժմ եկեք ստեղծենք ձեր Pi- ն
Սկսելու համար համոզվեք, որ ունեք վերջին քայլից պահանջվող բոլոր տարրերը: Հետո, հետևեք Raspberry Pi վեբ կայքի քայլերին ՝ Raspbian Jessie- ն ձեր Microsd քարտի վրա տեղադրելու վերաբերյալ, որը գտնվում է այստեղ:
Երբ Raspbian- ը տեղադրեք ձեր Pi- ի վրա, ժամանակն է կարգավորել որոշ հիմնական հնարավորություններ:
WiFi
Ձեր Pi- ից առավելագույնը ստանալու առաջին քայլը դա ձեր ինտերնետին միացնելն է: Հավանաբար, դուք արդեն ավարտել եք այս քայլը կամ տեղադրելով WiFi- ի խորհրդանիշը ձեր Pi- ի հիմնական էկրանի վերին աջ անկյունում և այնտեղ մուտք գործելով, կամ նույնը կատարելով ՝ մինչև վերջին քայլը Raspbian- ը տեղադրելը: Եթե դուք չեք կարող մուտք գործել ձեր WiFi ցանց ձեր Pi- ի աշխատասեղանի միջերեսից, կարող եք հետևել այստեղ տրված հրահանգներին `WiFi հրամանի տողի միջոցով կարգավորելու համար:
SSH
Ձեր Pi- ն օգտագործելիս ձեզ հասանելի մեկ շատ հարմար գործիք է ձեր Pi- ին հրամաններ տալու տարբերակը, որը հայտնի է որպես անգլուխ կարգավորում: Օգտագործելով Secure SHell կամ SSH ՝ կարող եք ձեր Pi- ն հեռակա կարգով վերահսկել համակարգչից: Այս մեթոդով ձեր Pi- ն խմբագրելու համար ձեզ անհրաժեշտ է էներգիա ՝ այն միացնելու համար, այլ ոչ մոնիտոր և ստեղնաշար:
Քայլ 2: SSHing ձեր PI- ին
Ձեր Raspberry Pi- ում SSH մտնելը հեշտ է և շատ օգտակար, քանի որ գործընթացը թույլ է տալիս ձեր Pi- ին հրամաններ տալ ցանկացած համակարգչից, բացի WiFi կապից:
Ձեր Pi- ին SSH մուտքագրելու համար հարկավոր է հետևել այս 3 պարզ քայլերին:
Նախ, դուք պետք է միացնեք SSH- ը ձեր Pi- ի վրա: Դա անելու համար ձեր Pi- ում բացեք հրամանի պատուհան և մուտքագրեք.
sudo raspi-config
Այս հրամանը թույլ է տալիս մուտքագրել կազմաձևման ընտրացանկ: այնտեղից դուք կցանկանաք օգտագործել սլաքը, ներդիրը և մուտքագրել ստեղները ՝ սկզբում միանալու ընտրանքներին, այնուհետև SSH- ին, ինչպես նաև տեսախցիկին միացնելու համար, այնուհետև դուրս եկեք և վերագործարկեք pi- ն:
Հաջորդը, դուք պետք է գտնեք ձեր Pi- ի IP հասցեն: Հրամանի տերմինալում մուտքագրեք.
sudo ifconfig
Եվ ձեր IP հասցեն պետք է լինի wlan0 բաժնում, որը հայտնվում է, անմիջապես Link encap: ethernet հղման ներքո: Վերևի ցուցադրական նկարում IP հասցեն 192.168.1.10 է:
Վերջապես, դուք պետք է կամ բացեք ներկառուցված տերմինալ ծրագիրը mac- ի վրա, կամ գտնեք և հետևեք Windows- ի երրորդ կողմի ssh ծրագրի հրահանգներին: Տերմինալ հավելվածում մուտքագրեք.
ssh pi@ՁԵՐ IP հասցեն
Եթե Raspi-config- ի ընթացքում չեք փոխել գաղտնաբառը, ապա հուշման ժամանակ մուտքագրելու ձեր գաղտնաբառը կլինի կանխադրված գաղտնաբառը `ազնվամորի:
Այնտեղից պետք է լավ գնալ:
Քայլ 3: Էլփոստով ուղարկեք ձեր IP հասցեն Boot- ում
Այս քայլում մենք կկենտրոնանանք, թե ինչպես մուտք գործել ձեր Raspberry Pi ՝ անկախ այն ցանցից, որտեղ դուք գտնվում եք: Կախված ցանցից, Pi- ի IP հասցեն փոխվում է: Եվ եթե դուք չունեք մոնիտորի կարգավորում, ապա ձեզ հարկավոր է ssh մուտքագրել Pi- ում `շարժման հայտնաբերման արձանագրությունը գործարկելու, շարժման նախապատվությունները փոխելու կամ սարքի ցանկացած այլ բան մուտք գործելու համար: Այս խնդիրը լուծելու համար մենք կգրենք պիթոնի սցենար, որը գործարկելիս մեզ էլ. Փոստով ուղարկում է Pi- ի IP ընթացիկ IP հասցեն: Պիթոնի սցենարը հետևյալն է և պահվում էր «ֆոն» նշվող գրացուցակում:
#սկսել տնային գրացուցակում
cd
#ստեղծել ֆոնային թղթապանակ
mkdir ֆոն
#ստեղծել պիթոնի սցենար
sudo nano emailip.py
#գրել emailip.py- ում
ներմուծման վարդակից
s = socket.socket (socket. AF_INET, socket. SOCK_DGRAM)
s.connect (("8.8.8.8", 80))
տպել (s.getsockname () [0]) x = s.getsockname () [0] s.close ()
ներմուծել smtplib
էլ. փոստից. MIMEMultipart ներմուծել MIMEMultipart
փոստից: MIMEText ներմուծում MIMEText
fromaddr = "ՔՈ ՀԱՍRԵ"
toaddr = "ՀԱՍDԵՆ ՍՏԱՈՄ"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "IP հասցե"
մարմին = xmsg.attach (MIMEText (մարմին, «պարզ»))
սերվեր = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOUR PASSWORD")
տեքստ = msg.as_string ()
server.sendmail (fromaddr, toaddr, տեքստ)
server.quit ()
#ապա դա անում է վերագործարկման ժամանակ
sudo nano /etc/rc.local
#մուտքագրեք /etc/rc.local
մինչդեռ! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';
քնել 3
կատարած
_IP = $ (հյուրընկալողի անունը -I) || ճիշտ
եթե ["$ _IP"]; ապա
printf "Իմ IP հասցեն է %s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
ելք 0
#և ավարտեցիր
Քայլ 4: Շարժման տեղադրում և կարգավորում
#թարմացնել պի
sudo apt-get թարմացում
sudo apt-get բարելավում
#բեռնել
sudo apt-get տեղադրել միջնորդությունը
#այժմ խմբագրեք այս ֆայլը հետևյալ փոփոխություններով
sudo nano /etc/motion/motion.conf
#այս ձեռնարկի համար չափանիշ սահմանելու համար փոխեք
#################
դեյմոնը միացված է
stream_localhost- ն անջատված է
webcontrol_localhost- ն անջատված է
ffmpeg_output_movies- ը միացված է
target_dir/var/lib/motion
##################
#տեղական վեբ դիտարկիչի հոսքի ընտրանքներ
##################
stream_maxrate 100 #Սա թույլ կտա իրական ժամանակում հեռարձակել, բայց պահանջում է ավելի շատ թողունակություն և ռեսուրսներ
շրջանակի արագություն 60 #Սա թույլ կտա 60 կադր ֆիքսել վայրկյանում #որքան բարձր է դա, այնքան դանդաղ է կատարվում տեսանյութի մշակումը
լայնություն 640 #Սա փոխում է ցուցադրվող պատկերի լայնությունը
բարձրություն 480 #Սա փոխում է ցուցադրվող պատկերի բարձրությունը
##################
#փոստի տեսանյութի կարգավորումները…/motion.conf- ում
##################
#ջնջեք տողի դիմաց «;» կետը, ստորակետը մեկնաբանում է տողը
on_event_start python /home/pi/background/motionalert.py %f
on_movie_end python /home/pi/background/motionvid.py %f
##################
#ասեկտիկա
##################
#ընտրություն նկարագրված է ֆայլում
ելքային_պատկերներ տեղադրեք_շարժման_ ոճը
##################
#ապա փոխիր
sudo nano/etc/default/motion
#ասել
start_motion_daemon = այո
#վերջին, սկսեք B **** վերև
sudo ծառայության շարժման սկիզբ
#կարող եք փոխել հրամանը «դադարեցնել» կամ «վերագործարկել»
Քայլ 5. Հայտնաբերման շարժումից տեսանյութեր ուղարկելը
Էլեկտրոնային փոստ, երբ շարժումը հայտնաբերվում է
#սկսել տանը
dircd
#ստեղծեք շարժման ազդանշանի պիթոնի սցենար
sudo nano /home/pi/background/motionalert.py
#գրել
ներմուծել smtplib
datetime- ից ներմուծել datetime
էլ. փոստից. MIMEMultipart ներմուծել MIMEMultipart
փոստից: MIMEText ներմուծում MIMEText
fromaddr = "ՔՈ ՀԱՅԱՍՏԱՆԸ"
toaddr = "RECIEVINGADDRESS"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Շարժումը հայտնաբերված է"
մարմին = 'Շարժում է հայտնաբերվել: / n:ամանակ ՝ % s' % str (datetime.now ())
msg.attach (MIMEText (մարմին, «պարզ»))
սերվեր = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, «YOURPASSWORD»)
տեքստ = msg.as_string ()
server.sendmail (fromaddr, toaddr, տեքստ)
server.quit ()
Էլ.փոստի շարժման տեսանյութ, երբ տեսանյութը պահվում է
#սկիզբ homedircd- ում
#ստեղծեք շարժման տեսանյութ պիթոնի սցենարներ սուդո նանո/տուն/պի/հետին պլան/շարժում. վիդեո. py
ներմուծել smtplib
էլ. փոստից. MIMEMultipart ներմուծել MIMEMultipart
փոստից: MIMEText ներմուծում MIMEText
փոստից. MIMEBase ներմուծում MIMEBase
էլփոստի ներմուծման կոդավորիչներից
fromaddr = "ՔՈ Էլ. փոստ"
toaddr = "E -mail ՀԱՍRԵ, ՈՐՈՎ Ո SՈENDՄ ԵՍ"
msg = MIMEMultipart ()
msg ['From'] = fromaddr
msg ['To'] = toaddr
msg ['Subject'] = "Motion Cam- ն ակտիվացված է"
body = "Հայտնաբերվել է շարժման տեսանյութ"
msg.attach (MIMEText (մարմին, «պարզ»))
ներմուծել os
rootpath = '/var/lib/motion'
ֆայլացանկ = [os.path.join (rootpath, f) for f in os.listdir (rootpath)]
filelist = [f for filelist- ում, եթե os.path.isfile (f)]
նորագույն = առավելագույնը (ֆայլերի ցուցակ, բանալին = lambda x: os.stat (x).st_mtime)
ֆայլի անունը = նորագույնը
ներմուծել os
rootpath = '/var/lib/motion'
ֆայլացանկ = [os.path.join (rootpath, f) for f in os.listdir (rootpath)]
filelist = [f for filelist- ում, եթե os.path.isfile (f)]
նորագույն = առավելագույնը (ֆայլերի ցուցակ, բանալին = lambda x: os.stat (x).st_mtime)
հավելված = բաց (նորագույն, «rb»)
մաս = MIMEBase ('դիմում', 'octet-stream')
part.set_payload ((առդիր). կարդալ ())
encoders.encode_base64 (մաս)
part.add_header ('Content-Disposition', "attachment; filename = % s" % filename)
msg. կցել (մաս)
սերվեր = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOUR PASSWORD")
տեքստ = msg.as_string ()
server.sendmail (fromaddr, toaddr, տեքստ)
server.quit ()
Քայլ 6: Խնդիրների վերացում և աղբյուրներ
Անսարքությունների վերացում
Քանի որ այս նախագիծը մի քանի փուլ ունի, կան մի քանի կետեր, որոնցում ամեն ինչ կարող է սխալ լինել: Ստորև բերված են հնարավոր սխալներից մի քանիսը և ինչպես դրանք շտկել:
- Երբ ձեր pi- ն ձեզ էլփոստի համար ուղարկի իր ընթացիկ IP հասցեն, շատ կարևոր է խմբագրել rc.local ֆայլը, ինչպես ցույց է տրված ավելի վաղ, քանի որ դա թույլ է տալիս մի փոքր ուշացնել, նախքան ծրագիրը վերագործարկվելուց հետո ակտիվանալը: Հակառակ դեպքում pi- ն դեռ միացված չէ wifi- ին, և էլ. Փոստը չի ուղարկվի:
- Motion.conf ֆայլը խմբագրելիս համոզվեք, որ ջնջեք ստորակետները որոշակի պարամետրերի դիմաց: Կետ ստորակետը ճնշում է տվյալ գործողությունը, այնպես որ հակառակ դեպքում փոփոխությունը ուժի մեջ չի մտնի:
- Motion.conf ֆայլը շատ լավ կազմակերպված և մանրամասն է: Ազատորեն փոխեք կարգավորումները ըստ ձեր ցանկության, բայց հասկացեք, որ դրանք կարող են ազդել շարժման գրավման համակարգի հաջողության վրա:
- Էլփոստի ահազանգի և էլ. Փոստի տեսանյութերի ընտրանքները սահմանելուց հետո կարևոր է նշել, որ շարժման ընթացքում հայտնաբերված տեսանյութի էլ. Պատճառն այն է, որ տեսանյութն ավարտվում է մի քանի վայրկյան հետո, երբ շարժումն այլևս չի հայտնաբերվում, և քանի որ էլ. Որոշ դեպքերում, եթե շարժումը շարունակվում է շատ երկար ժամանակ, այն կարող է չափազանց մեծ լինել ընդհանրապես ուղարկելու համար: Այդ իսկ պատճառով միշտ էլ լավ գաղափար է նախնական ահազանգի նամակ ստանալուց հետո ստուգել ուղիղ հոսքը:
Ինչու՞ շարժում:
Այս նախագիծը սկսելիս մենք հաշվի առանք մի քանի տարբեր ռեսուրսներ: Սկզբում մենք դիտարկեցինք PiCam- ի օգտագործումը, որը տեսախցիկ է, որը կառուցվել է հատուկ ազնվամորու pi- ի համար: PiCam- ը, անշուշտ, ընդունակ սարք է և ունի բազմաթիվ ծրագրեր, սակայն այն սահմանափակվում է հատուկ ծրագրերի համար նախատեսված ծրագրերի օգտագործմամբ և համեմատաբար թանկ էժան բազմաֆունկցիոնալ տեսախցիկների համեմատ: Այսպիսով, այս նախագիծը ավելի մեծ լսարանի համար հասանելի դարձնելու համար մենք որոշեցինք օգտագործել ընդհանուր USB տեսախցիկ: Հաջորդ խնդիրն այն էր, թե որ ծրագրակազմն ընդգրկել: Սկզբում մենք դիտարկեցինք OpenCV- ն, որն անվճար ծրագրակազմ է, որը թույլ է տալիս համակարգչային տեսողության և պատկերման բազմաթիվ տարբեր տեսակների: Այստեղ առկա խնդիրներից մեկն այն է, որ OpenCV- ն զանգվածային ֆայլ է, որը զբաղեցնում է շատ հիշողություն և երկար ժամանակ ստեղծվում: Կարգավորումը նաև ունի բազմաթիվ փուլեր ՝ թողնելով նույնիսկ ավելի շատ սխալների տեղ: Մենք պարզեցինք, որ մեր կոնկրետ նախագծի համար Motion- ն ավելի պարզ էր կարգավորել և աշխատել, բայց շատ ավելի ուժեղ էր դրա կատարման մեջ:
Աղբյուրներ
Կոդի աղբյուրներ
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
Լուսանկարներ ՝
SSH Snail ՝
Փոստի պատկերանշան ՝
Logitech վեբ-տեսախցիկ ՝
SSH պատուհան ՝
Խորհուրդ ենք տալիս:
ESP32-CAM Կառուցեք ձեր սեփական ռոբոտ-մեքենան կենդանի վիդեո հոսքով `4 քայլ
ESP32-CAM Կառուցեք ձեր սեփական ռոբոտ-մեքենան կենդանի վիդեո հոսքի միջոցով. Գաղափարն այն է, որ այստեղ նկարագրված ռոբոտ-մեքենան հնարավորինս էժան լինի: Հետևաբար, ես հույս ունեմ, որ կհասնեմ մեծ թիրախային խմբին `իմ մանրամասն հրահանգներով և էժան մոդելի համար ընտրված բաղադրիչներով: Ես կցանկանայի ձեզ ներկայացնել իմ գաղափարը ռոբոտ մեքենայի համար
Շարժման հայտնաբերման Տագնապ. 7 քայլ
Շարժման հայտնաբերման տագնապ. Բարև, ընկերներ ձեռնարկում ես ձեզ ցույց կտամ, թե ինչպես կատարել շարժման հայտնաբերման ահազանգ: այս նախագծի հիմնական բաղադրիչը PIR տվիչն է
DIY շարժման հայտնաբերման SMS ազդանշանային համակարգ. 5 քայլ (նկարներով)
DIY Motion Detection SMS ազդանշանային համակարգ. Այս նախագծում ես կհամատեղեմ էժան PIR շարժման տվիչը TC35 GSM մոդուլի հետ `ահազանգման համակարգ կառուցելու համար, որը ձեզ կուղարկի " ՆԵՐRԱՈ ALԹՅՈERՆ ՏԵERԵԿՈԹՅՈՆ " SMS, երբ ինչ -որ մեկը փորձում է գողանալ ձեր իրերը: Եկեք սկսենք
Ինչպես կառուցել շարժման հայտնաբերման համակարգ Arduino- ով. 7 քայլ
Ինչպես կառուցել շարժման հայտնաբերման համակարգ Arduino- ով. Կառուցեք շարժման և ներկայության արտադրության հաշվիչ ՝ օգտագործելով Arduino- ով ծրագրավորված և Ubidots- ի օգնությամբ գործող փետուր HUZZAH- ը: Խելացի տներում և խելացի արտադրությունում արդյունավետ ֆիզիկական շարժման և ներկայության հայտնաբերումը կարող է շատ օգտակար լինել տարբեր ծրագրերում:
Երթևեկության օրինաչափության անալիզատոր կենդանի օբյեկտների հայտնաբերման միջոցով. 11 քայլ (նկարներով)
Երթևեկության օրինաչափության անալիզատոր ՝ օգտագործելով կենդանի օբյեկտների հայտնաբերում. Այսօրվա աշխարհում լուսաֆորները էական նշանակություն ունեն անվտանգ ճանապարհի համար: Այնուամենայնիվ, շատ անգամ լուսաֆորները կարող են նյարդայնացնել այն իրավիճակներում, երբ ինչ -որ մեկը մոտենում է լույսին հենց այն պահին, երբ այն կարմիր է դառնում: Սա ժամանակ է վատնում, հատկապես, եթե լույսը լուսավորվում է