Obsah:

Kamera na detekciu pohybu Raspberry Pi 3 so živým podávaním: 6 krokov
Kamera na detekciu pohybu Raspberry Pi 3 so živým podávaním: 6 krokov

Video: Kamera na detekciu pohybu Raspberry Pi 3 so živým podávaním: 6 krokov

Video: Kamera na detekciu pohybu Raspberry Pi 3 so živým podávaním: 6 krokov
Video: ПОЧЕМУ Я ЖДУ L4D3 2024, Júl
Anonim
Kamera s detekciou pohybu Raspberry Pi 3 so živým podávaním
Kamera s detekciou pohybu Raspberry Pi 3 so živým podávaním

Úvod

V tomto projekte sa naučíte, ako vytvoriť kameru s detekciou pohybu, ktorú budete môcť používať ako pascu na fotoaparát, monitor pre domáce zvieratá/detskú stráž, bezpečnostnú kameru a mnoho ďalších.

Tento projekt je rozdelený do niekoľkých krokov:

  • Úvod
  • Nastavenie vášho Pi
  • SSHing do vášho Pi
  • E -mailová adresa IP pri spustení
  • Inštalácia a nastavenie Motion
  • Odosielanie e -mailov videám z detekcie pohybu
  • Riešenie problémov a zdroje

Čo budete potrebovať:

  • Model Raspberry Pi 3 za ~ 35 dolárov
  • 8 GB micro SD karta ~~ 10 dolárov
  • Webová kamera USB ~ 20 dolárov (tento projekt používal webovú kameru Logitech HD Webcam c270)
  • mikro USB kábel ~~ 5 dolárov
  • buď:
  • nabíjateľná 5 -voltová batéria (záložná batéria telefónu), robí váš projekt bezdrôtovým ~~ 20 dolárov
  • alebo
  • USB nástenný adaptér ~~ 5 dolárov
  • WiFi pripojenie

K čomu budete potrebovať prístup pre nastavenie:

  • Monitor
  • Myš a klávesnica
  • Počítač so slotom na kartu SD
  • Prevodník kariet Micro SD na SD (mal by byť súčasťou vašej karty micro SD)

Krok 1: Nastavenie vášho Pi

Nastavenie vášho Pi
Nastavenie vášho Pi

Teraz si nastavme Pi

Na začiatku sa uistite, že máte všetky požadované položky z posledného kroku. Potom postupujte podľa pokynov na inštalácii Raspbian Jessie na kartu Microsd, ktoré nájdete tu, na webovej stránke Raspberry Pi.

Keď máte na svojom Pi nainštalovaný Raspbian, je načase nastaviť niekoľko základných funkcií.

WiFi

Prvým krokom k tomu, aby ste svoj Pi naplno využili, je pripojiť ho k internetu. Tento krok ste už mohli dokončiť buď umiestnením symbolu WiFi v pravom hornom rohu hlavnej obrazovky vášho Pi a prihlásením sa tam, alebo urobíte to isté pred inštaláciou Raspbian v poslednom kroku. Ak sa nemôžete prihlásiť do svojej siete Wi -Fi z rozhrania pracovnej plochy vášho počítača Pi, pomocou WiFi tu môžete nastaviť príkazový riadok.

SSH

Jeden veľmi užitočný nástroj, ktorý máte k dispozícii pri používaní vášho Pi, je možnosť vydávať príkazy vášmu Pi v takzvanom bezhlavom nastavení. Pomocou Secure SHell alebo SSH môžete svoje Pi ovládať na diaľku z počítača. S touto metódou bude všetko, čo budete potrebovať na úpravu svojho Pi, zdrojom energie, aby ho udržal zapnutý, už žiadny monitor a klávesnica!

Krok 2: SSHing do vášho PI

SSHing do vášho PI
SSHing do vášho PI
SSHing do vášho PI
SSHing do vášho PI

SSHing do vášho Raspberry Pi je jednoduchý a veľmi užitočný, pretože vám tento proces umožňuje vydávať príkazy pre váš Pi z akéhokoľvek počítača iba s pripojením WiFi.

Na prihlásenie SSH do vášho Pi musíte postupovať podľa týchto 3 jednoduchých krokov.

Najprv musíte na svojom Pi povoliť SSH. Ak to chcete urobiť, otvorte na počítači Pi príkazové okno a zadajte:

sudo raspi-config

Tento príkaz vám umožňuje vstúpiť do ponuky konfigurácie. odtiaľ budete chcieť pomocou klávesov so šípkou, kartou a zadaním najskôr prejsť na možnosti rozhrania, potom povoliť SSH, ako aj fotoaparát, potom ukončiť a reštartovať pi.

Ďalej budete musieť nájsť IP adresu vášho Pi. Do príkazového terminálu zadajte:

sudo ifconfig

A vaša IP adresa by mala byť v sekcii wlan0, ktorá sa objaví, priamo pod Link encap: ethernet. Na demo obrázku vyššie je IP adresa 192.168.1.10.

Nakoniec budete musieť buď otvoriť vstavanú terminálovú aplikáciu na počítači Mac, alebo nájsť a postupovať podľa pokynov pre aplikáciu ssh tretej strany pre Windows. V aplikácii Terminál zadajte:

ssh pi@VAŠA IP ADRESA

Ak ste heslo v Raspi-config nezmenili, potom bude vaše heslo, ktoré zadáte po výzve, predvolené heslo: malina.

Odtiaľ by ste mali ísť!

Krok 3: Pošlite svoju IP adresu pri štarte

Po štarte pošlite svoju IP adresu e -mailom
Po štarte pošlite svoju IP adresu e -mailom

V tomto kroku sa zameriame na prístup k vášmu Raspberry Pi bez ohľadu na sieť, v ktorej sa nachádzate. V závislosti od siete sa IP adresa Pi zmení. A ak nemáte nastavenie monitora, budete musieť ssh do Pi spustiť protokol detekcie pohybu, zmeniť predvoľby pohybu alebo získať prístup k čomukoľvek inému na zariadení. Aby sme tento problém vyriešili, napíšeme skript pythonu, ktorý nám po štarte pošle e -mail na aktuálnu IP adresu Pi. Skript python je nasledujúci a bol uložený v adresári označenom „na pozadí“.

#začnite v domovskom adresári

CD ~

#vytvorte priečinok na pozadí

pozadie mkdir

#vytvorte pythonový skript

sudo nano emailip.py

#napíšte na emailip.py

dovozná zásuvka

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

z e -mailu. MIMEMultipart import MIMEMultipart

z e -mailu. MIMEText import MIMEText

fromaddr = "VAŠA ADRESA"

toaddr = "PRÍJEM ADRESY"

msg = MIMEMultipart ()

msg ['Od'] = od addr

msg ['To'] = toaddr

msg ['Subject'] = "Adresa IP"

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

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

server.starttls ()

server.login (fromaddr, „VAŠE HESLO“)

text = msg.as_string ()

server.sendmail (fromaddr, toaddr, text)

server.quit ()

#potom sa to stane pri reštarte

sudo nano /etc/rc.local

#zadajte adresu /etc/rc.local

zatiaľ čo! /sbin/ifconfig wlan0 | grep -q 'inet addr: [0-9]';

spať 3

hotový

_IP = $ (názov hostiteľa -I) || pravda

ak ["$ _IP"]; potom

printf "Moja IP adresa je %s / n" "$ _IP"

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

fi

výjazd 0

#a hotovo

Krok 4: Inštalácia a nastavenie pohybu

Inštalácia a nastavenie pohybu
Inštalácia a nastavenie pohybu

#update pi

sudo apt-get aktualizácia

sudo apt-get upgrade

#Stiahnuť ▼

sudo apt-get install motion

#teraz upravte tento súbor pomocou nasledujúcich zmien

sudo nano /etc/motion/motion.conf

#Ak chcete nastaviť štandard tohto tutoriálu, zmeňte ho

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

démon na

stream_localhost vypnutý

webcontrol_localhost vypnutý

ffmpeg_output_movies na

target_dir/var/lib/motion

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

#lokálne možnosti streamovania webového prehliadača

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

stream_maxrate 100 #To umožní streamovanie v reálnom čase, ale vyžaduje väčšiu šírku pásma a zdroje

snímková frekvencia 60 #To umožní zachytiť 60 snímok za sekundu #čím vyššie to bude, tým pomalšie bude spracovanie videa

width 640 #Tým sa zmení šírka zobrazeného obrázku

výška 480 #To zmení výšku zobrazeného obrázku

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

#e -mailom nastavenia videa v …/motion.conf

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

#delete ";" pred riadkom, bodkočiarka komentuje riadok

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

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

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

#astektika

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

#hlasy popísané v súbore

output_pictures locate_motion_style

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

#potom zmena

sudo nano/etc/default/motion

#povedať

start_motion_daemon = áno

#naposledy, spustite B **** hore

spustenie pohybu sudo služby

#príkaz môžete zmeniť na „zastaviť“alebo „reštartovať“

Krok 5: Odoslanie e -mailu s videami na základe detekcie pohybu

Posielanie videí e -mailom z detekcie pohybu
Posielanie videí e -mailom z detekcie pohybu

E -mail pri detekcii pohybu:

#začnite doma

dircd ~

#create skript pythonu s upozornením na pohyb

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

#napíšte

import smtplib

z datetime import datetime

z e -mailu. MIMEMultipart import MIMEMultipart

z e -mailu. MIMEText import MIMEText

fromaddr = "VAŠA ADRESA"

toaddr = "RECIEVINGADDRESS"

msg = MIMEMultipart ()

msg ['Od'] = od addr

msg ['To'] = toaddr

msg ['Subject'] = "Pohyb detekovaný"

body = 'Bol zistený pohyb. / nČas: % s' % str (datetime.now ())

msg.attach (MIMEText (body, 'plain'))

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

server.starttls ()

server.login (fromaddr, "VAŠE HESLO")

text = msg.as_string ()

server.sendmail (fromaddr, toaddr, text)

server.quit ()

E -mail s videom pohybu, keď je video uložené:

#začnite na homedircd ~

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

import smtplib

z e -mailu. MIMEMultipart import MIMEMultipart

z e -mailu. MIMEText import MIMEText

z e -mailu. MIMEBase import MIMEBase

z kodérov importu e -mailov

fromaddr = "VÁŠ E -MAIL"

toaddr = "E -mailová adresa, na ktorú posielate"

msg = MIMEMultipart ()

msg ['Od'] = od addr

msg ['To'] = toaddr

msg ['Subject'] = "Pohybová kamera aktivovaná"

body = "Video s detekciou pohybu"

msg.attach (MIMEText (body, 'plain'))

import os

rootpath = '/var/lib/motion'

zoznam súborov = [os.path.join (koreňová cesta, f) pre f v os.listdir (koreňová cesta)]

zoznam súborov = [f pre f v zozname súborov, ak os.path.isfile (f)]

newest = max (zoznam súborov, kľúč = lambda x: os.stat (x).st_mtime)

názov súboru = najnovší

import os

rootpath = '/var/lib/motion'

zoznam súborov = [os.path.join (koreňová cesta, f) pre f v os.listdir (koreňová cesta)]

zoznam súborov = [f pre f v zozname súborov, ak os.path.isfile (f)]

newest = max (zoznam súborov, kľúč = lambda x: os.stat (x).st_mtime)

príloha = otvorená (najnovšia, "rb")

časť = MIMEBase ('aplikácia', 'oktetový stream')

part.set_payload ((príloha).read ())

encoders.encode_base64 (časť)

part.add_header ('Content-Disposition', "príloha; názov súboru = % s" % názov súboru)

msg.attach (časť)

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

server.starttls ()

server.login (fromaddr, „VAŠE HESLO“)

text = msg.as_string ()

server.sendmail (fromaddr, toaddr, text)

server.quit ()

Krok 6: Riešenie problémov a zdroje

Riešenie problémov a zdroje
Riešenie problémov a zdroje

Riešenie problémov:

Pretože tento projekt má niekoľko fáz, existuje niekoľko bodov, v ktorých sa môžu veci pokaziť. Nasleduje niekoľko možných chýb, ktoré sa môžu vyskytnúť, a ako ich opraviť.

  • Pri nastavovaní pi na odosielanie e -mailov s aktuálnou adresou IP je dôležité upraviť súbor rc.local, ako je uvedené vyššie, pretože to umožňuje mierne oneskorenie pred aktiváciou programu po reštarte. V opačnom prípade nebude zariadenie pi ešte pripojené k sieti Wi -Fi a e -mail sa neodošle.
  • Pri úprave súboru motion.conf nezabudnite odstrániť určité bodkočiarky pred určitými parametrami. Bodkočiarka potláča danú akciu, takže inak sa zmena neuplatní.
  • Súbor motion.conf je veľmi dobre organizovaný a podrobný. Nebojte sa zmeniť nastavenia podľa svojich predstáv, ale pochopte, že môžu ovplyvniť úspech systému zachytávania pohybu.
  • Po nastavení možností e -mailového upozornenia a e -mailu je dôležité si uvedomiť, že odoslanie e -mailu s videom detekovaným pohybom bude trvať trochu dlhšie, ako bol odoslaný pôvodný e -mail s upozornením. Dôvodom je, že video končí niekoľko sekúnd po tom, ako už nie je detekovaný pohyb, a pretože príloha e -mailu môže byť dostatočne veľká na prijatie niekoľko minút. V niektorých prípadoch môže byť pohyb príliš dlhý na to, aby sa vôbec odoslal, ak je pohyb udržovaný veľmi dlho. Z tohto dôvodu je vždy dobré skontrolovať priamy prenos po prijatí prvého e -mailu s upozornením.

Prečo pohyb ?:

Pri prvom začatí tohto projektu sme zvažovali niekoľko rôznych zdrojov. Najprv sme zvážili použitie PiCam, čo je kamerová jednotka postavená špeciálne pre malinový pi. PiCam je určite schopné zariadenie a má mnoho aplikácií, ale obmedzuje sa na používanie programov, ktoré sú na to špeciálne navrhnuté, a v porovnaní s lacnými viacúčelovými webovými kamerami je relatívne drahý. Aby bol tento projekt prístupný väčšiemu publiku, rozhodli sme sa použiť spoločnú webovú kameru USB. Ďalším problémom bolo, ktorý softvér začleniť. Pôvodne sme zvažovali OpenCV, bezplatný softvér, ktorý umožňuje mnoho rôznych druhov projektov počítačového videnia a zobrazovania. Jedným z problémov je, že OpenCV je rozsiahly súbor, ktorý zaberá veľa pamäte a dlho sa nastavuje. Nastavenie má tiež niekoľko fáz, takže ešte viac priestoru pre chyby. Zistili sme, že pre náš konkrétny projekt bolo nastavenie a spustenie programu Motion jednoduchšie, ale pri vykonávaní oveľa robustnejšie.

Zdroje

Zdroje kódu:

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

Fotografické kredity:

Slimák SSH:

Logo pošty:

Webová kamera Logitech:

Okno SSH:

Odporúča: