İçindekiler:
- Adım 1: Gerekli Bileşenleri Toplayın
- Adım 2: Pi'yi Çalıştırın ve Çalıştırın
- Adım 3: Lazer Algılama Devresini Oluşturun
- Adım 4: Lazeri Harici Güç için Değiştirin
- Adım 5: Lazeri Çalıştırın ve Algılama Devresini Test Edin
- 6. Adım: Web Kameranızı Bağlayın ve İşlevselliğini Test Edin
- 7. Adım: Ara Verme
- Adım 8: Lazeri Yazılımla İzleyin
- 9. Adım: Akışınızı Görüntülemek için bir Web Sayfası Oluşturun
- Adım 10: E-posta Uyarılarını Ayarlayın
- Adım 11: Lazer Açıldığında E-posta Komut Dosyasını Tetikleyin
- Adım 12: Sistemi Başlatmak için Ana Komut Dosyası Oluşturun
- Adım 13: Sonuç
Video: Raspberry Pi Lazer Güvenlik Sistemi: 13 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Eğitilebilirliğimi kontrol ettiğiniz için teşekkürler. Bu talimatın sonunda, videoda gösterilen e-posta uyarı işlevine sahip ahududu pi lazer tripwire sistemini oluşturacaksınız.
Bu talimatı tamamlamak için genel devre ve lehimlemeye aşina olmanız, bir devre tahtasının nasıl kullanılacağını bilmeniz ve pi üzerindeki terminali rahat bir şekilde kullanmanız gerekecektir. Python konusunda deneyim sahibi olmak da yardımcı olacaktır.
Bu proje üç ana sistemden oluşmaktadır. Ahududu pi, lazer tripwire devresi ve bir gözlem bilgisayarı. Amacımız, lazer tripwire devresindeki bir voltaj değişimini tespit etmek için ahududu pi'yi kullanmak ve ardından bir e-posta ve video akışı şeklinde gözlemci bir bilgisayarı uyarmaktır.
Hadi başlayalım.
Adım 1: Gerekli Bileşenleri Toplayın
Bu projeyi tamamlamak için aşağıdaki öğelere ihtiyacınız olacak.
- En az bir operasyonel Raspberry Pi. Bu derlemede raspbian wheezy çalıştıran bir model B tarzı Pi kullandım. Raspbian jessie çalıştırıyorsanız, bu öğreticinin iyi çalışacağından eminim.
- Ahududu pi için harici bir güç kaynağı. Tüm bunlar bağlandıktan sonra önemli miktarda amper çekeceğiz. İlk inşam sırasında sorun kaynağım olarak berbat bir güç kaynağını teşhis etmek için çok zaman harcadım. En az 2 amper sağlayabilecek güçlü bir gücünüz olduğundan emin olun.
- Ucuz bir lazer işaretçi. Bir benzin istasyonunda kasanın yanında benimkini buldum. Tam lazeri istiyorsanız burada bulabilirsiniz. Etiket dalga boyu için 630-680 nm diyor. Hangi lazeri alırsanız alın, yapıdaki diğer bileşenlerden bazılarını belirleyecektir. Bu yüzden etiketinin dalga boyunu tanımladığından emin olun.
-
Bir usb tarzı web kamerası. Bu web kamerası, kamerayı güzel bir şekilde konumlandırmanızı sağlayan ayarlanabilir bir ayağa sahiptir. Web kameramla birlikte gelen usb kablosunun uygulamam için çok kısa olduğunu fark ettim ve monoprice'de bir uzantı buldum.
-
Ahududu pi için bir çeşit ara kiti, böylece işlemcideki pinlere kolayca erişebilirsiniz.
- Bir ekmek tahtası.
- Bir havya.
- Breadboard için atlama telleri.
-
Devre Bileşenleri. İstediğiniz açma teli miktarıyla çarpın.
- Bir çalışma led
- Bir adet 100 ohm direnç
- 1k direnç
- Bir 10k direnç
- Bir 200k direnç Gerçekten herhangi bir büyük direnç yapacaktır. 1M dirençle test ettim ve iyi çalıştı. Bilginize 10k çok küçüktü.
- Bir PNP transistör PN:2N4403-APCT-ND
- Bir fotodiyot (bunu lazer dalga boyunuzla eşleştirin) PN:PDB-C142-ND
Devre kartı için kicad dosyalarını ekleyeceğim, ancak bu talimatta kartın imalatını ele almayacağım.
Bu proje boyunca aşağıdaki isteğe bağlı araçları kullanışlı buldum:
- Ahududu pi üzerinde sinerji yükleme. Eğer aşina değilseniz, bu yazılım ahududu pi'nin faresini ve klavyesini başka bir bilgisayarla kontrol etmenizi sağlayacaktır. Bu, benim gibiyseniz ve farklı bir bilgisayarda daha rahatsanız güzel. Ayrıca bu herkesin sahip olması gereken bir yazılımdır.
- Bir usb hub'ı. Kullanmak istediğiniz her web kamerası için bir bağlantı noktasına ihtiyacınız olacaktır.
- Varsa voltaj ölçer veya osiloskop.
- Ahududu pi'yi kontrol etmek ve dosyaları ssh aracılığıyla değiştirmek için MobaXterm'i kullanma. Pencerelerde büyüyen herkes için bir zorunluluktur. Kullanmaya başlamak için bu eğiticiye bakın.
Adım 2: Pi'yi Çalıştırın ve Çalıştırın
Minimum bileşen eklenmiş pi
Herhangi bir lazeri ateşleyebilmemiz için, inşa edilmesi gereken birkaç yazılım katmanı vardır. En iyi başarı şansına sahip olmak için temiz bir sayfa ile başlamak iyi bir uygulamadır. Bunu yapmak için gereksiz öğeleri Pi'den ayırın. Bu, bağlı bir cihazdan parazit olma olasılığını azaltacaktır.
Ardından, terminalde aşağıdakileri girerek Raspberry Pi'nizin en son yazılımla çalıştığından ve çalıştığından emin olun.
sudo apt-get güncellemesi
Ahududu pi güncel olduğunda, bir sonraki adımın zamanı geldi
Adım 3: Lazer Algılama Devresini Oluşturun
Bileşenleri gösterildiği gibi breadboard üzerine yerleştirin. Pi'nin 5v çıkışını veya bir masaüstü güç kaynağını kullanarak devre tahtasına güç verin. Şekil 1'de 5v beslemesi, görüntünün sol alt tarafındaki pozitif devre tahtası rayına ve sol üstteki toprağa bağlanır. Bu devre, transistörü tetiklemek için fotodiyodu anahtar olarak kullanır. Transistör, fotodiyottaki küçük voltaj değişimini, pi'nin okuyabileceği bir şekilde dijital bir sinyale dönüştürür. Sonraki tüm adımlar için, 100ohm ve sinyal ledi arasındaki nokta, devreyi pi ile örneklediğimiz yer olacaktır.
-
Şekil 1: Devre devre tahtası düzeni üst
-
Şekil 2: Devre devre tahtası düzeni alternatif görünümü
Daha temiz bir görünüm istiyorsanız, aşağıda gösterilen pano için kicad dosyalarını ekledim.
-
Şekil 3: Sensör kartının üstten görünümü
-
Şekil 4: Sensör kartı ISO
-
Turuncu tel, anlık basma düğmesinin yerini alıyor
-
Olumlu ve olumsuz olası satışları gösterme
-
Rotil
-
Soket bağlantısı
-
Top ve soket monte edilmiş
-
Sağlıklı bir ışınla çalışan lazer
-
Kiriş kırık değil ve led kapalı
-
Davetsiz misafir ışını kırar ve ledin yanmasına neden olur
-
mjpg-streamer örnek çıktısı
-
PiCobler ile Breadboard düzeni
-
Doğru Konsol Çıktısı (MobaXterm kullanılarak gösterilmiştir)
-
Ekli dosyaların çalışırken ekran görüntüsü
- your_ip = "192.168.0.177"
- your_ip_Optional_port = ":8080"
- port_to_camera = ":8081"
- send_email_username = "e-posta kullanıcı adınız"
- send_email_password = "şifreniz"
-
Ekli dosyaların çalışırken ekran görüntüsü
Adım 4: Lazeri Harici Güç için Değiştirin
Aşağıdaki adımlarda lazer işaretçi tertibatını oluşturacaksınız.
- Lazer işaretçiyi sökün. Bunu yaparken, pil terminallerinin lazer emitörüne göre yönüne dikkat edin.- Ardından, pil bağlantı yayını ve anlık basma düğmesini lazerden sökün.- Düğmenin bulunduğu terminaller arasına bir tel parçası lehimleyin. Şimdi lazere güç verildiğinde otomatik olarak açılacaktır.- Şimdi lazere giden pozitif ve negatif uçları lehimleyin. Parça listesinden aynı lazeri kullanıyorsanız, lehim noktalarını görmek için aşağıdaki resmi kullanabilirsiniz. Değilseniz, lehim noktalarını kendiniz bulmanız gerekebilir. Pil yönünü, pozitif veya negatif uç için bir ipucu olarak kullanabilirsiniz. Son lehim noktasını bulmak için 5v güç kaynağı kullanabilir ve devreyi iki test ucu ile inceleyebilirsiniz. Uygun devreyi oluşturduğunuzda, lehim noktasını buldunuz ve lazer yanacaktır.
- Son adım, lazer yuvasına nişan almak üzere kolayca ayarlanabilmesi için lazer için yönlü bir montaj direği yapmaktır. Çoğu lego biyonik kitinin soket bağlantılarındaki ucuz top için mükemmel bir kaynak olduğunu buldum. Süper yapıştırıcı kullanarak bilyeli mafsalın bir parçasını lazer işaretçiye yapıştırın. Artık soket mafsalını herhangi bir yüzeye monte edebilir ve lazeri yerleştirebilirsiniz.
Adım 5: Lazeri Çalıştırın ve Algılama Devresini Test Edin
Lazeri breadboard'unuza takın. Pozitifin 5v'ye bağlanması ve negatif kabloyu topraklaması gerekecektir. Lazer çok iyi açılıyorsa, değilse, bir multimetre ile uygun voltaja sahip olup olmadığınızı iki kez kontrol edin. Hala çalışmıyorsa, geriye doğru bağlamanız durumunda olası satışları değiştirmeyi deneyin. Hala çalışmıyorsa, doğru pedlere lehimlememiş olabilirsiniz, son adıma geri dönün.
Lazer ışınını aldıktan sonra, algılama devresini test etme zamanı gelmiştir. Lazeri fotodiyota doğrultun. LED, ışının aktif olduğunu bildirerek kapanmalıdır. Işın boyunca elinizi sallayın ve LED, bir yolculuk sinyali vermek için yanmalıdır.
6. Adım: Web Kameranızı Bağlayın ve İşlevselliğini Test Edin
Web kameranızı usb bağlantı noktasına bağlayın. Videoyu yayınlamak için mjpg-streamer yardımcı programını almamız gerekiyor. İşte tam da bunun nasıl yapılacağı hakkında harika bir eğitim. Mjpg-streamer'ı düzgün bir şekilde yükledikten sonra. Terminale aşağıdaki komutu girerek video akışını başlatın.
cd /mjpg-streamer'ı yüklediğiniz yer/mjpg-streamer
./mjpg_streamer -i "./input_uvc.so -y /dev/video0" -o "./output_http.so -w./www -p 8081"
Bu komut, video0 kaynağını kullanarak 8081 numaralı bağlantı noktasında bir akış kuracaktır. Birden fazla web kamerası istiyorsanız, yukarıdaki komutu tekrar girin ancak video0'ı video1'e ve 8081'i 8082'ye değiştirin. Bu şekilde 3 web kamerasına kadar akış yaptım ve pi aşırı yüklenmiyordu.
Başka bir bilgisayarda bir tarayıcı açarak bağlantının çalışıp çalışmadığını test edin ve pi-address-of-pi:8081 girin veya pi'ye localhost:8081 girin. Eğer pi'nin IP'sini bilmiyorsanız, terminalde aşağıdakini girin
ifconfig
Her şey çalışıyorsa, mpg-streamer ana sayfasını görmelisiniz. Web kamerası akışınızı görmek için akış sekmesine tıklayın. Aşağıda arayüzün bir ekran görüntüsü bulunmaktadır.
Bu öğreticiyi ikinci kez yaparken mjpg-streamer ana sayfasına erişebildim ancak bir akış görmedim. Bunu düzeltmek için bu gönderiyi okudum (bağlantı şimdi kırık), özellikle YUYV piksel formatı ile ilgili kısmı, boş bir akışla karşılaşırsanız ona da başvurmalısınız.
7. Adım: Ara Verme
Tamam, bu noktada ahududu pi'mizi çalıştırmalıyız. Lazerimiz harici güç için değiştirildi. Algılama devremiz yapıldı ve lazer ışını fotodiyota çarptığında ledin söndüğünü ve ışını kestiğinizde ledin yanacağını onayladınız. Son olarak, web kameranızın bağlı ve işlevsel olarak akışa sahip olmasını sağlamalısınız.
Şimdi hepsini bir araya getirme zamanı. Yazılımla lazer ışını açmasını tespit etmeye çalışarak basit bir şekilde başlayalım.
Algılama devresini gösterildiği gibi devre tahtasına bağlayın. Bir sonraki adıma hazırlanmak için sensör sinyal kablosunu pim 25'e bağladığınızdan emin olun. Aşağı çekme direnci isteğe bağlı değildir. 10k uzanıyordum ama herhangi bir direnç yapmalı.
Adım 8: Lazeri Yazılımla İzleyin
Lazer sinyalini dinlemek için kısa bir program yazalım ve bu çıktıyı terminale gönderelim. Kodu ek olarak indirebilirsiniz.
Muhtemelen bu komut dosyası için bağımlılıkları yüklemeniz gerekecektir. Python ve gpio modülü. Bunları yüklemek için girin
sudo apt-get kurulumu python-rpi.gpio python3-rpi.gpio
Başarılı bir python kurulumu yaptıktan sonra, read_pin.py adlı ekli python betiğini indirin ve çalıştırın.
cd /dizini/chmod 777 read_pin.py dosyasını koyduğunuz yer
chmod komutu, komut dosyasına çalıştırma izni verecektir. Ardından, koşarak her şeyin yolunda ve züppe olduğunu test edin
sudo python3 read_pin.py
Her şey yolunda giderse, aşağıda gösterildiği gibi bir konsol çıktısı görmelisiniz. Python betiğinden çıkmak için şunu girin
Ctrl-C
Elinizi lazer ışınının önünde sallayın ve konsolda ışının kırıldığına dair sizi uyaran bir çıktı görmelisiniz. Sisteminizin farklı şekillerde çalışmasını sağlamak için komut dosyasıyla oynamaktan çekinmeyin.
9. Adım: Akışınızı Görüntülemek için bir Web Sayfası Oluşturun
Şimdi bir web kamerası görüntüleme arayüzü kurmamız gerekiyor. Bu adım için apache web sunucusunu kurmanız gerekecek. Birini ayarlamak için çok sayıda öğretici var. Ancak, minimum konfigürasyona sahip kısa liste burada.
sudo apt-get install apache2
kurulduktan sonra tarayıcınıza ahududu pi'ye yazabilmelisiniz.
yerel ana bilgisayar
Apache'den hoş geldiniz sayfasını görmelisiniz. İlk kez bir web sunucusu kuruyorsanız, muhtemelen pi'nizi statik bir ip adresine sahip olacak şekilde yapılandırmak isteyeceksiniz, böylece bir güç döngüsü yaparsanız yönlendiriciniz her zaman uygun ipi atayacaktır. Güvenlik sisteminizi başka bir yerden görüntülemek istiyorsanız, yönlendiricinizde bağlantı noktası iletmeyi ayarlamanız gerekecektir. Uzun zaman oldu ama aynı zamanda üzerinde web kamerası olan portları da yönlendirmeniz gerekeceğini düşünüyorum. Bu prosedürleri kapsayan çok sayıda öğretici var. Yönlendiricinizde bağlantı noktası yönlendirmeyi ayarlamayı seçerseniz herkesin web kameranızı görebileceğini unutmayın.
Ekli dosyalar, web sitenizi kurmak için kullanabileceğiniz örnek web sayfalarıdır. Yüklememe izin vermedikleri için html dosyasındaki dosya uzantısını değiştirmeniz gerekecek. Ardından dosyaları, apache yapılandırma dosyanızda belirtilen www klasörünüze yerleştirin. Varsayılan konum
cd /var/www
Web sunucusunun html dosyalarınızı aradığı konumu değiştirmek isterseniz, siteler etkin dosyanızı girerek düzenleyebilirsiniz.
sudo nano /etc/apache2/siteler etkin/000-varsayılan
Herhangi bir /var/www/ örneğini istediğiniz konuma değiştirin. Benimkini /home/pi/Desktop/www/ içine koydum
Web klasöründeki html dosyalarına sahip olduğunuzda, tarayıcıya localhost veya başka bir bilgisayardan pi'nin ip adresini girin. Bunun gibi bir şey görmelisin.
TATLI!
Adım 10: E-posta Uyarılarını Ayarlayın
İyi şeyler oluyor! Pi'den önceden tanımlanmış bir e-posta adresine bir e-posta uyarısı göndermeye çalışarak şansımızı deneyelim. Ekli python betiği, göndermek istediğiniz e-postanızı oluşturacak, gmail gibi bir e-posta sağlayıcısına bağlanacak ve e-postayı e-posta sağlayıcısını kullanarak gönderecektir. Bu, python'un smtp paketi kullanılarak elde edilir. Smtp paketinin çalışması için gmail hesabınızın güvenliğini azaltmamız gerekeceğinden, yalnızca güvenlik sisteminiz için sahte bir e-posta adresi yapmanızı öneririm.
Başarılı bir aktarım elde etmek için komut dosyasını birkaç yerde değiştirmeniz gerekecektir. Yoğun bir şekilde yorumlanmıştır ve rahatınız için terminalde çok sayıda çıktı üretecektir.
Değiştirmeniz gereken şeyler olacak
apache sunucunuz varsayılan 80'den farklı bir bağlantı noktasında çalışmıyorsa, your_ip_Optional_port büyük olasılıkla boş olacaktır. Zaten 80'de çalışan bir sunucum vardı, bu yüzden pi'mi 8080'de çalışacak şekilde ayarladım. port_to_camera, kameranızı belirttiğiniz bağlantı noktası olacaktır. mjpeg flama kullanarak çalıştırın.
Bu değişkenleri betiğin başında değiştirdikten sonra, terminalde aşağıdakileri girerek programı çalıştırın.
cd / betiği koyduğunuz klasör /
sudo python3 send_mail.py
Yıldızlar düzgün bir şekilde hizalanmışsa ve tüm değişkenler doğruysa, aşağıdakine benzer bir e-posta almalısınız.
Bu betiğin başarısız olabileceği birçok yer var. İlk seferde çalışmıyorsa, sinirlenmeyin. Sorunlu alanları daraltmak için komut dosyasındaki hata ayıklama noktalarını kullanın ve ardından her seferinde bir soruna odaklanın.
Adım 11: Lazer Açıldığında E-posta Komut Dosyasını Tetikleyin
Artık pi e-posta gönderebildiğine göre, lazer her tetiklendiğinde bir e-posta almamız için bunu otomatikleştirelim. Posta komut dosyasına dokunmak için yeni bir işlev içeren read_pin.py'nin değiştirilmiş bir sürümü olan ekli dosyayı indirin. Ana ek satır aşağıdaki gibidir
sm_pid = os.spawnlp(os. P_NOWAIT, "/usr/bin/python3", "python3", "/home/pi/Desktop/security/send_mail.py")
Bu satır, lazer algılama komut dosyasına paralel olarak posta gönderme komut dosyasını başlatacaktır. Posta gönderme komut dosyasının tamamlanması birkaç saniye sürdüğü ve lazer algılama komut dosyasının e-posta gönderilene kadar çalışmasını engelleyeceği için bu tercih edilir. Bu, tek bir kamera sistemi için bir sorun değildir, ancak birden fazla kameranız varsa, kamera 2 bir e-posta olayını tetiklemiş olsa bile kamera 1'de bir lazer tetiklemesi algılamak istersiniz. sm_pid değişkeni, bu komut tarafından başlatılan işlemin pid'ini içerecektir. E-posta tetikleyicisi tekrar çağrılırsa bu kimliği kontrol ederiz, varsa e-posta hala gönderiyor, bu yüzden olayı yok sayıyoruz. Eğer mevcut değilse, bu muhtemelen yeni bir olaydır ve bir e-posta gönderilir.
Tümünü çalıştırarak test edin
cd /dosyayı koyduğunuz dizin/
chmod 777 read_pin_with_mail.py
sudo python3 read_pin_with_mail.py
Lazer ışınını kırdığınızda, web kamerasından alınan anlık görüntüyü içeren bir e-posta almalısınız.
Adım 12: Sistemi Başlatmak için Ana Komut Dosyası Oluşturun
Bu noktada proje çoğunlukla yapılır. Son bir adım, sistemin başlatılmasını son bir komut dosyasıyla basitleştirmektir. Tüm alt programları başlatacak ve web kamerasını tek bir komut dosyasıyla kuracaktır. Ekli dosya, /etc/rc.local dosyanızı düzenleyerek başlangıçta başlatılabilir. Dosya uzantısını değiştirmeniz gerekir ve komut dosyalarınızı farklı bir konuma yerleştirirseniz, komut dosyasını uygun yolları içerecek şekilde düzenlemeniz gerekebilir.
Adım 13: Sonuç
İşte bu kadar. Umarım bu öğreticiyi beğenmişsinizdir! Herhangi bir sorunuz varsa veya herhangi bir alanda daha ayrıntılı bilgiye ihtiyacınız varsa yorumlarda bana bildirin. Uğraşmaya devam edin!
Önerilen:
Lazer Güvenlik Alarm Sistemi (ÇİFT MOD): 5 Adım
Lazer Güvenlik Alarm Sistemi (ÇİFT MOD): Güvenlikle ilgili bir şey olduğunda kesinlikle sağlam bir fikre ihtiyacımız var ve bu durumda lazer güvenlik alarmı evde çok kolay bir şekilde oluşturmak için en iyi seçenektir. Bu eğitimde nasıl yapılacağını öğreneceğiz. bu projeyi çok kolay bir şekilde yapmak için
Otomatik Lazer Kontrollü Güvenlik Sistemi: 22 Adım
Otomatik Lazer Kontrollü Güvenlik Sistemi: Lazer kontrollü güvenlik sistemi, yetkisiz erişimi engellemek için yaygın olarak kullanılan korumadır. Evlerimizi, ofislerimizi, bankalarımızı, dolaplarımızı ve çeşitli önemli yerlerimizi korumak için ışık tabanlı sensör ve lazer üzerinde çalışan son derece verimlidir
One Touch Kadın Güvenlik Güvenlik Sistemi: 3 Adım
Tek Dokunuşta Kadın Güvenlik Güvenlik Sistemi: Tek dokunuşla alarm 8051 mikro denetleyici kullanan kadın güvenlik sistemi Günümüz Dünyasında Kadın Güvenliği, her Ülkede En Önemli Konudur. Bugün Kadınlar Taciz Ediliyor, Zorlanıyor Ve Bazen Acil Yardım Gerektiğinde. Gerekli Yer Yoktur
Arduino Ev Güvenlik Sistemi: 7 Adım (Resimli)
Arduino Ev Güvenlik Sistemi: Arduino Mega 2560 kullanan, herhangi bir kapı açıldığında veya sistem devreye girdiğinde odada bir hareket algılandığında alarmı tetikleyen bir Ev Güvenlik Sistemidir. Üniversitede son sınıftaki herkes için güzel bir proje. onu yükseltebilirsin
Raspberry Pi'li Buzdolabı İçin Yüz Tanıma Güvenlik Sistemi: 7 Adım (Resimli)
Raspberry Pi'li Bir Buzdolabı için Yüz Tanıma Güvenlik Sistemi: İnternette gezinirken güvenlik sistemleri fiyatlarının 150$ ile 600$ ve üzeri arasında değiştiğini keşfettim, ancak tüm çözümlerin (çok pahalı olanlar bile) diğer sistemlerle entegre edilemediğini keşfettim. evinizde akıllı araçlar! Örneğin, ayarlayamazsınız