Ahududu Pi ile DIY Pan ve Tilt Ağ Güvenlik Kamerası

  • Brian Curtis
  • 0
  • 4835
  • 1367
reklâm

Raspberry Pi ile uzaktan izlenebilir bir pan ve tilt güvenlik kamerası yapmayı öğrenin. Bu proje sadece en basit parçalarla bir sabah tamamlanabilir. İşte sonuç:

Neye ihtiyacın var

  • Ahududu Pi 2 veya 3 Micro SD kartlı
  • Arduino UNO veya benzeri
  • 2 x mikro veya mini hobi servosu
  • USB kamerası
  • Erkek-erkek bağlantı telleri
  • Erkek dişi bağlantı telleri
  • Çeşitli fermuar bağları

Güvenlik Kamerasını İnşa Etmek

Bir servo kornası takın (küçük plastik “şekiller”) verilen vidayı kullanarak her servoya. Ne kadar büyük olursa o kadar iyi olsa da, şekli önemli değil. Vidayı aşırı sıkmayın.

Şimdi bir servoyu diğerine dik açıyla bağlamak için fermuarlı bağ kullanın. Bunlardan biri pan (soldan sağa), diğeri ise eğilir (yukarı ve aşağı) olacaktır. Hangisinin ne yaptığı önemli değil, kodda ayarlanabilir.

Son olarak, web kameranızı servolardan birine bağlayın. Web kameram en alta vidalanmış bir klipsle birlikte gelse de, bunun için fermuarlar kullanabilirsiniz - Bunu çıkardım ve vidayı kornaya sabitlemek için kullandım. Kararlılık için, tüm teçhizatı bir kutuya veya kutuya monte etmek isteyebilirsiniz. Basit bir karton kutu hile oldukça iyi yapar. Düzgün bir kare delik açabilir ve bir servoyu düz bir yüzeye monte edebilirsiniz, ancak bir fermuar yeterli olacaktır.

Webcam Hakkında Bir Kelime

Tüm USB web kameraları eşit olarak oluşturulmaz. Web kameranızı Pi'nizin USB portuna bağlayın ve şu komutu çalıştırın:

lsusb

Bu komut Pi'ye bağlı tüm USB cihazları hakkında bilgi görüntüler. Web kameranız burada listelenmemişse, çalışan bir USB hub'ı denemek ve komutu tekrarlamak isteyebilirsiniz. Web kamerası hala tanınmıyorsa, uyumlu bir web kamerası satın almanız gerekebilir.

Servo Kurulumu

Servolar korkutucu ve karmaşık görünse de, bağlanması oldukça basittir. Servolar, dijital sistemlerin analog sinyalleri taklit etmesinin bir yolu olan Darbe Genişliği Modülasyonunda (PWM) çalışır. PWM sinyalleri aslında hızlı bir ON - OFF sinyalidir. AÇIK veya YÜKSEK olan bir sinyal, görev döngüsü kullanılarak tanımlanır. Görev döngüsü yüzde olarak ifade edilir ve sinyalin ne kadar süreyle AÇIK olduğunu açıklar. % 25 görev döngüsüne sahip bir PWM sinyali zamanın% 25'i için AÇIK ve kalan% 75'i için KAPALI olacaktır. Sinyal başlangıçta AÇIK değil ve sonsuza dek KAPALI, kısa bir süre boyunca düzenli aralıklarla atıyor.

Servolar bu darbeleri dinler ve buna göre davranırlar. % 100'lük bir görev döngüsü kullanmak, aynı “düzenli” 5v ve% 0, toprakla aynı olacaktır. PWM'nin nasıl çalıştığını tam olarak anlamadıysanız endişelenmeyin, hala servoları kontrol edebilirsiniz (Extreme Electronics daha fazla bilgi edinmek için iyi bir yerdir).

PWM'yi kullanmanın iki temel yolu vardır - donanım veya yazılım. Donanım PWM'si sık sık gecikme sağlar (komutu alan ve hareket eden servo arasındaki süre) yazılım PWM'sinden daha uzun, ancak Pi sadece bir donanım PWM yeteneğine sahip pime sahip. Birden fazla donanım PWM kanalı sağlamak için harici devreler mevcuttur, ancak basit bir Arduino, birden fazla donanım PWM pimine sahip oldukları için görevi de yerine getirebilir.

İşte devre:

Pi'nizin pinini iki kez kontrol edin, modeller arasında biraz farklılık gösterir. Servolarınızın nasıl kablolandığını bulmanız gerekiyor. Servolar onları kontrol etmek için üç tel gerektirir, ancak renkler biraz değişebilir:

  • Kırmızı pozitif, bunu Pi + 5v'ye bağlayın.
  • Kahverengi veya siyah negatif, bunu Pi'deki GND'ye bağlayın
  • Turuncu veya beyaz sinyal, bunu Arduino 9 ve 10 numaralı pinlere bağlayın.

Arduino Kurulumu

Arduino'da yeni misiniz? Buradan başlayın Arduino ile Başlarken: Başlangıç ​​Kılavuzu Arduino ile Başlarken: Başlangıç ​​Kılavuzu Arduino, esnek, kullanımı kolay donanım ve yazılıma dayalı açık kaynaklı bir elektronik prototip platformudur. Sanatçılar, tasarımcılar, hobiler ve etkileşimli nesneler veya ortamlar yaratmak isteyen herkes için hazırlanmıştır.. .

Servolar bağlandıktan sonra, bilgisayarınızda Arduino IDE'yi açın ve bu test kodunu yükleyin. Doğru pano ve bağlantı noktasını seçmeyi unutmayın. Araçlar> Yönetim Kurulu ve Araçlar> Liman menüler

#include // Kütüphaneyi içe aktar Servo servoPan, servoTilt; // Servo nesneleri oluşturun int servoMin = 20, servoMax = 160; // Servoların sınırlarını tanımlayın void setup () // PWM yetenekli pimlerdeki servoları ayarlayın servoPan.attach (9); servoTilt.attach (10);  void loop () için (int i = servoMin; i  servoMin; --i) // Servoları maksimumdan minimum servoya taşı. servoPan.write (i); servoTilt.write (i) gecikmesi (100); // 100ms bekle

Her şey yolunda, her iki servonun yavaşça ileri geri hareket ettiğini görmelisin. Nasıl olduğunu fark et “servoMin” ve servoMax” 20 ve 160 derece olarak tanımlanır (0 ve 180 yerine). Bunun nedeni kısmen bu ucuz servoların tam 180 dereceyi tam olarak hareket ettirememesi ve ayrıca web kamerasının fiziki boyutu nedeniyle kullanılan tüm aralığı engellemektir. Bunları kurulumunuz için ayarlamanız gerekebilir..

Eğer hiç çalışmıyorlarsa, devre doğru şekilde bağlandığından emin olun. Breadboard'lar bazen kalite bakımından da değişebilir, bu yüzden doğrulamak için bir multimetreye yatırım yapmayı düşünün.

Servolar neredeyse Arduino'nun gücü için çok güçlü, bu yüzden Pi tarafından desteklenecekler. Pi üzerindeki 5v demiryolu, Pi'ye sağlanan 750mA ile sınırlıdır ve Pi, yaklaşık 500mA çekerek servolar için 250mA bırakır. Bu mikro servolar, yaklaşık 80mA çekerek, Pi'nin ikisini kullanabilmesi gerektiği anlamına geliyor. Daha fazla servo veya daha büyük, daha yüksek güçlü modeller kullanmak istiyorsanız, harici bir güç kaynağı kullanmanız gerekebilir..

Şimdi aşağıdaki kodu Arduino'ya yükleyin. Bu, gelen seri verileri dinler (Universal’deki gibi Seri Veriyolu veya USB). Pi bu verileri USB üzerinden Arduino'ya göndererek servoları nereye taşıyacağını söyler.

#include // Kütüphaneyi içe aktar Servo servoPan, servoTilt; // Servo nesnesi yaratma String data = ""; // Gelen komutları sakla (tampon) void setup () // PWM yetenekli pinlerde servoları ayarla servoPan.attach (9); servoTilt.attach (10); Serial.begin (9600); // Seriyi 9600 bps (hız) ile başlat void loop () while (Serial.available ()> 0) // Veri varsa char char CharChar = Serial.read (); // eğer her karakteri okuyun (singleChar == 'P') // Pan servo servoPan.write (data.toInt ()); veri = ""; // Tamponu temizle else if (singleChar == 'T') // Tilt servo servoTilt.write (data.toInt ()); veri = ""; // Tamponu temizle else data + = singleChar; // Yeni veri ekle

Seri monitörü açarak bu kodu test edebilirsiniz (sağ üst> Seri Monitör) ve bazı test verilerinin gönderilmesi:

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

Komutların formatına dikkat edin - bir değer ve sonra bir harf. Değer, servonun konumudur ve (büyük harflerle) yazılan harf, pan veya tilt servosunu belirtir. Bu veriler Pi'den seri olarak aktarıldıkça, her karakter birer birer gelir. Arduino’nun “mağaza” bunlar tüm komut iletilinceye kadar. Son harf sadece servoyu belirtmekle kalmaz, aynı zamanda Arduino'nun bu komutta başka veri olmadığını bilmesini sağlar.

Sonunda, Arduino'nuzu bilgisayardan çıkarın ve normal USB port bağlantısı üzerinden Raspberry Pi’ye takın.

Pi Kurulumu

Şimdi Pi'yi kurma zamanı. Öncelikle bir işletim sistemi kurun Bir Ahududu Pi'ye İşletim Sistemi Nasıl Kurulur Bir Ahududu Pi'ye İşletim Sistemi Nasıl Kurulur İşte Raspberry Pi'nizde bir işletim sistemi nasıl kurulur ve hızlı bir felaket kurtarma için mükemmel kurulumunuzu nasıl klonlarsınız? . Web kamerasını ve Arduino'yu Pi USB'ye bağlayın.

Pi'yi Güncelle:

sudo apt-get güncelleme sudo apt-get yükseltme

Hareket yükleyin:

sudo apt-get yükleme hareketi

Hareket, web kamerası akışını işlemek için yapılmış bir programdır. Tüm ağır yükleri kaldırabilir ve hatta kayıt ve hareket algılama özelliğini gerçekleştirebilir (bir hareket yakalama güvenlik sistemi oluşturmayı deneyin) Ahududu Pi kullanarak bir Hareket Yakalama Güvenlik Sistemi oluşturun Ahududu Pi kullanarak bir Hareket Yakalama Güvenlik Sistemi oluşturun Yapabileceğiniz birçok projenin Ahududu Pi ile inşa, en ilginç ve kalıcı olarak yararlı olanlardan biri hareket yakalama güvenlik sistemidir.). Motion yapılandırma dosyasını açın:

sudo nano /etc/motion/motion.conf

Bu dosya, Motion'ı yapılandırmak için birçok seçenek sunar. Aşağıdaki gibi kurulum:

  • daemon on - Programı çalıştır
  • framerate: 100 - Akış için kaç kare veya görüntü / saniye
  • stream_localhost kapalı - Ağ üzerinden erişime izin ver
  • genişlik 640 - Videonun genişliği, web kameranıza göre ayarlayın
  • yükseklik 320 - Videonun yüksekliği, web kameranız için ayarlayın
  • stream_port 8081 - Video çıkış noktası
  • output_picture off - Hiçbir görüntüyü kaydetme

Bu oldukça büyük bir dosya, bu yüzden kullanmak isteyebilirsiniz CTRL + W satır aramak için. Tamamlandığında tuşuna basın. CTRL + X ve kaydetmek ve çıkmak için onaylayın.

Şimdi bir dosya daha düzenleyin:

sudo nano / etc / default / hareket

Set “start_motion_daemon = yes”. Hareketin çalışmasını sağlamak için bu gereklidir.

Şimdi IP Adresinizi bulun:

ifconfig

Bu komut Pi için ağ bağlantı ayrıntılarını gösterecektir. İkinci satıra bak, inet addr. Statik IP adresi ayarlamak isteyebilirsiniz (statik IP nedir? Statik IP Adresi Nedir? İşte Neden İhtiyacınız Yok Statik IP Adresi Nedir? İşte Neden Bir Yöneltici Atanmış IP'ye İhtiyacınız Yok Statik IP adresleri olmasa da, adresler zaman zaman değişebilir. İşte bu yüzden gerçekten bir tanesine ihtiyacınız yok.), fakat şimdilik bu numarayı not edin.

Şimdi Harekete Başla:

sudo servis hareket başlangıcı

Hareket'i değiştirerek durdurabilir veya yeniden başlatabilirsiniz. “başla” için “durdurmak” veya “tekrar başlat”.

Bilgisayarınıza geçin ve bir web tarayıcısından Pi'ye gidin:

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

Burada xxx.xxx.x.xx Pi IP adresidir. Kolonun ardından gelen sayı, daha önce kurulmuş olan porttur. Her şey yolunda, web kameranızdan akışı görmelisiniz! Dolaşmaya çalışın ve işlerin nasıl göründüğünü görün. Config dosyasındaki parlaklık ve kontrast ayarlarını yapmanız gerekebilir. Web kamerasını odaklamanız gerekebilir - bazı modellerde lens çevresinde küçük bir odak halkası bulunur. Görüntü en keskin olana kadar bunu çevirin.

Pi'ye geri dönün, bir klasör oluşturun ve içine gidin:

mkdir güvenlik kamerası cd güvenlik kamerası /

Şimdi Twisted'ı kurun:

sudo apt-get kurulum python-twisted

Twisted, Python'da yazılmış, komutları dinleyecek ve buna göre hareket edecek bir web sunucusudır..

Kurulduktan sonra komutları çalıştırmak için bir Python betiği oluşturun (servoları taşıyın).

sudo nano servos.rpy

Dosya uzantısının nasıl olduğuna dikkat edin “.Mutlu RPy” yerine “py”. İşte kod:

# Gerekli dosyaları içe aktarın, twisted.web.resource import'dan seri içe aktarma Kaynak # Setup Arduino doğru hızda deneyin: arduino = serial.Serial ('/ dev / ttyUSB0', 9600) hariç: arduino = serial.Serial ('/ dev / ttyUSB1 ', 9600) sınıf MoveServo (Kaynak): isLeaf = Gerçek def render_GET (kendi kendine, istek): dene: # Seri üzerinden Arduino arduino.write değerine gönder (request.args [' değer '] [0]) return' Başarı 'hariç:' başarısızlık 'döndürür resource = MoveServo ()

Şimdi web sunucusunu başlatın:

sudo twistd -n web -p 80 - yol / ana sayfa / pi / güvenlik kamerası /

Yıkalım - “-p 80” portu (80) belirtir. Bu, web sayfaları için varsayılan bağlantı noktasıdır.. “-yol / ev / pi / güvenlik kamerası /” Twisted'a sunucuyu belirtilen dizinde başlatmasını söyler. İçindeki komut dosyalarında herhangi bir değişiklik yaparsanız, “güvenlik kamerası” klasörü sunucuyu yeniden başlatmanız gerekecekCTRL + X kapatmak için komutu tekrar çalıştırın).

Şimdi web sayfasını oluşturun:

sudo nano index.html

İşte web sayfası kodu:

   DIY Güvenlik Kamerasını Kullanın #container / * içeriği ortala * / marj: 0 auto; metin hizalama: orta;      

İşte aldın. Kendi Pan ve Tilt Ağ Kameranız. Web kameranızı internete maruz bırakmak istiyorsanız, tehlikeleri göz önünde bulundurmayı unutmayın 5 Ev Güvenlik Kameralarınızı İşaretlerken Dikkat Edilmesi Gereken 5 Tehlike 5 Ev Güvenlik Kameralarınızı İşaretlerken Dikkat Edilmesi Gereken Tehlikeler Kameralarınızı nereye yerleştirdiğinizi ve kameraları nereye yerleştirdiğinizi dikkatlice düşünmeniz önemlidir. Evinizin bazı bölgelerinde onları işaret. İşleri güvende tutmak önemlidir, ancak gizliliğinizi korumak da önemlidir. - sonra port yönlendirme konusuna bakın Port Yönlendirme Nedir ve Bana Nasıl Yardımcı Olabilir? [MakeUseOf Açıklar] Port Yönlendirme Nedir ve Bana Nasıl Yardımcı Olabilir? [MakeUseOf Explains] Birisi size bir liman yönlendirme sorunu olduğunu söylerken içeride biraz ağlıyor musunuz ve bu yüzden parlak yeni uygulamanızın işe yaramadığını mı düşünüyorsunuz? Xbox'ınız oyun oynamanıza izin vermiyor, torrent indirmeleriniz reddediyor… böylece yönlendiriciniz gelen istekleri nereye göndereceğinizi bilir. Harici bir güç kaynağı ekleyebilirsiniz. 3 Taşınabilir Projeler için Ahududu Pi Pil Paketi 3 Taşınabilir Projeler için 3 Ahududu Pi Pil Paketi Bir Ahududu Pi pil, taşınabilir bir bilgisayara normal Pi yapabilir. Başlamak için bu batarya çözümlerinden birine ihtiyacınız olacak. ve gerçekten taşınabilir bir donanım için Wi-Fi adaptörü.

Bir web kamerası ve Pi ile harika bir şey mi yaptın? Yorumlarda bana bildirin, görmek isterim!




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.