DIY Pan a Tilt Network Security Cam s Raspberry Pi

  • Joseph Goodman
  • 0
  • 5043
  • 134
reklama

Naučte se, jak vytvořit vzdálenou viditelnou bezpečnostní kameru pro naklápění a naklápění pomocí Raspberry Pi. Tento projekt lze dokončit ráno pouze s nejjednoduššími částmi. Zde je konečný výsledek:

Co potřebuješ

  • Raspberry Pi 2 nebo 3 s kartou Micro SD
  • Arduino UNO nebo podobné
  • 2 x mikro nebo mini hobby serva
  • Webová kamera USB
  • Samčí až mužské vodiče
  • Samičí až samičí vodiče
  • Různé vázanky na zip

Sestavení bezpečnostní kamery

Připojte klakson na servo (malý plast “tvary”) na každé servo pomocí dodaného šroubu. Konkrétní tvar nezáleží, i když čím větší, tím lepší. Šroub příliš neutahujte.

Nyní použijte spony na zip pro připojení jednoho serva k druhému v pravém úhlu. Jeden z nich bude posouvat (zleva doprava), zatímco druhý bude nakloněn (nahoru a dolů). Nezáleží na tom, kdo dělá co, v kódu je možné jej upravit.

Nakonec připojte webkameru k jednomu z serv. K tomu byste mohli použít zipové vázanky, ačkoli moje webová kamera přišla se sponou připevněnou ke dnu - odstranil jsem ji a pomocí šroubu ji přidržel k rohu. Z důvodu stability je vhodné připevnit celou soupravu k kufru nebo krabici. Jednoduchá lepenková krabička dělá tento trik docela pěkně. Dalo by se vyříznout úhlednou čtvercovou díru a připevnit jedno servopohonové splachování k povrchu, postačí však vázanka na zip.

Slovo o webových kamerách

Ne všechny webové kamery USB jsou vytvořeny stejně. Připojte webovou kameru k USB portu vašeho Pi a spusťte tento příkaz:

lsusb

Tento příkaz zobrazí informace o všech USB zařízeních připojených k Pi. Pokud zde není uvedena vaše webová kamera, můžete zkusit napájený rozbočovač USB a zopakovat příkaz. Pokud webová kamera stále není rozpoznána, možná budete muset zakoupit kompatibilní webovou kameru.

Nastavení servo

I když se sera mohou jevit jako děsivá a složitá, jejich připojení je opravdu jednoduché. Serva pracují na modulaci pulsní šířky (PWM), což je způsob, jakým digitální systémy napodobují analogové signály. Signály PWM jsou v podstatě rychlým signálem ON - OFF. Signál, který je ZAPNUTÝ nebo VYSOKÝ, je popsán pomocí pracovního cyklu. Pracovní cyklus je vyjádřen v procentech a popisuje, jak dlouho je signál zapnutý. PWM signál 25% pracovního cyklu bude zapnutý po dobu 25% času a vypnutý pro zbývajících 75%. Signál není na začátku zapnutý a potom navždy vypnutý, je pravidelně pulsován po velmi krátkou dobu.

Serva tyto impulsy poslouchají a podle toho jednají. Použití pracovního cyklu 100% by bylo stejné jako v případě “pravidelný” 5 V a 0% by bylo stejné jako u země. Nebojte se, pokud plně nerozumíte tomu, jak PWM funguje, stále můžete ovládat serva (Extreme Electronics je dobré místo, kde se dozvíte více).

Existují dva hlavní způsoby použití PWM - hardware nebo software. Hardware PWM často poskytuje nižší latenci (jak dlouho mezi servem přijímajícím příkaz a pohybujícím se) než software PWM, ale Pi má pouze jeden hardwarový PWM schopný pin. Externí obvody jsou k dispozici, aby poskytovaly více kanálů hardwarového PWM, avšak úkol může zvládnout také jednoduchý Arduino, protože mají více hardwarových PWM pinů.

Zde je okruh:

Znovu zkontrolujte pinout pro váš Pi, mezi jednotlivými modely se mírně liší. Musíte přijít na to, jak jsou vaše serva zapojena. Serva vyžadují tři dráty pro jejich ovládání, ale barvy se mírně liší:

  • Červená je pozitivní, připojte ji k Pi + 5v
  • Hnědá nebo černá je negativní, připojte to k GND na Pi
  • Oranžová nebo bílá je signál, připojte je k Arduino pinům 9 a 10

Nastavení Arduino

Jste novým Arduino? Začínáme Začínáme s Arduino: Příručka pro začátečníky Začínáme s Arduino: Průvodce pro začátečníky Arduino je platforma pro prototypování elektroniky s otevřeným zdrojovým kódem založená na flexibilním, snadno použitelném hardwaru a softwaru. Je určen pro umělce, designéry, fandy a kohokoli, kdo má zájem o vytváření interaktivních objektů nebo prostředí. .

Po připojení serva otevřete Arduino IDE v počítači a nahrajte tento testovací kód. Nezapomeňte vybrat správnou desku a port z Nástroje> Deska a Nástroje> Port menu

#include // Import knihovny Servo servoPan, servoTilt; // Vytvoření servo objektů int servoMin = 20, servoMax = 160; // Definujte limity nastavení servo void setup () // Nastavení serv na pinech schopných piny servoPan.attach (9); servoTilt.attach (10);  void loop () for (int i = servoMin; i.)  servoMin; --i) // Přesun serv z maxima na minimum servoPan.write (i); servoTilt.write (i); zpoždění (100); // Počkejte 100ms

Když je vše v pořádku, měli byste vidět, jak se obě serva pomalu pohybují tam a zpět. Všimněte si jak “servoMin” a servoMax” jsou definovány jako 20 a 160 stupňů (místo 0 a 180). Důvodem je částečně to, že tato levná serva nejsou schopna přesně se pohybovat o celých 180 stupňů a také kvůli fyzické velikosti webové kamery brání použití celého rozsahu. Možná budete muset upravit jejich nastavení.

Pokud vůbec nefungují, zkontrolujte, zda je obvod správně zapojen. Celozrnné desky se někdy mohou lišit v kvalitě, proto o investování do multimetru ověřte.

Serva jsou téměř příliš silný na to, aby Arduino pohánělo, takže budou poháněny Pi. 5V kolejnice na Pi je omezena na 750 mA poskytovanou celému Pi a Pi čerpá přibližně 500 mA, takže 250 serv je ponecháno pro serva. Tato mikro serva čerpají přibližně 80 mA, což znamená, že Pi by měli být schopni zvládnout dvě z nich. Pokud chcete použít více serv nebo větších modelů s vyšším výkonem, možná budete muset použít externí zdroj napájení.

Nyní nahrajte následující kód do Arduina. To poslouchá příchozí sériová data (sériová jako v Universal Seriál Sběrnice nebo USB). Pi odešle tato data přes USB do Arduina a řekne mu, kam přesunout serva.

#include // Import knihovny Servo servoPan, servoTilt; // Vytvořit objekt serva String data = ""; // Uložení příchozích příkazů (buffer) void setup () // Instalační serva na piny podporující piny servoPan.attach (9); servoTilt.attach (10); Serial.egegin (9600); // Začněte sériovou rychlostí 9600 bps (rychlost) void loop () while (Serial.available ()> 0) // Pokud jsou data char singleChar = Serial.read (); // Přečíst každý znak, pokud (singleChar == 'P') // Přesunout pan servo servoPan.write (data.toInt ()); data = ""; // Vymazat vyrovnávací paměť else if (singleChar == 'T') // Přesunout servo naklápění servoTilt.write (data.toInt ()); data = ""; // Vymazat vyrovnávací paměť else data + = singleChar; // Připojit nová data

Tento kód můžete vyzkoušet otevřením sériového monitoru (vpravo nahoře> Sériový monitor) a zaslání některých testovacích údajů:

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

Všimněte si formátu příkazů - hodnota a potom písmeno. Hodnota je pozice serva a písmeno (v velká písmena) určuje posuvné nebo naklápěcí servo. Protože tato data jsou přenášena z Pi sériově, každá postava prochází jednou po druhé. Arduino musí “obchod” tyto dokud není vyslán celý příkaz. Poslední písmeno nejen specifikuje servo, ale také informuje Arduino, že v tomto příkazu již nejsou žádná data.

Nakonec odpojte Arduino od počítače a zapojte jej do Raspberry Pi pomocí obvyklého připojení USB portu.

Nastavení pí

Nyní je čas nastavit Pi. Nejprve nainstalujte operační systém Jak nainstalovat operační systém na Raspberry Pi Jak nainstalovat operační systém na Raspberry Pi Zde je návod, jak nainstalovat operační systém na Raspberry Pi a jak naklonovat dokonalé nastavení pro rychlé zotavení po katastrofě. . Připojte webovou kameru a Arduino k Pi USB.

Aktualizujte Pi:

sudo apt-get update sudo apt-get upgrade

Instalovat pohyb:

sudo apt-get install motion

Motion je program vytvořený pro zpracování streamování webové kamery. Zvládá všechny těžké zvedání a může dokonce provádět záznam a detekci pohybu (zkuste vytvořit bezpečnostní systém pro zachycení pohybu Vytvořte bezpečnostní systém pro zachycení pohybu pomocí Raspberry Pi Vytvořte bezpečnostní systém pro zachycení pohybu pomocí Raspberry Pi z mnoha projektů, které můžete stavět s Raspberry Pi, jedním z nejzajímavějších a trvale užitečných je bezpečnostní systém pro zachycení pohybu.). Otevřete konfigurační soubor Motion:

sudo nano /etc/motion/motion.conf

Tento soubor poskytuje mnoho možností pro konfiguraci Motion. Nastavení následovně:

  • daemon on - Spusťte program
  • framerate: 100 - Kolik snímků nebo obrázků za sekundu streamovat
  • stream_localhost off - Povoluje přístup v síti
  • width 640 - Šířka videa, úprava pro webovou kameru
  • height 320 - Výška videa, upravte webovou kameru
  • stream_port 8081 - Port pro výstup videa
  • output_picture off - Neukládejte žádné obrázky

Toto je docela velký soubor, takže jej můžete použít CTRL + W hledat řádky. Po dokončení stiskněte CTRL + X a poté potvrďte uložení a ukončení.

Nyní upravte ještě jeden soubor:

sudo nano / etc / default / motion

Soubor “start_motion_daemon = yes”. To je nutné k zajištění pohybu.

Nyní zjistěte svou IP adresu:

ifconfig

Tento příkaz zobrazí podrobnosti o síťovém připojení pro Pi. Podívejte se na druhý řádek, inet addr. Možná budete chtít nastavit statickou IP adresu (co je statická IP? Co je statická IP adresa? Zde je důvod, proč nepotřebujete jednu Co je statická IP adresa? Zde je důvod, proč nepotřebujete jednu IP přiřazenou směrovačem adresy se občas mění, zatímco statické IP adresy ne. Zde je důvod, proč je opravdu nepotřebujete.), ale prozatím si poznamenejte toto číslo.

Nyní spusťte pohyb:

spuštění pohybu sudo služby

Pohyb můžete zastavit nebo restartovat změnou “Start” na “stop” nebo “restart”.

Přepněte se do svého počítače a přejděte do Pi z webového prohlížeče:

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

Kde xxx.xxx.x.xx je IP adresa Pi. Dvojtečka následovaná číslem je port, který byl nastaven dříve. Všechno je v pořádku, měli byste vidět stream z vaší webové kamery! Zkuste se pohybovat a uvidíte, jak to vypadá. Možná budete muset upravit nastavení jasu a kontrastu v konfiguračním souboru. Možná budete muset zaostřit na webovou kameru - některé modely mají kolem objektivu malý zaostřovací kroužek. Otáčejte, dokud není obraz nejostřejší.

Zpět na Pi, vytvořte složku a přejděte do ní:

mkdir security-cam cd security-cam /

Nyní nainstalujte Twisted:

sudo apt-get install python-twisted

Twisted je webový server napsaný v Pythonu, který bude poslouchat příkazy a poté podle toho jednat.

Po instalaci vytvořte skript Python pro provádění příkazů (přesuňte serva).

sudo nano servos.rpy

Všimněte si, jak je přípona souboru “.rpy” namísto “py”. Zde je kód:

# Import potřebných souborů import seriálu z twisted.web.resource import Resource # Nastavení Arduino při správné rychlosti zkuste: arduino = serial.Serial ('/ dev / ttyUSB0', 9600) s výjimkou: arduino = serial.Serial ('/ dev / ttyUSB1) ', 9600) třída MoveServo (Resource): isLeaf = True def render_GET (self, request): try: # Odeslat hodnotu přes sériové číslo Arduino arduino.write (request.args [' value '] [0]) return' Success 'kromě: návrat' Failure 'resource = MoveServo ()

Nyní spusťte webový server:

sudo twistd -n web -p 80 - cesta / domů / pi / security-cam /

Pojďme to rozebrat - “-str. 80” určuje port (80). Toto je výchozí port pro webové stránky. “-cesta / domů / pi / security-cam /” řekne Twisted, aby spustil server v zadaném adresáři. Pokud provedete jakékoli změny skriptů uvnitř “bezpečnostní kamera” složku, kterou budete muset restartovat server (CTRL + X zavřete a znovu spusťte příkaz).

Nyní vytvořte webovou stránku:

sudo nano index.html

Zde je kód webové stránky:

   Využijte DIY bezpečnostní kamery #container / * vycentrujte obsah * / okraj: 0 auto; zarovnání textu: střed;      

Tady to máš. Vaše vlastní síťová kamera Pan a Tilt. Pokud chcete svou webovou kameru vystavit na internetu, nezapomeňte vzít v úvahu nebezpečí 5 nebezpečí, která je třeba zvážit při nasměrování vašich domácích bezpečnostních fotoaparátů 5 nebezpečí, která je třeba zvážit při nasměrování vašich domácích bezpečnostních kamer Je důležité pečlivě zvážit, kam umístíte své kamery, a co části vašeho domova, na které je zaměřujete. Udržovat věci v bezpečí je důležité, ale také zachovává vaše soukromí. - poté se podívejte do předávání portů Co je to předávání portů a jak mi může pomoci? [MakeUseOf vysvětluje] Co je přesměrování portů a jak mi může pomoci? [MakeUseOf vysvětluje] Plačete trochu dovnitř, když vám někdo řekne, že existuje problém s přesměrováním portů, a proto vaše nová lesklá aplikace nebude fungovat? Váš Xbox vám nedovolí hrát hry, vaše stahování torrentů odmítne ..., takže váš router ví, kam posílat příchozí požadavky. Mohli byste přidat externí zdroj napájení 3 baterie Raspberry Pi pro přenosné projekty 3 baterie Raspberry Pi pro přenosné projekty Baterie Raspberry Pi dokáže z přenosného počítače vytvořit normální pí. Chcete-li začít, budete potřebovat jedno z těchto bateriových řešení. a adaptér Wi-Fi pro skutečně přenosnou soupravu.

Udělali jste něco skvělého s webovou kamerou a Pi? Dejte mi vědět v komentářích, rád bych viděl!




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.