Tartalomjegyzék:

Raspberry Pi 3 mozgásérzékelő kamera élő adással: 6 lépés
Raspberry Pi 3 mozgásérzékelő kamera élő adással: 6 lépés

Videó: Raspberry Pi 3 mozgásérzékelő kamera élő adással: 6 lépés

Videó: Raspberry Pi 3 mozgásérzékelő kamera élő adással: 6 lépés
Videó: 👀 WiFi IP Kamera hozzáadása NVR felvevőhöz és mobil apphoz - namerre.hu 2024, November
Anonim
Raspberry Pi 3 mozgásérzékelő kamera élő adással
Raspberry Pi 3 mozgásérzékelő kamera élő adással

Bevezetés

Ebben a projektben megtanulhatja, hogyan kell felépíteni egy mozgásérzékelő kamerát, amelyet kameracsapdaként, háziállat/babaőrzőként, biztonsági kameraként és még sok másként használhat.

Ez a projekt több lépésből áll:

  • Bevezetés
  • A Pi beállítása
  • SSHing a Pi -be
  • Az IP -cím e -mail küldése rendszerindításkor
  • A Motion telepítése és beállítása
  • Videók e -mail küldése a mozgásról az észleléskor
  • Hibaelhárítás és források

Amire szüksége lesz:

  • A Raspberry Pi 3 modell b ~ ~ 35 dollár
  • 8 GB -os Micro SD kártya ~ 10 USD
  • USB webkamera ~ ~ $ 20 (ez a projekt egy Logitech HD Webcam c270 -et használt)
  • mikro usb kábel ~ ~ $ 5
  • bármelyik:
  • újratölthető 5 voltos akkumulátor (telefon tartalék akkumulátor), így a projekt vezeték nélküli ~ ~ 20 dollár
  • vagy
  • usb fali adapter ~ ~ $ 5
  • WiFi kapcsolat

Amire szüksége lesz a beállításhoz:

  • Egy monitor
  • Egér és billentyűzet
  • Számítógép SD kártyanyílással
  • Micro SD - SD kártya átalakító (a micro SD kártya tartozéka)

1. lépés: A Pi beállítása

A Pi beállítása
A Pi beállítása

Most állítsuk be a Pi -t

Először győződjön meg arról, hogy az utolsó lépésből származó összes szükséges elem megvan. Ezután kövesse a Raspberry Pi webhely lépéseit a Raspbian Jessie telepítéséről a Microsd kártyára, amelyet itt talál.

Miután telepítette a Raspbian -t a Pi -re, itt az ideje, hogy beállítson néhány alapvető funkciót.

WiFi

Az első lépés ahhoz, hogy a legtöbbet hozza ki a Pi -ből, csatlakoztassa azt az internethez. Lehet, hogy már befejezte ezt a lépést, vagy megkereste a WiFi szimbólumot a Pi főképernyőjének jobb felső sarkában, és bejelentkezett oda, vagy ugyanezt tette a Raspbian telepítése előtt az utolsó lépésben. Ha nem tud bejelentkezni Wi -Fi hálózatába a Pi asztali felületéről, kövesse az itt található utasításokat a WiFi beállításához a parancssorban.

SSH

Az egyik nagyon praktikus eszköz a Pi használatakor rendelkezésre áll, hogy parancsokat adhat ki a Pi -nek fej nélküli beállításban. A Secure SHell vagy SSH használatával távolról vezérelheti a Pi -t számítógépről. Ezzel a módszerrel a Pi szerkesztéséhez csak egy áramforrás szükséges a bekapcsoláshoz, nincs több monitor és billentyűzet!

2. lépés: SSHing a PI -be

SSHing a PI -be
SSHing a PI -be
SSHing a PI -be
SSHing a PI -be

Az SSH -be való belépés a Raspberry Pi -be könnyű és nagyon hasznos, mivel a folyamat lehetővé teszi parancsok kiadását a Pi -hez bármely számítógépről, amely nem több, mint WiFi kapcsolat.

Az SSH bekapcsolásához a Pi -be ezt a 3 egyszerű lépést kell követnie.

Először engedélyeznie kell az SSH -t a Pi -n. Ehhez nyisson meg egy parancsablakot a Pi -ben, és írja be:

sudo raspi-config

Ez a parancs lehetővé teszi a konfigurációs menübe való belépést. onnan a nyíl, a tab és az Enter billentyűk segítségével kell először belépni az interfészbeállításokba, majd engedélyezni az SSH -t, valamint a kamerát, majd kilépni és újraindítani a pi -t.

Ezután meg kell találnia a Pi IP -címét. A parancssorba írja be:

sudo ifconfig

Az IP -címének pedig a felugró wlan0 részben kell lennie, közvetlenül a Link encap: ethernet alatt. A fenti bemutató képen az IP -cím 192.168.1.10.

Végül meg kell nyitnia a beépített terminálalkalmazást egy Mac rendszeren, vagy meg kell találnia és követnie kell az utasításokat egy harmadik féltől származó ssh -alkalmazáshoz Windows számára. A Terminal alkalmazásban írja be:

ssh pi@AZ IP -CÍM

Ha nem változtatta meg a jelszót a Raspi-config alatt, akkor a jelszó, amelyet a rendszer kéri, az alapértelmezett jelszó lesz: málna.

Innentől kezdve jónak kell lennie!

3. lépés: E -mailben küldje el IP -címét a rendszerindításkor

E -mailben küldje el IP -címét a rendszerindításkor
E -mailben küldje el IP -címét a rendszerindításkor

Ebben a lépésben arra összpontosítunk, hogyan férhet hozzá a Raspberry Pi -hez, függetlenül attól, hogy milyen hálózaton van. A hálózattól függően a Pi IP -címe megváltozik. Ha pedig nincs monitor beállítása, akkor be kell kapcsolnia a Pi -t, hogy aktiválja a mozgásérzékelési protokollt, módosítsa a mozgási beállításokat, vagy bármi máshoz hozzáférjen az eszközön. A probléma megoldásához írunk egy python szkriptet, amely e -mailben elküldi nekünk a Pi jelenlegi IP -címét indításkor. A python szkript a következő, és egy "háttér" jelzésű könyvtárban volt tárolva.

#start a kezdőkönyvtárban

cd ~

#háttér mappa létrehozása

mkdir háttér

#create python script

sudo nano emailip.py

#írjon az emailip.py -be

import aljzat

s = socket.socket (socket. AF_INET, socket. SOCK_DGRAM)

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

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

import smtplib

e -mailből. MIMEMultipart import MIMEMultipart

e -mailből. MIMEText MIMEText importálása

fromaddr = "A CÍMED"

toaddr = "CÍM VÉTELE"

msg = MIMEM Többrészes ()

msg ['From'] = fromaddr

msg ['To'] = toadr

msg ['Subject'] = "IP -cím"

body = xmsg.attach (MIMEText (body, 'sima'))

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

server.starttls ()

server.login (fromaddr, "A JELSZÓ")

text = msg.as_string ()

server.sendmail (fromaddr, toaddr, text)

server.quit ()

#akkor ez újraindításkor megcsinálja

sudo nano /etc/rc.local

#adja meg a /etc/rc.local címet

közben! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';

aludj 3

Kész

_IP = $ (gazdagépnév -I) || igaz

ha ["$ _IP"]; azután

printf "Az IP -címem %s / n" "$ _IP"

python /home/pi/Background/emailip.py &

fi

kilépés 0

#és kész

4. lépés: A mozgás telepítése és beállítása

A Motion telepítése és beállítása
A Motion telepítése és beállítása

#frissítés pi

sudo apt-get update

sudo apt-get upgrade

#Letöltés

sudo apt-get install motion

#now szerkessze ezt a fájlt a következő módosításokkal

sudo nano /etc/motion/motion.conf

#Az oktatóanyag mércéjének beállításához változtasson

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

démon be

stream_localhost ki

webcontrol_localhost ki

ffmpeg_output_movies be

target_dir/var/lib/motion

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

#local webböngésző streaming lehetőségei

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

stream_maxrate 100 #Ez lehetővé teszi a valós idejű streamelést, de több sávszélességet és erőforrást igényel

framerate 60 #Ez lehetővé teszi 60 képkocka rögzítését másodpercenként #minél magasabb ez, annál lassabb a videófeldolgozás

szélesség 640 #Ez megváltoztatja a megjelenített kép szélességét

magasság 480 #Ez megváltoztatja a megjelenített kép magasságát

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

#emailing video settings in…/motion.conf

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

#törli a ";" -t a sor előtt, a pontosvessző megjegyzi a sort

on_event_start python /home/pi/background/motionalert.py %f

on_movie_end python /home/pi/background/motionvid.py %f

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

#stektika

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

#Choices a fájlban leírtak

output_pictures locate_motion_style

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

#akkor változás

sudo nano/etc/default/motion

#mondani

start_motion_daemon = igen

#utolsó, indítsa el a B **** -ot

sudo szolgáltatás mozgás indítása

#megváltoztathatja a parancsot "stop" vagy "restart" értékre

5. lépés: Videók küldése e -mailben mozgásról észlelésre

Videók küldése e -mailben a mozgásról az észlelésre
Videók küldése e -mailben a mozgásról az észlelésre

E -mail küldése mozgás észlelésekor:

#kezdje otthon

dircd ~

#create motion alert python szkript

sudo nano /home/pi/background/motionalert.py

#ír

import smtplib

dátum és idő dátum importálása

e -mailből. MIMEMultipart import MIMEMultipart

e -mailből. MIMEText MIMEText importálása

fromaddr = "AZ ÖN CÍME"

toaddr = "RECIEVINGADDRESS"

msg = MIMEM Többrészes ()

msg ['From'] = fromaddr

msg ['To'] = toadr

msg ['Subject'] = "Mozgást észlelt"

body = 'Mozgást észleltünk. / nIdő: % s' % str (datetime.now ())

msg.attach (MIMEText (törzs, 'sima'))

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

server.starttls ()

server.login (fromaddr, "YOURPASSWORD")

text = msg.as_string ()

server.sendmail (fromaddr, toaddr, text)

server.quit ()

Mozgásvideó küldése e -mailben a videó mentésekor:

#kezdje a homedircd ~ -nél

#create motion video python scriptsudo nano /home/pi/background/motionvid.py

import smtplib

e -mailből. MIMEMultipart import MIMEMultipart

e -mailből. MIMEText MIMEText importálása

e -mailből. MIMEBase importálja a MIMEBase -t

az e -mail importáló kódolóktól

fromaddr = "AZ E -MAIL"

toaddr = "EMAIL CÍM, HOGY ELKÜLDD"

msg = MIMEM Többrészes ()

msg ['From'] = fromaddr

msg ['To'] = toadr

msg ['Subject'] = "A Motion Cam aktiválva"

body = "Videó mozgásérzékelésről"

msg.attach (MIMEText (törzs, 'sima'))

importál

rootpath = '/var/lib/motion'

filelist = [os.path.join (rootpath, f) for f in os.listdir (rootpath)]

filelist = [f esetén f a fájllistában, ha os.path.isfile (f)]

legújabb = max (fájllista, kulcs = lambda x: os.stat (x).st_mtime)

fájlnév = legújabb

importál

rootpath = '/var/lib/motion'

filelist = [os.path.join (rootpath, f) for f in os.listdir (rootpath)]

filelist = [f esetén f a fájllistában, ha os.path.isfile (f)]

legújabb = max (fájllista, kulcs = lambda x: os.stat (x).st_mtime)

melléklet = nyitott (legújabb, "rb")

part = MIMEBase ('alkalmazás', 'oktett-folyam')

part.set_payload ((melléklet).read ())

encoders.encode_base64 (rész)

part.add_header ('Content-Disposition', "melléklet; fájlnév = % s" % fájlnév)

msg.attach (rész)

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

server.starttls ()

server.login (fromaddr, "A JELSZÓ")

text = msg.as_string ()

server.sendmail (fromaddr, toaddr, text)

server.quit ()

6. lépés: Hibaelhárítás és források

Hibaelhárítás és források
Hibaelhárítás és források

Hibaelhárítás:

Mivel ez a projekt több szakaszból áll, több ponton is elromolhatnak a dolgok. Az alábbiakban felsorolunk néhány lehetséges hibát és azok kijavítását.

  • Amikor beállítja a pi -t, hogy e -mailben küldje el Önnek az aktuális IP -címét, elengedhetetlen, hogy az rc.local fájlt a korábban látható módon szerkessze, mert ez kis késleltetést tesz lehetővé, mielőtt a program újraindul. Ellenkező esetben a pi még nem lesz csatlakoztatva a wifi -hez, és az e -mail nem lesz elküldve.
  • A motion.conf fájl szerkesztésekor ügyeljen arra, hogy bizonyos paraméterek előtt törölje a pontosvesszőt. A pontosvessző elnyom egy adott műveletet, így különben a módosítás nem lép életbe.
  • A motion.conf fájl nagyon jól szervezett és részletes. Nyugodtan módosítsa a beállításokat kedve szerint, de értse meg, hogy befolyásolhatják a mozgásrögzítő rendszer sikerét.
  • Az e -mail riasztás és az e -mail videó beállításainak beállítása után fontos megjegyezni, hogy a mozgásérzékelt videó e -mailje egy kicsit tovább tart, mint az eredeti figyelmeztető e -mail. Ennek oka az, hogy a videó néhány másodperccel azután zárul le, hogy a mozgás már nem észlelhető, és az e -mail melléklet elég nagy lehet ahhoz, hogy néhány percet vegyen igénybe. Bizonyos esetekben, ha a mozgás nagyon hosszú ideig fennmarad, túl nagy lehet ahhoz, hogy egyáltalán elküldje. Emiatt mindig jó ötlet ellenőrizni az élő közvetítést, miután megkapta az első figyelmeztető e -mailt.

Miért Motion ?:

Amikor először kezdtük el ezt a projektet, több különböző forrást is figyelembe vettünk. Először a PiCam használatát fontolgattuk, amely kifejezetten a málna pi számára készült. A PiCam minden bizonnyal képes eszköz, és számos alkalmazással rendelkezik, de csak kifejezetten erre a célra tervezett programok használatára korlátozódik, és viszonylag drága az olcsó többcélú webkamerákhoz képest. Annak érdekében, hogy a projektet nagyobb közönség számára is elérhetővé tegyük, úgy döntöttünk, hogy közös USB webkamerát használunk. A következő kérdés az volt, hogy melyik szoftvert kell beépíteni. Kezdetben az OpenCV -t tekintettük, amely egy ingyenes szoftver, amely sokféle számítógépes látást és képalkotó projektet tesz lehetővé. Az egyik probléma itt az, hogy az OpenCV egy hatalmas fájl, amely sok memóriát és sokáig állít fel. A telepítésnek több lépése is van, így még több lehetőség marad a hibákra. Megállapítottuk, hogy a konkrét projektünk esetében a Motion egyszerűbben telepíthető és működőképes, de sokkal robusztusabb a végrehajtásában.

Források

Kódforrások:

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

Fotó:

SSH csiga:

Mail logó:

A Logitech webkamera:

SSH ablak:

Ajánlott: