Av de många projekt som du kan bygga med Raspberry Pi, är ett av de mest intressanta och permanent användbara säkerhetssystemet motion capture.
Allt du behöver är den vanliga Raspberry Pi-installationen, en webbkamera och ett valfritt batteripaket, tillsammans med ett obeskrivligt fodral för att dölja säkerhetssystemet.
Med den här inställningen kan du hålla ett öga på din egendom från en avlägsen plats, få varningar om något fångas av webbkameran och en länk till filmen om det behövs.
Jämfört med priset på vanliga säkerhetssystem är detta anmärkningsvärt prisvärt och portabelt, och som du ser nedan kan det ställas in på några minuter.
Vad du behöver för ditt Motion Capture-säkerhetssystem
Det finns flera metoder för att bygga ett motion capture-säkerhetssystem för Raspberry Pi. Jag följde först bloggaren Kean Walmsleys förslag att använda en ARM-baserad distro av Arch Linux snarare än den vanliga Raspbian.
Men detta verkade bara inte gå ihop, så jag återgick till Raspbian OS och använde mig av kameradrivrutinerna och paketet för rörelsedetektering, som vi kommer till om lite.
Dessutom behöver du också en Raspberry Pi, ett formaterat SD-kort, en webbkamera (se elinux.org/RPi_USB_Webcams för kompatibla enheter) och en strömkälla; du kommer förmodligen att behöva en USB-hubb med strömförsörjning också, eftersom många webbkameror behöver sin egen strömförsörjning när de är anslutna till Pi. Detta kan vara en strömförsörjd USB-kabel eller en batterilösning för Raspberry Pi, som det finns många alternativ av, varav de flesta kan hittas via eLinux-wikin. Observera att det dock finns alternativ, som 4x eller 6x uppladdningsbara AA-batterier. Vissa bärbara iPad-laddare fungerar också – men kontrollera din laddares modellnummer online innan du försöker ansluta till din Raspberry Pi)
Om du inte redan har en webbkamera, kanske du föredrar att spendera några dollar på den officiella Raspberry Pi-webbkameran.
Följ instruktionerna som beskrivs tidigare på MakeUseOf för att installera Raspbian, och för bästa resultat, se till att den är inställd med SSH. Du bör också ändra lösenordet med hjälp av raspi_config-menyn.
Installera den nödvändiga programvaran
Med Raspberry Pi uppstartad och med en SSH-anslutning öppen från din huvuddator (du kan använda ett tangentbord på din Pi, men SSH är bättre eftersom framtida kommunikation med säkerhetsinställningen kommer att behöva utföras på detta sätt) bör du börja processen för att ladda ner den senaste uppdateringen:
sudo apt-get update
Installera sedan emacs-redigeraren och acceptera anvisningarna:
sudo apt-get install emacs
Efter detta måste du installera en VNC-server. Detta gör att du kan ansluta till säkerhetssystemet och se resultatet. Observera och acceptera alla uppmaningar.
sudo apt-get install tightvncserver
När du har installerat VNC Server anger du kommandot vncserver – du kommer att behöva ställa in ett lösenord för att använda systemet. Du bör också godkänna den efterföljande begäran om att ange ett skrivskyddat lösenord.
Nästa steg är att redigera VNC-serverns initialiseringsskript. Skriv in följande för att växla till rätt katalog:
cd /etc/init.d
Du kan sedan köra emacs:
sudo emacs tightvncserver
Med konsolen öppen kopierar du följande:
#! /bin/sh
# /etc/init.d/tightvncserver
#
# Carry out specific functions when asked to by the system
case "$1" in
start)
su pi -c '/usr/bin/vncserver'
echo "Starting VNC server "
;;
stop)
pkill vncserver
echo "VNC Server has been stopped (didn't double check though)"
;;
*)
echo "Usage: /etc/init.d/blah {start|stop}"
exit 1
;;
esac
exit 0
Högerklicka för att klistra in den i emacs. Några ögonblick senare bör den automatiskt sparas. Avsluta genom att trycka på Ctrl+X och acceptera att spara filen när du avslutar.
Du bör sedan ändra behörigheterna för VNC Server-katalogen, vilket gör det nya skriptet körbart:
sudo chmod +x tightvncserver
Följande kommando kommer att instruera VNC-servern att ladda när du startar Raspberry Pi Security Center:
sudo update-rc.d tightvncserver defaults
Vi är nästan klara, så avsluta den nuvarande VNC-sessionen:
sudo pkill Xtightvnc
Du är då redo att starta om den:
sudo /etc/init.d/tightvncserver start
På din huvudenhet – datorn som du planerar att observera din webbkamera med – kan du nu öppna din VNC-klient. Olika lämpliga klienter finns tillgängliga – jag har använt TightVNC-klienten för Windows.
Konfigurera din webbkamera
Vi är nu i det skede där vi kan börja förbereda Raspberry Pi för din webbkamera, vilket innebär att installera drivrutiner, de nödvändiga biblioteken och fånga programvara. Ange följande kommandon i tur och ordning och följ uppmaningarna.
Först är det programvaran för rörelsedetektering:
sudo apt-get install motion
Installera sedan de nödvändiga biblioteken:
sudo apt-get install libv4l-0
UVCcapture är en programvara utformad för att fånga flödet från en webbkamera:
sudo apt-get install uvccapture
Du kan nu ansluta din webbkamera och kontrollera att allt fungerar. Ange följande kommando:
dmesg | tail
Detta kommer att mata ut information om din kameramodell, enligt nedan.
Vi måste sedan ställa in motion capture, så kör:
emacs /etc/default/motion
…och ställ in start_motion_daemon till ja.
Om du har problem med behörigheter här, använd:
sudo chmod 777 /etc/default/motion
Kom ihåg att ångra detta efter att redigeringen har sparats.
Med denna ändring sparad (CTRL+C, följ instruktionerna på skärmen för att spara), måste du sedan redigera filen motion.conf.
emacs /etc/motion/motion.conf
Skriptet nedan (taget från en Raspberry Pi-forumtråd “Installationsguide för rörelsedetektering med webbkamera”) bör läggas till i motion.conf:
set "daemon on"
set "minimum_frame_time 5" (this can be modified, depending how often you want to take picture)
set "pre_capture 2"
set "post_capture 2"
set "output_normal on"
set "quality 100"
set "ffmpeg_cap_new on"
set "ffmpeg_timelapse 30"
set "ffmpeg_variable_bitrate 2"
set "get_dir /media/webcam/motion"
set "webcam_port 8080"
set "control_port 8081" (important)
set "webcam_localhost off"
set "width 320" (important)
set "height 240" (important)
Observera att dessa inställningar kan konfigureras efter behov. De som är märkta med “(viktigt)” bör lämnas som de är.
Vi är nästan klara, med bara några mediainställningar och konfiguration av din trådlösa dongel kvar.
Rörelsedetekteringsbilder måste sparas i mediamappen – men först måste du ändra läs-/skrivbehörigheter:
sudo chmod 777 /media
Starta sedan rörelsemjukvaran:
sudo /etc/init.d/motion start
Rörelse kan stoppas med:
sudo /etc/init.d/motion stop
Du bör se ett meddelande som bekräftar att programvaran körs. Pratar den med din webbkamera? Kör följande kommando för att kontrollera:
tail -f /var/log/syslog
Utgången ska bekräfta att enheten är aktiv och tar emot data. Det sista steget här är att starta VNC-klienten på din stationära dator och ansluta till din Raspberry Pi (kör ipconfig för att kontrollera IP-adressen) med hjälp av :1 suffix, som indikerar X session nummer ett.
Boxa upp och placera rörelsesensorns säkerhetskamera
Även om du kanske föredrar att ta bort webbkameran från dess stiliserade fodral för förbättrad portabilitet och enklare sekretion, är det bäst att utvärdera alternativen för positionering innan du gör detta.
Inomhustestning hjälper dig att fastställa kamerans räckvidd och känslighet för rörelsefångst, vilket är användbart när det gäller att ställa upp enheten utomhus.
För extern användning måste du använda ett lämpligt vattentätt fodral, kanske en gammal glassbalja eller en hobbylåda från en elektronikaffär. Viss borrning kan krävas för att dra din strömkabel till den monterade Raspberry Pi-drivna säkerhetskameran om du vill placera den utanför. Men du kan också överväga en batteridriven lösning för din lilla dator (observera att den behöver laddas upp regelbundet dock). Ethernet kan vara att föredra under omständigheterna, så du kanske vill gå in i fullt gör-det-själv-läge och applicera vattentätning av mastixpistol, men om du vill använda trådlöst nätverk kan du. Att använda en trådlös repeater kan hjälpa till med signalstyrkan utomhus.
Kontroller efter positionering
Med RPi på plats bör du gå tillbaka till din dator och kontrollera att allt är som det ska.
Börja med att kontrollera att nätverksanslutningen är igång. Även om detta borde ha kontrollerats tidigare, kan din trådlösa dongel ha problem med att ansluta i blåsigt väder eller om du har några ovanliga arkitektoniska strukturer eller material.
Med anslutningen etablerad bör du också gå ut och gå igenom flera scenarier för rörelsefångst för att säkerställa att din rörelse upptäcks och larmas.
Slutligen, för den första testdagen, håll ett öga på batterianvändningen om du har valt en bärbar strömkälla, eftersom du kommer att behöva veta hur mycket laddning som krävs. Var medveten om att om du har kameran placerad inomhus eller relativt nära en strömförsörjd uthus är det en bättre lösning att använda nätström.
Vem kunde tro att man kunde göra så mycket med ett fall-free, avskalad minidator som skenbart är designad för att lära barn programmera med verktyg som Scratch? (Möjligheterna med Raspberry Pi är till synes oändliga. Ta reda på mer i vår Raspberry Pi inofficiella manual.)
Liksom mediacenterlösningen och de andra anmärkningsvärda användningsområdena, är att konfigurera din Raspberry Pi som en säkerhetslösning för hem med motion capture att det är något som kan göras antingen med en enda enhet som är kopplad till säkerhet när du går ut, eller med en prisvärd dedikerad enhet. Men kom ihåg att säkerhetskameror kan hackas, så du behöver lite förberedande arbete för att hålla ditt hemsäkerhetssystem säkert.
Om författaren
Christian Cawley (1562 publicerade artiklar)
Biträdande redaktör för säkerhet, Linux, gör-det-själv, programmering och teknisk förklarad, och riktigt användbar podcastproducent, med lång erfarenhet av skrivbords- och mjukvarustöd. Christian är en bidragsgivare till tidningen Linux Format och är en Raspberry Pi-pyssling, en Lego-älskare och en retrospelfantast.
Mer från Christian Cawley
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
