İçindekiler:
Video: Kapıda Kim Var, Alexa Aktüatörlü Kamera Sistemi: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bazen TV izlerken önemli olmadıkça kapıya cevap vermek istemezsiniz. Bu proje, Amazon'un Echo cihazına "Alexa, kapı monitörünü aç" diyerek kapıdaki kişiyi görmenizi sağlar. TV ekranında kimin göründüğünü kontrol edin, ardından normal TV programlarına "Alexa, TV'yi açın" geri dönün. Sistem ayrıca satış görevlileri, hırsızlar ve benzerleri tarafından istismar edilmeye açık olan yaşlı yetişkinler veya çocuklar için de değerli olabilir. Bu, eğlence sisteminizin büyük ekranlı TV'sinin yalnızca ön kapı kamerası için değil, sahip olabileceğiniz diğer güvenlik kameraları için de kamera görüntüleme monitörü olmasını sağlar; hatta plaj kameraları vb. gibi internet kameralarından gelen videoları görüntülemek için genişletilebilir.
Parçalar:
Eğlence sistemi:
Birkaç HDMI girişli TV (çoğu TV setinde vardır)
Kablo veya DVR kutusu
Kablo kutusu üzerinden yönlendirici ve internet bağlantısı (WiFi'niz varsa gerekli olmayabilir)
Amazon Yankı ("Alexa")
Uyum Merkezi
Kamera(lar)
Ön kapıda IP kamera (Power Over Ethernet -POE- tipi tercih edilir)
HDMI kablosu ile bir proje kutusunda (orijinal Pi çalışabilir) Raspberry Pi3
Arduino Pro Mini 8Mhz, 3.3v
IR modülü (en yaygın türler çalışacaktır)
Adım 1: Kurulum, Ön Programlama (test)
Bu proje, donanım hızlandırma ile videoyu çözen Pi3 çok amaçlı oynatıcıya dayanmaktadır. Omxplayer, kameranızın gerektirdiği uygun rtsp://user@password@ipaddress biçimi kullanılarak Pi terminalindeki bir komut satırından test çalıştırması yapılabilir. Pi Ethernet'e bağlı olmalıdır (Pi3 WiFi üzerinden de bağlanabilir, ancak test edilmemiştir) ve Pi'nin HDMI çıkış kablosunun TV HDMI giriş jakına ulaşabilmesi için fiziksel olarak eğlence merkezine yerleştirilmelidir. Arduino ve IR modülü Pi'ye bağlanacak ve TV uzaktan kumanda düğmesine basıldığında elde edilen bilgileri iletecektir. Pi, bu kod çözme işlemini doğrudan IR modülünden yapabilir, ancak Arduino programlamada Python programlamadan daha iyiyim ve ayrıca Pi'nin video akışlarının kodunu çözme ana görevi için işlemci kaynaklarından tasarruf sağlıyor.
Güvenlik sistemimde birden fazla kamera bulunduğundan, aynı anda 4 kamerayı ve ayrıca tek tek kameraları tam ekran görüntülemenin bir yolu olarak Pi destekli izleme ekranını kullandım. Bu talimatları izleyin, ancak kameraların kararlı bir şekilde görüntülenmesini sağlamak için büyük olasılıkla birçok sorun yaşayacaksınız.
Sorunlardan biri, programda listelenen 4 pencere boyutunun sizin TV çözünürlüğünüze uymayabilmesidir. Kameralarınızın sahip olduğu kamera çözünürlüğünü not ederken monitörünüzün hangi çözünürlükleri desteklediğini bulun. Çoğu IP kameranın yüksek çözünürlüklü (1080p) ve düşük çözünürlüklü (640x480) bir akışı vardır, bu nedenle ön kapının yalnızca bir yüksek çözünürlüklü videosunu istiyorsanız, yüksek çözünürlüklü akış rtsp:// biçimini kullanın. 4 kadranda kameralar için düşük çözünürlüklü akışla gidin, daha küçük resim boyutlarında fazla bir fark görmezsiniz. Bash betiğim (test.sh) pencere boyutlarıyla (1080p çözünürlük modunda, sığacak şekilde ölçeklendirilmiş 4 eşit boyutlu 640x480 kamera görüntüleyerek) gidebilirsiniz. Aksi takdirde, TV piksellerinizi yerleştirmek için grafik kağıdı kullanın ve ardından o alanda kaç tane dikdörtgen istediğinizi çizin. Ardından, çok fazla en boy değişimi olmadan kaç tane 640x480 videonun sığacağını bulun (yatay olarak uzatmak dikeyden daha iyi görünür). Sınırları sevmiyorum, bu yüzden onlar için hesaplamadım. Dikdörtgenleri sol üstten sağ alta doğru numaralandırın 1, 2, 3..vb. Sonra pencere numaralarından oluşan bir sütun yapın, bu sayıların her satırı için sol üst x, y pikselini ve sağ alt piksel x, y'yi yazın. Bu sayılar daha sonra özel bir ekran elde etmek için komut dosyasına değiştirilir, isterseniz 3 x 3 ekrana sahip olabilirsiniz. Yalnızca bir ekran istiyorsanız, diğer 3 kamerayı yorumlayın ve pencere boyutunu tam ekran çözünürlüğü yapın (ve yüksek çözünürlüklü rtsp akışını kullanın) ve komut dosyasını "test1.sh" olarak adlandırın. İstediğiniz kadar komut dosyası yapın, btn.py Python programı, Arduino tarafından GPIO pinleri değiştirildiğinde onları çağırır.
Sabit bir görüntü elde etmedeki bir sorun (görüntünün üstü iyi, ancak görüntü dikey çizgileri daha düşük), birçok kameranın tcp üzerinden rtsp kullanarak çok daha iyi akış yapmasıdır (Hikvision 2 ila 5 Mp IP kameraları kullanıyorum). Bu nedenle, omxplayer'da gösterildiği gibi "--avdict rtsp_transport:tcp" kullanın. Diğer kullanışlı omxplayer komutları, x=1 veya daha fazla olduğunda volume (--vol -6000 sessiz için) ve arabellektir (--video kuyruğu x).
IP kamera ayarları da omxplayer ile sorunlara neden olabilir. Tüm IP kameralar saniyede aynı kareye ayarlanmalıdır, aksi takdirde görüntü bozulur. Radikal olarak farklı kare hızlarına ayarlandığında, bir kamera zaman damgasında görüntülenen zaman aslında birkaç saniye geriye gitti, sonra ileri sonra geri vb.. Çok amaçlı oynatıcı pencerelerinizin üst üste gelmediğinden emin olun, aksi takdirde örtüşen kısım titreyecektir.
Adım 2: Bir araya getirmek
Pi'nin ön kapı kamerasını göstermesine izin vermek için kablo kutusunu ve TV'yi manuel olarak kontrol edebilirsiniz. Ancak bu, HDMI giriş kaynağının Pi kamera dekoderine (HDMI 2) değiştirilmesine izin vermek için evrensel uzaktan kumandayı kablo modundan TV moduna uygun şekilde değiştirmek de dahil olmak üzere birkaç düğmeye basmayı gerektirir. Ek kamera ekranları gösterebilmek istiyorsanız, Arduino'yu ve dolayısıyla Pi kamera seçimini kontrol etmek için evrensel uzaktan kumandayı AUX'a da geçirmeniz gerekir. Bu işlemi basitleştirmek için, bir Harmony Hub ve ilgili Harmony akıllı telefon uygulamasını kullanın, ona TV'yi ve kablo kutusunu tek bir Aktivitede normal TV izlemesi için kontrol etmeyi öğretin, ardından Pi video monitörünü kontrol etmek için başka bir Aktivite oluşturun. Etkinlik, TV'yi açmayı, TV girişini HDMI 2'ye ve sanal NECx TV (yani, Arduino ve Pi) 0 ila 5 düğmelerini kontrol etmeyi içerir. Bu, Harmony akıllı telefon uygulaması aracılığıyla her şeyin kontrol edilmesini sağlar. İşleri daha da kolaylaştırmak için TV veya kapı izleme işlevlerini sesle kontrol etmek için Amazon Echo Dot (Alexa) uygulamasını Harmony uygulamasına bağlayın. Harmony web sitesi, bu yeni Alexa becerilerinin nasıl etkinleştirileceğine ilişkin ayrıntılar sağlar. Yeni beceriler. Yeni Alexa becerileriyle bağlantı kurduktan sonra, "TV'yi Aç" veya "Kapı Monitörünü Aç" gibi anahtar kelimeler, evrensel uzaktan kumandadan IR'ye ihtiyaç duymadan uygun eylemleri etkinleştirir.
Pi, Ethernet üzerinden LAN'ınıza ve HDMI kablosuyla TV'ye bağlanır. Ek kamera geçişi eklemek için bir seçenek olarak Pi'ye teller aracılığıyla 3,3 voltluk bir Pro Mini kurdum. Pro Mini, Pi'nin 3,3 volt pininden güç alabilir. Bir IR modülü Arduino'nun pin 2'sine bağlanır ve ekli çizim, 0 ila 5 (aslında 0 ila 9, ancak bazı Arduino pinleri henüz bağlı değil) düğmesine basmanın kodunu çözer. Arduino çıkışları, bir bash komut dosyası kesintisinin hangi "düğmeye" basıldığını belirlediği Pi'nin dijital giriş GPIO pinlerine bağlanır, ardından bir ekran görüntüleme seçeneğini durdurur ve diğerini başlatır.
Kablo kutum, Motorola DVR modeli DCX3510 olan Spectrum'dan (eski adıyla Time Warner Cable). IR için GI Kablo protokolünü kullanır. Sony TV, Sony protokolü 2'yi kullanıyor. Bu kodlardan birinin Pi IR alıcısını kontrol etmek için iyi olacağını düşündüm ve pratik olmadığı ortaya çıktıysa da, ikisi de işe yaradı. Uzaktan kumanda ek komutlar bekler veya 0 ila 9 arası bir düğmeye basıldığında giriş kaynağını da otomatik olarak değiştirir. Bu nedenle, kablo tuner veya TV ile etkileşime girmeyecek farklı bir kod kullanmak zorunda kaldım. Evrensel uzaktan kumandamın bir AUX cihazı için önceden programlanmış bir kodu olduğunu buldum (neyi kontrol ettiğini bilmiyorum) ve kullanmaya karar verdim. Üretilen kodlar, 32 bitlik bir kod olan NECx kullandığını söyledi, bu yüzden bu düğme kodlarını Arduino IR_Rev_Codes_Pi_Monitor çizimine girdim. Farklı bir modele sahipseniz, IRLib2'deki alma programını kullanarak programı değiştirin ve basılan düğmeler için yapıcı, protokol ve onaltılık değerleri not edin.
3. Adım: Sonuç
Kapı monitörü pratik bir ev otomasyon projesidir. Pi'yi Python ile programlamak benim ilk deneyimimdi. Python, mikrodenetleyiciler için ayrılmış olduğunu düşündüğüm bir özellik olan bir kesmenin programlanmasına izin veriyor. Kesinti, ekranın yeni bir kamera beslemesine dönüştürülmesi gibi başka bir eylemin gerekip gerekmediğini sürekli kontrol etmeden, çok yönlü oynatıcıyı çalıştırarak programın normal çalışmasına izin verir. Ancak, kesinti meydana gelirse, program hangi yeni video beslemesinin getirilmesi gerektiğini belirler. Arduino, Python kesmesini tetiklemek için bir darbe sağlayacak şekilde ayarlanmıştır. Kesinti meydana gelirse, program hangi belirli Arduino çıkışının (basılan IR uzaktan kumanda düğmesine karşılık gelir) etkinleştirildiğini arar. Son olarak, program mevcut tüm çok oyunculu oyuncu ekranını kapatır ve yeni çok oyunculu oynatıcı ekranını başlatır.
Pi'nin GPIO pinlerini varsayılan olarak Arduino'nun yaptığı gibi giriş yapacak şekilde ayarlamadığını öğrendim - Pi'nin bir hatası değil, ancak Broadcom BCM2837'nin fabrika çıkışı böyle. 4 çekirdekli, 1.2 Ghz işlemciyi, harika HD video görüntüleyebilen düşük güçlü, düşük maliyetli bir bilgisayarı seviyorum. IR düğmesi 1, dörtlü ekranı gösterir ve 2 ila 5 arasındaki düğmelerin her biri, Yüksek Çözünürlüklü bir kameranın tek bir büyük ekranını gösterir.
IR uzaktan kumanda düğmesi 0'a basmak, video görüntüsünü iptal eder ve Pi komut satırını gösterir. Youtube videoları veya benzerlerini izlemek istiyorsanız, bir Bluetooth klavye kullanın, "startx" yazın ve Youtube videosuna gitmek ve onu Yüksek Çözünürlükte tam ekran oynatmak için Pi tarayıcısını kullanın.
Önerilen:
Düğme Aktüatörlü Step Denetleyici: 4 Adım
Düğme Aktüatörlü Step Denetleyici:
Aktüatörlü Masaüstü Lambası: 4 Adım (Resimlerle)
Aktüatörlü Bir Masaüstü Lambası: Burada, arduino ve servo motorları kullanarak basit, küçük harekete geçirilmiş bir masaüstü lambasının nasıl yapıldığını göstereceğim. Ayrıca size motorları nasıl değiştirebileceğinizi de anlatacağım, böylece manipülasyonları kaydedebilirsiniz ve bu nedenle, l
Kapımda Kim Var? PIR Hareket Sensörü/Mesafe Sensörü Projesi: 5 Adım
Kapımda Kim Var? PIR Hareket Sensörü/Mesafe Sensörü Projesi: Projemiz, PIR ve mesafe sensörleri ile hareketi algılamayı amaçlamaktadır. Arduino kodu, kullanıcıya birinin yakınında olduğunu söylemek için görsel ve sesli bir sinyal verecektir. MATLAB kodu, kullanıcıyı birinin yakınında olduğu konusunda uyarmak için bir e-posta sinyali gönderir. Bu cihaz
Mini HiFi Raf Sistemi (Ses Sistemi) Nasıl Doğru Bağlanır ve Kurulur: 8 Adım (Resimlerle)
Mini HiFi Raf Sistemi (Ses Sistemi) Nasıl Düzgün Bağlanır ve Kurulur: Elektrik mühendisliği hakkında bilgi edinmekten keyif alan biriyim. Ann Richards Genç Kadın Liderler Okulu'nda bir lisedeyim. Mini LG HiFi Raf Sisteminden müziklerinin keyfini çıkarmak isteyen herkese yardımcı olmak için bunu öğretilebilir hale getiriyorum
Diri - Aktüatörlü Helyum Balonu: 6 Adım
Diri - Aktüatörlü Helyum Balonu: Bu Eğitilebilir Kitapta, alanı belgeleyen özerk bir helyum balonu oluşturma sürecinde size yol göstereceğim. Videoya bir göz atın: https://www.youtube.com/watch?v=NwzptoiYJdUBalon ve kasası kendi yapımıdır, elektronik