İçindekiler:

Raspberry Pi Garaj Kapısı Açıcı: 5 Adım
Raspberry Pi Garaj Kapısı Açıcı: 5 Adım

Video: Raspberry Pi Garaj Kapısı Açıcı: 5 Adım

Video: Raspberry Pi Garaj Kapısı Açıcı: 5 Adım
Video: Tarsens - Tarımda Yapay Zeka Uygulamaları 20201008 - Bandırma Onyedi Eylül Üniversitesi 2024, Temmuz
Anonim
Raspberry Pi Garaj Kapısı Açıcı
Raspberry Pi Garaj Kapısı Açıcı

Garaj kapısını açmamızı sağlayan on beş yıllık tuş takımımız, zar zor kayıt yapan birkaç düğmeyle yavaş yavaş ölüyor ve gençlerimizin (veya köpek bakıcılarının) anahtarlarını unuttuklarında eve girmelerini zorlaştırıyor.

Değiştirmek ve yeniden programlama çemberlerinin arasından atlamak yerine, biraz daha yüksek teknolojiye geçmeye ve onu sadece wifi erişimimize ve kullanmak için bir telefona ihtiyaç duyan bir şeyle değiştirmeye karar verdim.

Bir Pi Zero Wireless ve başka bir projeden kalan 2 kanallı bir röle kullandım, bu da hem kapıyı hem de garaj kapısı açıcısına yerleştirilmiş ışıkları kontrol etmeme izin veriyor. Toz toplayan eski/yedek bir USB kameram olduğu için PiCam yerine onu kullandım, ancak bu sadece rahatlıktan çıktı. Bu, desteklenen herhangi bir kamerayla gayet iyi çalışır - benimkinde özel bir şey yok, sadece Raspbian tarafından destekleniyor.

Diğer bazı benzer projelerden farklı olarak, talimatları takip ederseniz çalıştırması oldukça kolay olan "standart" yazılım paketlerini kullanarak mümkün olduğunca basit tutmaya çalıştım. Bu fotoğraf, Pi, Röle Modülü ve kapıya dönük USB Web Kamerası da dahil olmak üzere son (hiç hoş değil, ama bu benim garajım) kurulumumu gösteriyor. Pi Zero'yu kullanmak için belirli bir neden yoktur - dahili ağınıza bağlayabildiğiniz sürece herhangi bir Pi yapar ve wifi bunu kolaylaştırır.

Adım 1: Mevcut Kontrol Paneline Bağlanma

Mevcut Kontrol Paneline Bağlanma
Mevcut Kontrol Paneline Bağlanma

Birincisi, SİZİN FARKLI OLABİLİR! Benimki, garaj kapısı açıcısından duvardaki kontrol paneline giden tek bir çift kabloya sahip. Test edildiğinde yaklaşık 18 volta sahip görünen sadece iki kablo olduğundan, ilk başta bu şeyin birden fazla işlevi tam olarak nasıl kontrol edebileceği konusunda biraz kafam karıştı. Her anlık düğmenin devreyi tamamladığını, ancak farklı direnç seviyelerinde olduğunu DÜŞÜNÜYORUM. Ardından ana ünite bu direnci farklı voltaj düşüşleriyle okuyabilir ve doğru eylemi gerçekleştirebilir. Kontrol ünitesini Pi ile tamamen değiştirmeye çalışmadığınız sürece bunların hiçbiri önemli değil. Fiziksel birimin yerinde olması güzel olduğundan, bunu neden yapmak istediğinizden emin değilsiniz.

AAAAnnnyway, tek yapmanız gereken PCB üzerindeki anlık anahtarları röle modülünüze bağlayarak çeşitli düğme basmalarını çoğaltmak. Yapmam gereken tek lehim buydu ve PCB üzerindeki pedler oldukça büyüktü, bu yüzden oldukça basitti. ACME tel sedyeniz yoksa, kabloyu kısaltmak daha sonra uzatmaktan çok daha kolay olduğundan, bu kabloları şimdilik biraz uzun bırakın, ancak bunlar oldukça nadirdir.

Adım 2: Röle Kartını Kablolama

Röle Kartını Kablolama
Röle Kartını Kablolama
Röle Kartını Kablolama
Röle Kartını Kablolama

Burada söylenecek fazla bir şey yok, sadece resimlerdeki gibi her şeyi bağlayın. Sainsmart 2-röle modülünde, onlar için tamamen ayrı bir güç kaynağı kullanmak istemiyorsanız, JC-VCC ve VCC pinlerinin birbirine jumperlanması gerekir, ancak bu kullanım için bu çok abartılı. GND'yi Pi GND pinine, VCC'yi 5v pinine ve IN1 ve IN2'yi kullanmak istediğiniz GPIO pinlerine bağlayın. Bunları YÜKSEK/DÜŞÜK geçişler olarak kullanacağınız için, hangisinin gerçekten önemli olduğu önemli değil.

Adım 3: Yazılımı Yükleme

Yazılımı Yükleme
Yazılımı Yükleme

Bu, muhtemelen en çok zaman alan adımdır, çünkü bir süre boyunca indirilen ve kurulan şeyleri izleyeceksiniz. Bu şeylerden bazıları kuruluyken youtube veya başka bir şey izleyin.

Raspbian'ın nasıl kurulacağını açıklamayacağım. Henüz bunu nasıl yapacağınızı bilmiyorsanız, önce google'da "merhaba dünya" türündeki öğreticilere gidin. Her durumda, yeni bir Raspbian Lite yüklemesi kullanmak muhtemelen en iyisidir. Bu proje için bir gui'ye gerek yok ve bu sadece fazladan ek yük. raspberrypi.org bu süreçte size yol gösterebilir.

SSH'yi etkinleştirin ve (isterseniz) Pi'niz için statik bir IP yapılandırın (bir kez daha, bunun nasıl yapılacağına dair, kendimden daha iyi yazarlar tarafından yazılmış birden fazla öğretici var) veya daha da iyisi, yönlendiricinizi/DHCP sunucunuzu yapılandırın Pi'nize statik bir IP atamak için.

Güzel, kurulumu ve kullanımı kolay bir video hizmeti istiyorsanız, gidin ve MotionEye'ı kurun. Muhtemelen abartılıdır, ancak her seferinde "çalışan" kurulumlardan biridir ve kullanımı kolay güzel bir web arayüzüne sahiptir. Buradan kontrol edin:

github.com/ccrisan/motioneye/wiki/Install-… Her komuttan önce sudo kullanarak bu talimatları izleyin ve güzel bir video akışı kurulumuna sahip olacaksınız. Tek umursadığınız şey, gördüğünüzde kapınızı açmaksa, bir video akışına sahip olmak tam olarak gerekli değildir, ancak geri bildirim almak güzel.

Motioneye yükledikten sonra, https://YourIPAddress:8765 adresini ziyaret edin ve "admin" kullanıcı adı ve boş bir şifre ile giriş yapın. Muhtemelen yine "çalışması" gereken ve bu talimatların kapsamını aşan bir kamera eklemeniz gerekecektir.

Yönetici olarak oturum açmış durumdayken, "Gelişmiş Ayarlar" geçiş düğmesini tıklayın, ardından video seçeneklerinizi ayarlayın - Videom için 320x240 kullandım çünkü kaliteden çok daha hızlı güncellemeleri önemsiyorum, çünkü gerçekten sadece onu görmek istedim. kapı açıktı ya da değildi ve caddenin karşısındaki posta kutusu numaralarını okumaya gerek yok.

"Video Akışı" ayarları alanı altında, "Akış URL'si" bağlantısını tıklayın ve size sunduğu adresi not edin. Arayüzü benim yaptığım gibi kurmayı planlıyorsanız daha sonra ihtiyacınız olacak.

GPIO pinlerinizi kontrol etmenin birden fazla yolu vardır. Bu proje için WiringPi'yi kullandım, kurmak için web sitesindeki talimatları kullanın:

wiringpi.com/download-and-install/

Veya Pi'nizde aşağıdaki komutları verin:

wget https://lion.drogon.net/wiringpi-2.50-1.debsudo dpkg -i wirepi-2.50-1.deb gpio -v gpio readall

Bu size GPIO pinlerinizle neler olup bittiğinin bir listesini vermelidir.

4 ve 17 numaralı pinleri kullanıyorsanız (BCM numaralandırma şemasında), aşağıdaki komutlarla bağlantılarınızı test edebilirsiniz. Bu Sainsmart modülünü kullanıyorsanız, DÜŞÜK pimin ayarlanmasının röleleri etkinleştireceğini unutmayın. Sizinki farklı olabilir ve buna göre ayarlamanız gerekir. Bu komutları çalıştırırken, rölelerin yerine oturduğunu duymalısınız ve LED(ler) yanmalıdır.

gpio -g modu 17 çıkışı

gpio -g yazma 17 0 gpio -g yazma 1 1 gpio -g modu 4 çıkış gpio -g yazma 4 0 gpio -g yazma 4 1

Tamam, şimdi kullanıcı arayüzü oluşturmaya geçebiliriz.

Adım 4: Arayüzün Hazırlanması

Arayüzün Yapılması
Arayüzün Yapılması

Apache ve PHP kullandım. Güzel ve basit, hiçbir şey çok süslü değil. Bir kez daha, başka bir yerde daha iyi açıklanmıştır, bu yüzden burada bulunan talimatları uygulamanız yeterlidir:

www.raspberrypi.org/documentation/remote-a…

Web sunucunuzun "kökü" varsayılan olarak /var/www/html/ adresindedir ve size web sunucunuz hakkında bilgi veren varsayılan bir index.html'dir. Bu index.html'yi değiştireceksiniz, böylece onu silebilir veya index.copy gibi başka bir adla yeniden adlandırabilirsiniz. Ayrıca izinler konusunda tembel olmak için "pi" kullanıcısını html dizininin sahibi yaptım. Son olarak, resimlerimi saklamak için iki tane olan bir dizin oluşturdum. Biri bir düğmeye basıldığına dair aptalca bir geri bildirim, diğeri ise telefonun ana ekranındaki bir simge için kullanılabilecek.

pi@garagedoor:~ $ cd /var/www/html/

pi@garagedoor:/var/www/html $ sudo chown pi.pi@garagedoor:/var/www/html $ mv index.html index.copy pi@garagedoor:/var/www/html $ mkdir görüntüleri

Bir web sitesi oluşturmanın sonsuz sayıda yolu vardır, ancak ben onu becerilerime dayanarak mümkün olduğunca basit ve kolay tutmayı seçtim. Dolayısıyla, PHP, bildiğimden beri. Bir python gurusu veya başka bir betik dili iseniz, bunu kullanmaktan çekinmeyin.

Aslında tüm işi yapan iki iframe içeren bir "kapsayıcı" index.html sayfası oluşturdum. İç çerçevelerden biri, GPIO aracılığıyla röleleri gerçekten tetikleyen düğmeleri/bağlantıları ve videoyu görüntüleyen başka bir iframe'i içerir. Ayrıca, bir telefonun ana ekran simgesi olarak kullanılabilecek bir-p.webp

Düğmeleri içeren index.html iframe, içeriği olarak button.html dosyasına sahiptir. (nasıl çalıştığı komik, ha?) button.html'deki her iki bağlantı da benzersiz bir GET değişken değeriyle action.php'ye yol açar. Geçilen değere göre action.php ya kapıyı ya da ışık düğmesini tetikler. HTML ve PHP kodunu github adresimden alabilirsiniz:

Tüm HTML ve PHP'yi kök dizine (/var/www/html/) yerleştirin, gerektiğinde kodu, düğmeye basma onayı için kullanabileceğiniz görüntünün adı ve video akışınızın adresi ile güncelleyin. Bir önceki adımda buna ihtiyacın olacağını söylediğimi hatırlıyor musun?

Adım 5: Deneyin

Tamam, artık her şeyi bağlayıp kurduğunuza göre, her şey ilk denemede mükemmel çalışıyor, değil mi? Tatlı!

Önerilen: