Hirdetés

Megtanulhatja, hogyan lehet távolról nézhető panelt és dőlést biztosító kamerát készíteni egy Raspberry Pi segítségével. A projektet reggel be lehet fejezni, a legegyszerűbb alkatrészekkel. Íme a végeredmény:

Amire szükséged van

  • Raspberry Pi 2 vagy 3 Micro SD kártyával
  • Arduino UNO vagy hasonló
  • 2 x mikro- vagy mini hobbi-szervó
  • USB webkamera
  • Férfi-férfi összekötő vezetékek
  • Férfi-női összekötő vezetékek
  • Válogatott cipzárral

A biztonsági kamera felépítése

Csatlakoztasson egy szervósarvet (a kis műanyag „alakzatok”) minden szervóhoz a mellékelt csavarral. Az adott alaknak nem igazán számít, bár minél nagyobb, annál jobb. Ne húzza túl a csavart.

Használjon cipzárral az egyik szervót derékszögben a másikhoz. Az egyik pánik lesz (balról jobbra), míg a másik megdönthető (fel és le). Nem számít, melyik mit csinál, beállítható a kódban.

Servo-hardver

Végül csatlakoztassa webkameráját az egyik szervóhoz. Ehhez cipzárak is használhatók, bár a webkamerámhoz az aljára csavarozott klippel került sor - ezt eltávolítottam, és a csavarral tartottam a kürthöz. A stabilitás kedvéért érdemes a teljes felszerelést egy dobozba vagy dobozba felszerelni. Egy egyszerű kartondoboz nagyon jól csinálja a trükköt. Vághat egy tiszta négyzet alakú lyukat és felszerelhet egy szervót a felületre süllyesztéssel, de elegendő egy cipzárral kötött nyakkendő.

Pi-Pan-Tilt-kamera

Egy szó a webkamerákról

Nem minden USB webkamera készül egyformán. Csatlakoztassa a webkamerát a Pi USB portjához és futtassa a következő parancsot:

lsusb

Ez a parancs információkat jelenít meg a Pi-hez csatlakoztatott összes USB-eszközről. Ha a webkamera nem szerepel itt, akkor érdemes kipróbálnia egy táplált USB-elosztót és a parancs megismétlését. Ha még mindig nem ismeri fel a webkamerát, akkor vásárolhat egy kompatibilis webkamera.

Szervóbeállítás

Noha a szervók félelmetesnek és összetetteknek tűnhetnek, csatlakoztatásuk valójában meglehetősen egyszerű. A szervók impulzusszélesség-moduláción (PWM) működnek, amely lehetővé teszi a digitális rendszerek számára az analóg jelek utánozását. A PWM jelek alapvetõen gyors ON-OFF jelek. A bekapcsolt vagy a magas jelzést a munkaciklus alapján írják le. A működési ciklust százalékban fejezik ki, és leírják, mennyi ideig van a jel BE. A 25% -os működési ciklusú PWM jel az idő 25% -án BE, a fennmaradó 75% -ban OFF állapotban van. A jel elején nem bekapcsolt, majd örökre ki van kapcsolva, rendszeresen pulzál, nagyon rövid ideig.

A szervosz hallgatja ezeket az impulzusokat, és ennek megfelelően jár el. A 100% -os munkaciklus használata ugyanaz, mint a „normál” 5v, és 0% ugyanaz, mint a talaj. Ne aggódjon, ha nem érti teljesen a PWM működését, továbbra is ellenőrizheti a szervókat (az Extreme Electronics jó hely a további információk megismerésére).

A PWM használatának két fő módja van - hardver vagy szoftver. A hardveres PWM gyakran alacsonyabb késleltetési időt biztosít (a mennyi idő alatt a parancsot fogadó és mozgató szervo között), mint a szoftver PWM, azonban a Pi csak egy hardveres PWM képes PIN-kóddal rendelkezik. Külső áramkörök több csatorna hardveres PWM-hez is rendelkezésre állnak, azonban egy egyszerű Arduino képes kezelni a feladatot, mivel több hardver PWM-érintkezővel rendelkeznek.

Itt az áramkör:

Pi-Servo-csatlakozás

Ellenőrizze még egyszer a pinout a Pi-hez, modellek között kissé eltérnek. Ki kell kitalálnia a szervosz vezetésének módját. A Szervosznak három vezetékre van szüksége a vezérléshez, azonban a színek kissé eltérnek:

  • A piros pozitív, csatlakoztassa ezt a Pi + 5v-hez
  • Barna vagy fekete negatív, csatlakoztassa ezt a GND-hez a Pi-n
  • Narancssárga vagy fehér jel, csatlakoztassa az Arduino 9. és 10. érintkezőjéhez

Arduino Setup

Új vagy Arduino-nál? Kezdje el itt Az Arduino használatának első lépése: Útmutató kezdőknekAz Arduino egy nyílt forráskódú elektronikai prototípus-létrehozási platform, amely rugalmas, könnyen használható hardveren és szoftveren alapul. Művészeknek, tervezőknek, amatőröknek és interaktív tárgyak vagy környezetek létrehozásának érdeklődőinek szánták. Olvass tovább .

Miután a szervó csatlakoztatva volt, nyissa meg az Arduino IDE készüléket számítógépén, és töltse fel ezt a tesztkódot. Ne felejtse el kiválasztani a megfelelő panelt és portot a Eszközök> Fórum és Eszközök> Port menük

#include // Importálja a Servo servoPan, servoTilt könyvtárat; // Szervo objektumok létrehozása. int servoMin = 20, servoMax = 160; // Határozza meg a szervos void setup korlátozásait () {// Telepítési szervók PWM kompatibilis csapokra servoPan.attach (9); servoTilt.attach (10); } void loop () {mert (int i = servoMin; i  servoMin; --i) {// Áthelyezi a szervoszt a maximálisról a minimálisra servoPan.write (i); servoTilt.write (i); késleltetés (100); // Várjon 100ms} }

Ha jól állsz, látnod kell, hogy mindkét szervosza lassan mozog előre-hátra. Vegye figyelembe, hogy a „servoMin” és a servoMax ”fogalma 20 és 160 fok (0 és 180 helyett). Ennek részben az az oka, hogy ezek az olcsó szervók nem képesek pontosan mozgatni a teljes 180 fokot, valamint a webkamera fizikai mérete miatt megakadályozzák a teljes tartomány használatát. Lehetséges, hogy ezeket módosítania kell a beállításához.

Ha egyáltalán nem működnek, ellenőrizze az áramkört megfelelően. A kenyérlemezek minősége is eltérhet, ezért érdemes egy multiméterbe fektetni az ellenőrzés érdekében.

A szervók vannak majdnem túl hatalmas az Arduino számára, így a Pi hajtja őket. Az 5v-os sín a Pi-n van az egész Pi számára biztosított 750 mA-ra korlátozódik, és a Pi körülbelül 500 mA-t húz, így 250 mA marad a szervó. Ezek a mikro-szervók mintegy 80 mA-t húznak, vagyis a Pi-nek képesnek kell lennie kettő kezelésére. Ha több szervót vagy nagyobb, nagyobb teljesítményű modelleket szeretne használni, akkor külső tápegységet kell használnia.

Most töltse fel a következő kódot az Arduino-ba. Ez meghallgatja a bejövő soros adatokat (soros, mint a Universal Sorozatszám Busz vagy USB). A Pi USB-n keresztül továbbítja ezeket az adatokat az Arduino-nak, megmondva neki, hogy hova továbbítsa a szervoszt.

#include // Importálja a Servo servoPan, servoTilt könyvtárat; // Szervo objektum létrehozása. Karakterlánc-adatok = ""; // A bejövő parancsok tárolása (puffer) void setup () {// Telepítési szervók PWM-képes segédeszközökre servoPan.attach (9); servoTilt.attach (10); Serial.begin (9600); // A sorozat indítása 9600 bps-en (sebesség) } void loop () {while (Serial.avable ()> 0) {// Ha van adat char charC = Serial.read (); // Olvassa el az egyes karaktereket, ha (singleChar == 'P') {// Mozgatja a servoProvo.write (data.toInt ()) pan szervót; data = ""; // Puffer törlése} egyébként, ha (singleChar == 'T') {// Tilt szervo servoTilt.write (data.toInt ()) mozgatása; data = ""; // Puffer törlése} else {data + = singleChar; // Új adatok hozzáadása}} }

Ezt a kódot kipróbálhatja a soros monitor megnyitásával (jobb felső sarokban> Soros monitor), és küld néhány teszteredményt:

  • 90P
  • 0P
  • 20T
  • 100T

Vegye figyelembe a parancsok formátumát - egy értéket, majd egy betűt. Az érték a szervó pozíciója, és a betű (nagybetűkkel) az edényt vagy a dönthető szervót jelöli. Mivel ezeket az adatokat sorozatból továbbítják a Pi-ről, minden karakter egyenként jön létre. Az Arduino-nak ezeket „tárolnia” kell, amíg a teljes parancsot nem továbbítják. A végső levél nemcsak a szervót adja meg, hanem azt is tudatja az Arduino-nak, hogy nincs több adat ebben a parancsban.

Végül válassza le az Arduino készüléket a számítógépről, és csatlakoztassa a Raspberry Pi-hez a szokásos USB-porton keresztül.

Pi Setup

Itt az ideje, hogy beállítsuk a Pi-t. Első, telepítse az operációs rendszert Hogyan telepítsünk egy operációs rendszert egy Raspberry Pi-reÍgy telepítheti egy operációs rendszert a Raspberry Pi-re, és hogyan klónozhatja a tökéletes beállítást a gyors katasztrófa utáni helyreállításhoz. Olvass tovább . Csatlakoztassa a webkamerát és az Arduino-t a Pi USB-hez.

Frissítse a Pi-t:

sudo apt-get frissítés. sudo apt-get upgrade

Mozgás telepítése:

sudo apt-get install motion

A Motion egy webkamera streaming kezelésére készített program. Az összes nehéz emelőt képes kezelni, és még felvételt és mozgásérzékelést is végrehajthat (próbáljon mozgásfogó biztonsági rendszer kiépítése Készítsen egy Motion Capture biztonsági rendszert egy Raspberry Pi segítségévelA Raspberry Pi segítségével felépíthető számos projekt közül az egyik legérdekesebb és tartósan hasznos a mozgásrögzítő biztonsági rendszer. Olvass tovább ). Nyissa meg a Motion konfigurációs fájlt:

sudo nano /etc/motion/motion.conf

Ez a fájl számos lehetőséget kínál a Motion konfigurálására. Beállítás az alábbiak szerint:

  • démon be - futtassa a programot
  • framerate: 100 - Hány képkockát vagy képet / másodperc továbbítani
  • stream_localhost off - Hozzáférés engedélyezése a hálózaton keresztül
  • szélesség 640 - A videó szélessége, állítsa be webkamerajának megfelelően
  • magasság 320 - A videó magassága, állítsa be webkamerajának megfelelően
  • stream_port 8081 - A port a videó kimenetére
  • output_picture off - Ne mentse el a képeket

Ez egy elég nagy fájl, ezért érdemes használni CTRL + W sorok keresésére. Ha kész, nyomja meg a gombot CTRL + X majd erősítse meg a mentést és a kilépést.

Most szerkesszen még egy fájlt:

sudo nano / etc / alapértelmezett / motion

Állítsa be az „start_motion_daemon = igen” beállítást. Erre van szükség a Motion futásának biztosításához.

Most megtudhatja IP-címét:

ifconfig

Ez a parancs megmutatja a Pi hálózati kapcsolatának részleteit. Nézd meg a második sort, inet addr. Érdemes beállítani egy statikus IP-címet (mi a statikus IP? Mi az a statikus IP-cím? Itt van miért nincs szüksége egyreA statikus IP-cím soha nem változik meg. A dinamikus IP-címek megváltoznak. Elmagyarázzuk, miért nincs szüksége statikus IP-címre. Olvass tovább ), de most jegyezze fel ezt a számot.

Most indítsa el a Motion-t:

sudo service motion indítás

Megállíthatja vagy újraindíthatja a mozgást, ha a „start” -ról „stop” -ra vagy „újraindításra” vált.

Váltson át a számítógépre, és keresse meg a Pi böngészőt:

http://xxx.xxx.x.xx: 8081

Ahol xxx.xxx.x.xx a Pi IP cím. A kettőspont, amelyet egy szám követ, a korábban beállított port volt. Mivel jól van, látnia kell a webkamerát! Próbálj meg mozogni, és nézd meg, hogyan néznek ki a dolgok. Lehet, hogy módosítania kell a fényerő és a kontraszt beállításait a konfigurációs fájlban. Lehet, hogy fókuszálnia kell a webkamerát - néhány modellnek van egy kis fókuszgyűrűje az objektív körül. Fordítsa addig, amíg a kép nem lesz a legélesebb.

Visszatérve a Pi-hez, hozzon létre egy mappát, és keresse meg azt:

mkdir biztonsági kamera. cd biztonsági kamera /

Most telepítse a Twisted szoftvert:

sudo apt-get install python-twisted

A Twisted egy Python nyelven írt webszerver, amely hallgatja a parancsokat, majd ennek megfelelően jár el.

A telepítés után hozzon létre egy Python szkriptet a parancsok végrehajtásához (a szervó mozgatása).

sudo nano servos.rpy

Figyelje meg, hogy a fájl kiterjesztése „py” helyett „.rpy”. Íme a kód:

# Importálja a szükséges fájlokat. import sorozat. forrás: twisted.web.resource import Resource # Setup Arduino a megfelelő sebességgel. próbáld: arduino = soros. Soros ('/ dev / ttyUSB0', 9600) kivéve: arduino = soros. Soros ('/ dev / ttyUSB1', 9600) osztály MoveServo (erőforrás): isLeaf = True def render_GET (önálló, kérés): próbáljon: # Érték küldése át sorozat az Arduino-nak arduino.write (request.args ['érték'] [0]) visszaadja a 'Success' -t, kivéve: return 'Failure' resource = MoveServo ()

Most indítsa el a webszervert:

sudo twistd -n web -p 80 - út / otthon / pi / security-cam /

Lehetővé teszi a bontást - „-p 80” határozza meg a portot (80). Ez a weboldalak alapértelmezett portja. „–Path / home / pi / security-cam /” azt mondja Twistednek, hogy indítsa el a kiszolgálót a megadott könyvtárban. Ha módosítja a szkripteket a „security-cam” mappában, akkor újra kell indítania a szervert (CTRL + X bezáráshoz, majd futtassa újra a parancsot).

Most hozza létre a weboldalt:

sudo nano index.html

Itt van a weboldal kódja:

Használjon DIY biztonsági kamerát


Cserélje ki a (z) „PI_IP_ADDRESS” (kétszer használt) értékét a Pi valódi IP-címére (raspberrypi.local akkor is működnie kell, ha a legújabb málna verziót futtatja). Indítsa újra a webszervert, majd a számítógépről keresse meg a Pi-t, nem kell megadnia a portot. Lehetőséget kell tennie balra és jobbra való pánikolásra és a videó stream megtekintésére:

Pi-Pan-Tilt-Camera-Web-View

Tessék, itt van. A saját Pan and Tilt hálózati kamera. Ha ki akarja terjeszteni webkameráját az internetre, ne feledje vegye figyelembe a veszélyeket 5 Figyelembe veendő veszély az otthoni biztonsági kamerák mutatásakorFontos körültekintően mérlegelni, hogy hol helyezze el a fényképezőgépeket, és otthoni részeire mire mutat. Fontos a dolgok biztonságának megőrzése, de ugyanakkor a magánéletének megőrzése. Olvass tovább - akkor nézz be kikötői továbbítás Mi a kikötőszállítás és hogyan segíthet nekem? [MakeUseOf magyarázat]Sír egy kicsit belülről, amikor valaki azt mondja, hogy van egy port-továbbítási probléma, és miért nem fog működni a fényes új alkalmazásod? Xboxod nem engedi, hogy játékot játsszon, a torrent letöltések megtagadják ... Olvass tovább , így az útválasztó tudja, hová kell küldeni a bejövő kéréseket. Felveheted külső tápegység 3 Raspberry Pi akkumulátor csomag hordozható projektekhezA Raspberry Pi akkumulátor készíthet egy rendes Pi-t hordozható számítógépgé. Az induláshoz szüksége lesz az egyik ilyen akkumulátor-megoldásra. Olvass tovább és a Wi-Fi adapter egy igazán hordozható berendezéshez.

Készítettél valami fantasztikus webkamerát és egy Pi-t? Tudassa velünk a megjegyzésekben, nagyon szeretném látni!

Joe számítógépes ismeretek diplomáját szerezte az Egyesült Királyság Lincolni Egyetemen. Professzionális szoftverfejlesztő, és amikor nem repül drónokkal és nem ír zenét, gyakran találkozhat fényképezéssel vagy videó készítésével.