Satura rādītājs:
- 1. darbība. Pi iestatīšana
- 2. solis: SSHing jūsu PI
- 3. darbība: nosūtiet savu IP adresi palaišanas laikā
- 4. darbība: kustības instalēšana un iestatīšana
- 5. darbība. Nosūtiet videoklipus pa e -pastu no kustības uz noteikšanu
- 6. darbība: problēmu novēršana un avoti
Video: Kustības noteikšanas kamera Raspberry Pi 3 ar tiešo plūsmu: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Ievads
Šajā projektā jūs uzzināsit, kā izveidot kustības noteikšanas kameru, kuru varēsit izmantot kā kameru slazdu, mājdzīvnieku/mazuļu monitoru, drošības kameru un daudz ko citu.
Šis projekts ir sadalīts vairākos posmos:
- Ievads
- Pi iestatīšana
- SSHing jūsu Pi
- E -pasta adrese jūsu IP adresei sāknēšanas laikā
- Kustības instalēšana un iestatīšana
- Video nosūtīšana pa e -pastu no kustības noteikšanas laikā
- Problēmu novēršana un avoti
Kas jums būs nepieciešams:
- A Raspberry Pi 3 modelis b ~ ~ 35 USD
- 8 GB Micro SD karte ~ 10 USD
- USB tīmekļa kamera ~ ~ 20 USD (šajā projektā tika izmantota Logitech HD Webcam c270)
- mikro usb kabelis ~ 5 USD
- arī:
- uzlādējams 5 voltu akumulators (tālruņa rezerves akumulators), tas padara jūsu projektu bezvadu ~ 20 USD
- vai
- USB sienas adapteris ~ 5 USD
- WiFi savienojums
Piekļuve iestatīšanai:
- Monitors
- Pele un tastatūra
- Dators ar SD kartes slotu
- Micro SD uz SD kartes pārveidotājs (jāiegādājas kopā ar jūsu micro SD karti)
1. darbība. Pi iestatīšana
Tagad iestatīsim jūsu Pi
Lai sāktu, pārliecinieties, ka jums ir visi nepieciešamie vienumi no pēdējā soļa. Pēc tam veiciet Raspberry Pi tīmekļa vietnes darbības, lai instalētu Raspbian Jessie savā Microsd kartē, kas atrodama šeit.
Kad esat instalējis Raspbian savā Pi, ir pienācis laiks iestatīt dažas pamata funkcijas.
Bezvadu internets
Pirmais solis, lai maksimāli izmantotu savu Pi, ir savienot to ar internetu. Iespējams, esat jau pabeidzis šo darbību, vai nu atrodot WiFi simbolu Pi galvenā ekrāna augšējā labajā stūrī un pierakstoties tur, vai arī darot to pašu pirms Raspbian instalēšanas pēdējā solī. Ja nevarat pierakstīties savā WiFi tīklā, izmantojot Pi darbvirsmas saskarni, varat izpildīt šeit sniegtos norādījumus, lai iestatītu WiFi, izmantojot komandrindu.
SSH
Viens ļoti ērts rīks, kas jums pieejams, lietojot savu Pi, ir iespēja izdot komandas jūsu Pi, kas pazīstams kā iestatījums bez galvas. Izmantojot Secure SHell vai SSH, jūs varat vadīt savu Pi attālināti no datora. Izmantojot šo metodi, viss, kas jums būs nepieciešams, lai rediģētu savu Pi, ir barošanas avots, lai to saglabātu, vairs nav monitora un tastatūras!
2. solis: SSHing jūsu PI
SSHing jūsu Raspberry Pi ir vienkārša un ļoti noderīga, jo process ļauj jums izdot komandas savam Pi no jebkura datora, kam nav nekas vairāk kā WiFi savienojums.
Lai SSH ievadītu savā Pi, jums jāveic šīs 3 vienkāršās darbības.
Pirmkārt, jums ir jāiespējo SSH savā Pi. Lai to izdarītu, savā Pi atveriet komandu logu un ierakstiet:
sudo raspi-config
Šī komanda ļauj ieiet konfigurācijas izvēlnē. no turienes jūs vēlaties izmantot bultiņu, cilni un ievadīšanas taustiņus, lai vispirms pārietu uz saskarnes opcijām, pēc tam, lai iespējotu SSH, kā arī kameru, pēc tam izejiet un pārstartējiet pi.
Tālāk jums jāatrod sava Pi IP adrese. Komandu terminālī ierakstiet:
sudo ifconfig
Un jūsu IP adresei vajadzētu būt parādītajā sadaļā wlan0, tieši zem saites encap: ethernet. Iepriekš redzamajā demonstrācijas attēlā IP adrese ir 192.168.1.10.
Visbeidzot, jums Mac datorā ir jāatver iebūvētā termināļa lietotne vai jāatrod un jāievēro trešās puses ssh lietotnes Windows instrukcijas. Lietotnē Terminal ierakstiet:
ssh pi@JŪSU IP ADRESE
Ja Raspi-config laikā neesat mainījis paroli, tad parole, kas jāievada, kad tiek prasīts, būs noklusējuma parole: aveņu.
No turienes jums vajadzētu labi iet!
3. darbība: nosūtiet savu IP adresi palaišanas laikā
Šajā solī mēs koncentrēsimies uz to, kā piekļūt jūsu Raspberry Pi neatkarīgi no jūsu tīkla. Atkarībā no tīkla, Pi IP adrese mainās. Un, ja jums nav monitora iestatījumu, jums ir jāieslēdz Pi, lai aktivizētu kustības noteikšanas protokolu, mainītu kustības preferences vai piekļūtu jebkuram citam ierīcē. Lai atrisinātu šo problēmu, mēs uzrakstīsim python skriptu, kas palaišanas laikā nosūtīs mums e -pastu uz Pi pašreizējo IP adresi. Python skripts ir šāds un tika saglabāts direktorijā ar atzīmi "fons".
#start mājas direktorijā
cd ~
#izveidojiet fona mapi
mkdir fons
#izveidot python skriptu
sudo nano emailip.py
#rakstīt emailip.py
importa ligzda
s = ligzda.socket (ligzda. AF_INET, ligzda. SOCK_DGRAM)
s.connect (("8.8.8.8", 80))
drukāt (s.getsockname () [0]) x = s.getsockname () [0] s.close ()
importēt smtplib
no e -pasta. MIMEMultipart imports MIMEMultipart
no e -pasta. MIMEText importē MIMEText
fromaddr = "TAVA ADRESE"
toaddr = "SAŅEMŠANAS ADRESE"
msg = MIMEMdaudzdaļa ()
msg ['From'] = fromaddr
msg ['Kam'] = adrese
msg ['Subject'] = "IP adrese"
ķermenis = xmsg.attach (MIMEText (pamatteksts, 'vienkāršs'))
serveris = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "JŪSU PAROLE")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
#Tad tas tiek darīts pēc pārstartēšanas
sudo nano /etc/rc.local
#ievadiet /etc/rc.local
kamēr! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';
gulēt 3
darīts
_IP = $ (resursdatora nosaukums -I) || taisnība
ja ["$ _IP"]; tad
printf "Mana IP adrese ir %s / n" "$ _IP"
python /home/pi/Background/emailip.py &
fi
izeja 0
#un esat pabeidzis
4. darbība: kustības instalēšana un iestatīšana
#atjaunināt pi
sudo apt-get update
sudo apt-get jauninājums
#lejupielāde
sudo apt-get install motion
#now rediģējiet šo failu, veicot šādas izmaiņas
sudo nano /etc/motion/motion.conf
#lai iestatītu šīs apmācības standartu, mainiet
#################
ieslēgts dēmons
stream_localhost izslēgts
webcontrol_localhost izslēgts
ffmpeg_output_movies ieslēgts
target_dir/var/lib/motion
##################
#local tīmekļa pārlūkprogrammas straumēšanas iespējas
##################
stream_maxrate 100 #Tas ļaus straumēt reāllaikā, bet prasa lielāku joslas platumu un resursus
kadru nomaiņas ātrums 60 #Tas ļaus uzņemt 60 kadrus sekundē #jo lielāks tas kļūst, jo lēnāka video apstrāde
platums 640 #Tas maina parādītā attēla platumu
augstums 480 #Tas maina parādītā attēla augstumu
##################
#e -pasta video iestatījumi…/motion.conf
##################
#dzēst ";" rindas priekšā, semikols komentē līniju
on_event_start python /home/pi/background/motionalert.py %f
on_movie_end python /home/pi/background/motionvid.py %f
##################
#astika
##################
#izlases, kas aprakstītas failā
output_pictures locate_motion_style
##################
#tad pārmaiņas
sudo nano/etc/default/motion
#teikt
start_motion_daemon = jā
#pēdējais, sāciet B **** uz augšu
sudo pakalpojuma kustības sākšana
#jūs varat mainīt komandu uz "stop" vai "restart"
5. darbība. Nosūtiet videoklipus pa e -pastu no kustības uz noteikšanu
E -pasts, kad tiek konstatēta kustība:
#sāc mājās
dircd ~
#create motion alert python skripts
sudo nano /home/pi/background/motionalert.py
#rakstīt
importēt smtplib
no datuma importēšanas datuma laika
no e -pasta. MIMEMultipart imports MIMEMultipart
no e -pasta. MIMEText importē MIMEText
fromaddr = "JŪSU ADRESE"
toaddr = "RECIEVINGADDRESS"
msg = MIMEMdaudzdaļa ()
msg ['From'] = fromaddr
msg ['Kam'] = adrese
msg ['Subject'] = "Atrasta kustība"
body = 'Ir konstatēta kustība. / nLaiks: % s' % str (datetime.now ())
msg.attach (MIMEText (pamatteksts, 'vienkāršs'))
serveris = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "YOURPASSWORD")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
Kustības video pa e -pastu, kad video tiek saglabāts:
#sāciet vietnē homedircd ~
#create motion video python scriptsudo nano /home/pi/background/motionvid.py
importēt smtplib
no e -pasta. MIMEMultipart imports MIMEMultipart
no e -pasta. MIMEText importē MIMEText
no e -pasta. MIMEBase importē MIMEBase
no e -pasta importēšanas kodētājiem
fromaddr = "JŪSU E -PASTS"
toaddr = "E -pasta adrese, uz kuru jūs sūtāt"
msg = MIMEMdaudzdaļa ()
msg ['From'] = fromaddr
msg ['Kam'] = adrese
msg ['Subject'] = "Kustības kamera aktivizēta"
body = "Noteikts kustības video"
msg.attach (MIMEText (pamatteksts, 'vienkāršs'))
importēt OS
rootpath = '/var/lib/motion'
failu saraksts = [os.path.join (rootpath, f) f failam os.listdir (rootpath)]
failu saraksts = [f priekš f failu sarakstā, ja os.path.isfile (f)]
jaunākais = max (failu saraksts, atslēga = lambda x: os.stat (x).st_mtime)
faila nosaukums = jaunākais
importēt OS
rootpath = '/var/lib/motion'
failu saraksts = [os.path.join (rootpath, f) f failam os.listdir (rootpath)]
failu saraksts = [f priekš f failu sarakstā, ja os.path.isfile (f)]
jaunākais = max (failu saraksts, atslēga = lambda x: os.stat (x).st_mtime)
pielikums = atvērts (jaunākais, "rb")
part = MIMEBase ('lietojumprogramma', 'okteta straume')
part.set_payload ((pielikums).read ())
encoders.encode_base64 (daļa)
part.add_header ('Content-Disposition', "pielikums; faila nosaukums = % s" % faila nosaukums)
msg.attach (daļa)
serveris = smtplib. SMTP ('smtp.gmail.com', 587)
server.starttls ()
server.login (fromaddr, "JŪSU PAROLE")
text = msg.as_string ()
server.sendmail (fromaddr, toaddr, text)
server.quit ()
6. darbība: problēmu novēršana un avoti
Problēmu novēršana:
Tā kā šim projektam ir vairāki posmi, ir vairāki punkti, kuros lietas var noiet greizi. Tālāk ir norādītas dažas iespējamās kļūdas un to novēršana.
- Iestatot pi, lai nosūtītu jums e -pastu ar pašreizējo IP adresi, ir svarīgi rediģēt rc.local failu, kā parādīts iepriekš, jo tas ļauj nedaudz aizkavēties, pirms programma tiek aktivizēta pēc pārstartēšanas. Pretējā gadījumā pi vēl nebūs savienots ar wifi, un e -pasts netiks nosūtīts.
- Rediģējot failu motion.conf, noteikti izdzēsiet semikolu pirms noteiktiem parametriem. Semikols nomāc noteiktu darbību, tāpēc pretējā gadījumā izmaiņas nestāsies spēkā.
- Motion.conf fails ir ļoti labi organizēts un detalizēts. Jūtieties brīvi mainīt iestatījumus pēc saviem ieskatiem, taču saprotiet, ka tie var ietekmēt kustību uztveršanas sistēmas panākumus.
- Pēc e -pasta brīdinājuma un e -pasta video opciju iestatīšanas ir svarīgi ņemt vērā, ka kustību konstatētā videoklipa e -pasta ziņojums aizņems nedaudz ilgāku laiku nekā nosūtīšana nekā sākotnējais brīdinājuma e -pasts. Tas ir tāpēc, ka videoklips beidzas pāris sekundes pēc tam, kad kustība vairs netiek konstatēta, un e -pasta pielikums var būt pietiekami liels, lai saņemtu dažas minūtes. Dažos gadījumos, ja kustība tiek saglabāta ļoti ilgu laiku, tā var būt pārāk liela, lai to vispār nosūtītu. Šī iemesla dēļ vienmēr ir ieteicams pārbaudīt tiešraidi pēc sākotnējā brīdinājuma e -pasta saņemšanas.
Kāpēc Motion ?:
Sākot šo projektu, mēs apsvērām vairākus dažādus resursus. Vispirms mēs apsvērām iespēju izmantot PiCam, kas ir kameras ierīce, kas īpaši izveidota aveņu pi. PiCam noteikti ir spējīga ierīce, un tai ir daudz lietojumprogrammu, taču tā aprobežojas ar tādu programmu izmantošanu, kas ir īpaši paredzētas tai un ir salīdzinoši dārgas salīdzinājumā ar lētām daudzfunkcionālām tīmekļa kamerām. Tāpēc, lai padarītu šo projektu pieejamu lielākai auditorijai, mēs nolēmām izmantot kopēju USB tīmekļa kameru. Nākamais jautājums bija, kuru programmatūru iekļaut. Sākotnēji mēs uzskatījām OpenCV, kas ir bezmaksas programmatūra, kas ļauj izmantot dažādus datora redzes un attēlveidošanas projektus. Viens no jautājumiem šeit ir tas, ka OpenCV ir milzīgs fails, kas aizņem daudz atmiņas un ilgu laiku. Iestatīšanai ir arī vairāki posmi, atstājot vēl vairāk iespēju kļūdām. Mēs atklājām, ka mūsu konkrētajam projektam Motion bija vienkāršāk iestatīt un sākt strādāt, taču tā izpilde bija daudz stabilāka.
Avoti
Koda avoti:
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
Fotoattēlu kredīti:
SSH gliemezis:
Pasta logotips:
Logitech tīmekļa kamera:
SSH logs:
Ieteicams:
Pizero kustības noteikšanas tīmekļa kameras drošības sistēma: 3 soļi
Pizero kustības noteikšanas tīmekļa kameras drošības sistēma: šī sistēma izmanto pizero, wifi dongle un vecu tīmekļa kameru pielāgotā sērkociņu kastes korpusā. Tas ieraksta kustības noteikšanas videoklipus ar ātrumu 27 kadri sekundē par jebkādām nozīmīgām kustībām manā piebraucamajā ceļā. Pēc tam klipi tiek augšupielādēti dropbox kontā. Varat arī apskatīt žurnālus un
Kustības noteikšanas Arduino lāzers: 5 soļi
Kustības noteikšanas Arduino lāzers: PIEZĪME. Šis projekts tika izstrādāts tā, lai visas detaļas varētu atkārtoti izmantot turpmākajos projektos. Tā rezultātā galaprodukts ir mazāk stabils, nekā tas būtu, ja izmantotu vairāk pastāvīgu materiālu, piemēram, līmi, lodēšanu utt.! Brīdinājums: Vai nē
Kā izveidot kustības noteikšanas sistēmu ar Arduino: 7 soļi
Kā izveidot kustību noteikšanas sistēmu ar Arduino: izveidojiet kustības un klātbūtnes veidošanas skaitītāju, izmantojot spalvu HUZZAH, kas ieprogrammēta ar Arduino un kuru darbina Ubidots. Efektīva fiziskās kustības un klātbūtnes noteikšana viedās mājās un viedā ražošanā var būt ļoti noderīga lietojumprogrammās, sākot no
Kustības noteikšanas e -pasta paziņojums DVR vai NVR: 4 soļi
Paziņojums par kustības noteikšanu e -pastā DVR vai NVR: šajā pamācībā mēs parādīsim, kā DVR vai NVR ierīcē iestatīt kustības noteiktus e -pasta paziņojumus. Gandrīz ikviens, kurš ielaužas kādā ēkā, zina, ka cilvēki ir ķērušies pie videonovērošanas sistēmu uzstādīšanas, lai aizsargātu savu piederību
Kustības kontrolēta izeja - no kustības sensora gaismas: 6 soļi
Kustības kontrolēta izeja - no kustības uztveršanas gaismas: Iedomājieties, ka esat viltīgs cilvēks, kas dodas uz visbriesmīgāko kvartāla māju. Pēc tam, kad esat izgājis garām visiem spokiem, spokiem un kapsētām, jūs beidzot nokļūstat pēdējā ceļā. Jūs varat redzēt konfektes bļodā priekšā! Bet tad pēkšņi gho