Işık Anahtarı: 7 Adım

Işık Anahtarı: 7 Adım

İçindekiler:

Anonim

Bu projede sonunda ilave bir bonusla tamamen kablosuz bir ışık kontrol sisteminin nasıl oluşturulacağını örnekleyeceğim. Eğitimin tamamı için devam edin.

Gereksinimler:

- Raspberry Pi (herhangi bir lezzet iyidir, ama 3B + modelini kullandım)

- İki adet 2n2222 transistör (en az beş tane satın almanızı öneririm, çünkü yüksek ihtimaller birkaç tane kısa devre yapar)

- Erkek-Erkek ve Erkek-Bayan jumper kabloları

- Breadboard

- (isteğe bağlı ancak önerilir) Breadboard 5V güç kaynağı

- Her 1k ve 10k dirençten ikisi

- Çift Röle modülü

- İki eski ev lambası veya diğer aydınlatma cihazları (akkor lambalar test sırasında yanma eğiliminde olduğundan, led ampul kullanın)

- Koli bandı ve yapıştırma için bir kablo kesici

Gereçler:

Adım 1: Ahududu Pi’de Sunucuyu ve Bağımlılıkları Ayarlama

Projem için istediğim sunucuyu (Apache2 vb.) Kullanabilseniz de NGiNX kullandım. Paket yöneticisi ile yapılan vanilya kurulumu gayet iyi, kendi kaynağımızı ya da onun gibi bir şeyi derlemeye gerek yok. Ayrıca PHP, Python3 ve Composer'a da ihtiyacımız olacak.

- PI'nize SSH yazıp $ sudo nano /etc/dhcpcd.conf yazın.

- Statik IP parametrelerini yapılandırın

- PI'nizi yeniden başlatın

- Tarayıcınızın adres çubuğuna {the_ip_you_chose} yazarak her şeyin çalışıp çalışmadığını kontrol edin (nginx açılış sayfasını görmelisiniz)

Adım 2: NGiNX için Web Çerçevesini ve Yapılandırmasını Kurun

Mobil veya masaüstü tarayıcımızdan erişebileceğimiz bir web sitesine sahip olmak istiyoruz ve bu eğitimin kapsamı olmayan düz php / html kodu yazmaktan kurtulmak için, bunun yerine Yii2 adlı bir PHP çerçevesini kullanacağız. bizim için yönlendirme ve stillendirme.

- Yii2 kurulum sayfasına gidin ve / var / www / html / light-switch içine kurmak için besteci kullanın.

- Henüz server için config dosyamızı koymadığımız için henüz hiçbir şey görmeyeceğiz.

- Dosyayı (varsayılan) bu adıma ekledim

- Farklı bir arka uç tercih ediyorsanız, bu çerçevede olduğu gibi kullanın veya başka bir çevrimiçi arayın

- Bu dosyayı / etc / nginx / sites-available / dizinine yerleştirmelisiniz.

- NGiNX'i $ sudo systemctl yeniden yükle nginx ile yeniden yükle

- Bir şey çalışmazsa, config dosyalarında hata ayıklamak için $ sudo nginx -t komutunu çalıştırabilirsiniz.

Adım 3: GPIO ile Etkileşecek Python Komut Dosyalarını Ayarlama

PHP, GPIO API ve python gibi çalışma zamanı komut dosyalarıyla bu kadar iyi oynamayı sevmediğinden, web uygulamalarıyla pek de uygun değil, her birini avantajlı bağlamlarında kullanacağız. Bu adıma bağlı olarak, pinlerle etkileşime giren ve ışıkları tetikleyen gerekli 4 python komut dosyasını bulacaksınız. Komut dosyalarını istediğiniz yere yerleştirin, ancak bir sonraki adımda işlerin php tarafını kurduğumuzda ihtiyaç duyduğumuz konumlarını not edin.

Adım 4: Nesnelerin Php Tarafında Sona Ermek

Tek yapmamız gereken bazı varsayılan yolları ve sayfaları ana düzenden kaldırmak ve SiteController'da birkaç kod satırı ve actionLightswitch () adı verilen yeni bir yöntem eklemek. Bundan sonra, önceki adımdaki python scriptlerini çalıştırır ve bu da GPIO pinlerine komut verir.

Adım 5: Devreyi Yaratın

Bu özel röle modülünün yapısı nedeniyle (GND'ye bağlandığında değişir) devreleri transistör kullanarak yapmamız gerekir. PI sadece akımın röle veri pinlerinden GND'ye akmasına izin verecek transistoru açacak, böylece bobini tetikleyecek ve lambalar için devreyi kapatacaktır. Ekteki resimlerdeki şemaları izleyin ve gitmeniz iyi olur.

Bir sonraki bölüm için, röleyi bağlamanın zamanı olduğundan çok dikkatli olmalısınız. İlk önce her şeyin fişini çekin! Rölenin bağlantı başına 3 portu vardır. Cihaz kablolarımızı ortasındaki kabloya ve üzerinde açık işareti olan kablolara bağlayacağız. Bakır iletkenleri açığa çıkarmak ve bunları yukarıda belirtilen röle bağlantı noktalarına takmak için kabloyu dikkatlice yerleştirin. Şimdi alternatif akımla çalıştığımızdan emrin önemi yok.

Adım 6: Son Test

Devrenizi ve atanan pimleri en az iki kez kontrol edin ve ardından PI'yı tarayıcınızın adres çubuğuna {the_chosen_ip} yazın ve güce bağlayın. İlk sayfa iki anahtarımız olacak. Üzerlerine tıklayın ve ışıkların açılıp kapandığını izleyin.

Adım 7: Bonus Bölüm: Old-School Clapper Tetikleyici

Gereksinimler:

- Herhangi bir usb mikrofon (yüksek kaliteli olması gerekmez)

- ALSA paketi (kurulum yöntemi dağıtımınıza bağlı olarak değişecektir)

- PyAudio modülü

Ekli python betiğini kopyalayın ve mikrofonunuzu takın. PI'yi yeniden başlatın. Komut dosyasını yürütün ve konsol talimatlarını izleyin. Mikrofona yaklaş ve ellerini iki kez çırp. Alkışların konsol çıkışına kaydedildiğini görmelisiniz ve başarılı olursa 2 ışıktan sonra her iki ışık da yanacaktır.