İçindekiler:
- Adım 1: Neye İhtiyacınız Olacak?
- 2. Adım: Çıkışları Ayarlayın
- 3. Adım: Bir PubNub Hesabı Oluşturun
- Adım 4: Raspberry Pi'yi Hazırlayın
- Adım 5: Devreyi Oluşturma
- 6. Adım: RF Kodlarınızı Alın
- Adım 7: Programı Çalıştırma
- Adım 8: Başlangıçta Çalıştırma
- 9. Adım: Daha Fazla Anahtar Ekleme
- Adım 10: Daha İleriye Gitmek
- Adım 11: Krediler
Video: Raspberry Pi ile Ucuz ve Etkili Ev Otomasyonu: 11 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Işıkları her zaman kablosuz olarak kontrol edebilmek istemişimdir, ancak ticari seçenekler genellikle pahalıdır. Philips Hue ışıklarının maliyeti 70 dolardır ve WiFi bağlantılı ışıklar da pahalıdır. Bu eğitici, yaklaşık 50 $ karşılığında beş adede kadar ışık/lamba/Noel ışık şeridini nasıl kontrol edeceğinizi anlatacak ve daha fazla ışık içerecek şekilde genişletilebilir.
Adım 1: Neye İhtiyacınız Olacak?
Malzemeler:
Raspberry Pi Zero W (Kablosuz sürüm)
Mikro SD kart (En az 4 gb)
Mini HDMI - HDMI kablosu/dönüştürücü (Mini ve mikro arasında fark vardır, doğru olanı aldığınızdan emin olun!)
Mikro USB'den USB'ye kablo/dönüştürücü
USB Klavye
Not: Amazon'dan Raspberry Pi Zero W, SD kart, kasa, güç kablosu, HDMI dönüştürücü ve USB dönüştürücü ile birlikte gelen bir Raspberry Pi Zero W başlangıç kiti aldım. Sadece 30 $ için oldukça iyi bir seçenek (bağlantı)
Raspberry Pi'nin farklı bir modelini kullanabilirsiniz, ancak Raspberry Pi'nin bir tür internet bağlantısı olması gerekir ve Pi Zero W en ucuz seçenektir.
Uzak Çıkışlar - Bunları kullandım
RF Verici ve alıcı (Not: Verici/alıcının frekansı, uzak çıkışların frekansıyla eşleşmelidir) - Bunları kullandım
Anten için tel (22 gauge tek damarlı bakır tel kullandım, diğer teller çalışabilir)
Breadboard, Jumper kabloları, 40 pin erkekten erkeğe başlık
Yazılım:
Raspberry Pi OS (Raspbian Desktop'ı İndirin)
Etcher disk görüntüleyici (Pi OS'yi SD Karta yazmak için)
Aletler:
Havya
Pi OS ve Etcher indirmek için bilgisayar
2. Adım: Çıkışları Ayarlayın
Prizlerinizi bir prize takarak başlayın. Bunları kurmak için verilen talimatları izleyin ve ışıklarınızı/cihazlarınızı takın. Uzaktan kumandanızın doğru şekilde eşlendiğinden ve soketleri kontrol ettiğinden emin olun.
3. Adım: Bir PubNub Hesabı Oluşturun
PubNub, dünyanın herhangi bir yerindeki cihazlar arasında iletişim kurmanızı sağlayan ücretsiz bir internet sunucusudur. Python betiği bir web sayfasından mesajlar alır ve mesajları açmak veya kapatmak için mesajdaki bilgileri kullanır. Ücretsiz hesabınız için buradan kaydolabilirsiniz. Kaydolduktan sonra hesabınıza giriş yapın. Bu sizi bir uygulama yönetimi sayfasına götürecektir. "Yeni uygulama oluştur" u tıklayın. Uygulamanıza bir ad verin, ardından uygulamalar listesinden seçin (Bu ilk uygulamanızsa, tek uygulama olacaktır) Bu sizi uygulama anahtarları sayfasına götürecektir. "Demo Keyset" üzerine tıklayın ve üç farklı tuş görmelisiniz. Bu sayfayı yukarıda tutun, bu anahtarlara daha sonra ihtiyacınız olacak. Artık PubNub hesabınız olduğuna göre, ahududu pi'nizi ayarlayabilirsiniz.
Adım 4: Raspberry Pi'yi Hazırlayın
Etcher ve Raspberry Pi OS'yi bilgisayarınıza indirin (parça listesindeki bağlantılar)
Etcher'ı bilgisayarınıza kurun ve Raspberry Pi OS'yi açın (gerekirse). Micro SD kartınızı bilgisayarınıza takın ve Etcher'ı açın. "Resim Seç"e tıklayın ve sıkıştırılmamış Raspberry Pi OS dosyasına gidin. Seçin, ardından "Sürücü Seç"e tıklayın ve listeden mikro SD kartınızı seçin. "Flash" üzerine tıklayın ve Etcher'ın tamamlanmasını bekleyin. Etcher tamamlandıktan sonra SD kartınızı bilgisayarınızdan çıkarın (Etcher otomatik olarak çıkarır) ve Raspberry Pi'nize takın. Bu noktada Raspberry Pi'nizi HDMI dönüştürücü ile bir monitöre bağlamanız gerekecek. Bir klavye (ve çoklu USB hub'ınız varsa fare) takın ve güç kablosunu takın. İki adet mikro USB bağlantı noktası vardır. Biri güç içindir, diğeri gerçek bir USB bağlantı noktasıdır. Pi'nin sonuna en yakın olanı güç, ortaya daha yakın olanı ise USB'dir. Ahududu pi'niz şimdi önyüklemeye başlayacak. İlk önyükleme sırasında birkaç kez yeniden başlayabilir, ancak bu normaldir. Ahududu pi'niz başladığında, WiFi'nize bağlayın. WiFi'ye bağladıktan sonra bir SSH sunucusu kullanabilirsiniz, ancak şimdilik GUI'yi kullanmayı daha kolay buluyorum. Bir terminal penceresi açın ve şu komutları girin:
sudo pip3 kurulumu 'pubnub==3.9.0'
cd git klonu git://git.drogon.net/wiringPi git klonu
sudo git klonu https://github.com/timleland/rfoutlet.git /var/www/rfoutlet
sudo chown root.root /var/www/rfoutlet/codesend sudo chmod 4755 /var/www/rfoutlet/codesend
cd kablolamaPi
./yapı
Şimdi Raspberry Pi dosya tarayıcısını açın ve pi-home-automation klasörünü görmelisiniz. Çift tıklayın ve RFControl.py adlı bir dosya görmelisiniz. Kopyalayın (karşı tıklayın ve "Kopyala"yı seçin), ardından pi klasörüne dönün ve oraya yapıştırın.
Raspberry pi'nizi kapatın (menüden veya komut satırından sudo poweroff'u çalıştırarak) ve yeşil ışık yanıp sönmeyi bıraktığında fişini çekin.
Adım 5: Devreyi Oluşturma
Şimdi devreyi oluşturma zamanı. Ben breadboard kullandım ama siz istediğiniz gibi yapabilirsiniz.
İlk olarak, RF vericisi için bir anten oluşturmalıyız. Bu talimat öğreticisi, bir RF vericisi için nasıl anten yapılacağını anlatır. Talimatları izleyin, ardından vericinin anten pimine lehimleyin (kullandığımda ANT etiketliydi) kısa taraf vericiye en yakın olacak şekilde
vericiyi bağlayın
Verici şu pinleri kullanır:
VERİ: GPIO 17, Fiziksel pin 11
VCC: Raspberry Pi 5v, Fiziksel pin 2
GND: Raspberry Pi GND, Fiziksel pin 6
alıcıyı bağlayın
Alıcı şu pinleri kullanır:
GND: Raspberry Pi GND, Fiziksel pin 9
VCC: Raspberry Pi 5v, Fiziksel pin 4
DATA: GPIO 27, Physical pin 13 (Kullandığım alıcının üzerinde iki data pini var ve VCC'ye en yakın olanı kullandım)
6. Adım: RF Kodlarınızı Alın
Devreniz Raspberry Pi'nize bağlandıktan sonra, her şeyin yerinde olduğundan emin olmak için iki kez kontrol edin ve ardından tekrar açın. Açıldıktan sonra bir terminal açın ve şunu yazın
sudo /var/www/rfoutlet/RFSniffer
Ardından, RFControl programını açın. Terminal penceresini ve program penceresini yan yana koymak bir sonraki adımda yardımcı olabilir.
Çıkış kitinde bulunan uzaktan kumandaya şimdi ihtiyacınız olacak. Alıcıya yakın tutun ve her bir düğmeye basın. Bir düğmeye bastığınızda, ekrana yazdırılan iki sayı göreceksiniz. Bunlardan biri altı veya yedi haneli bir kod, diğeri ise 3 haneli bir kod olacaktır. Programdaki kodlar sözlüğünü düzenlemeniz gerekecek. 7 haneli kodu programdaki ilgili anahtarın yerine girin ve her açma/kapama düğmesi için 3 haneli kodu (bu uzunluktur) programdaki ilgili anahtarın lenine girin.
Örneğin, açık anahtarın 1234567 kodu, 7654321 kapalı kodu ve 890 uzunluğu varsa, kod şöyle görünür:
kodlar = {
'switch1': { 'on': 1234567, #Bu, anahtar 1 açık 'kapalı': 7654321, #bu, anahtar 1 kapalı 'len': 890, #bu, anahtar 1 kod uzunluğu }, 'switch2': {… }, … }
Bunu her düğme için tekrarlayın. Bu dosyayı düzenlerken, PubNub abone anahtarınıza "YOUR-SUB-KEY" ve yayınlama anahtarınıza "YOUR-PUB-KEY" yazan dizeleri değiştirin.
Her düğme kaydedildikten sonra bir sonraki bölüme devam edebilirsiniz.
Adım 7: Programı Çalıştırma
Artık tüm kodlarınıza sahip olduğunuza göre, bu GitHub sayfasına gidin (Bilgisayarınızda, ahududu pi değil) ve "Klonla veya indir" yazan yeşil düğmeye tıklayın, ardından "ZIP İndir" e tıklayın. Bu dosya indirildikten sonra, sıkıştırmasını açın ve klasörü açın. main.js adlı dosyayı açın. "YOUR-PUB-KEY" i yayın anahtarınızla ve "SUB-KEY" i abone anahtarınızla değiştirerek programa abone olma ve yayınlama anahtarlarınızı girmeniz gerekecektir.
Ardından, Raspberry Pi'nize geri dönün ve
python3 RFControl.py
"Hazır" yazdırdıktan sonra, bilgisayarınıza geri dönün ve karşıt tıklama yaparak index.html dosyasını bir web tarayıcısında açın, "Birlikte Aç"ı seçin ve tercih ettiğiniz tarayıcıyı seçin. Aralarındaki anahtarların adlarıyla birlikte 5 düğmeden oluşan 2 sütun görmelisiniz. Düğmelerden herhangi birine basın. Soketi doğru şekilde kontrol ederse, harika! Değilse, deneyebileceğiniz bazı şeyler şunlardır:
- Raspberry Pi'nin mesaj aldığından emin olun. Web sayfasından bir mesaj aldığında ekrana yazdırmalıdır. Değilse, abone olma/yayınlama anahtarlarınızın doğru olduğundan emin olun.
- Raspberry Pi mesaj alıyorsa, RF kodlarınızın doğru olduğundan emin olun. Prizlerinizin kumandanız ile eşleştiğinden, kumandanızın bunları kontrol edebildiğinden ve programa girdiğiniz kodların doğru olduğundan emin olun.
- RF kodları doğruysa Raspberry Pi'nizin çıkışların menzilinde olduğundan emin olun. Yaklaştırdıktan sonra çalışmaya başlarlarsa, anteninizi yeniden yapmanız gerekebilir.
- Hala çalışmıyorlarsa, lütfen yorumlarda bana sorununuzu söyleyin, ben de yardımcı olmaya çalışacağım.
Adım 8: Başlangıçta Çalıştırma
Python programınızı başlangıçta çalıştırmak için bunu ahududu pi terminalinize girin:
crontab -e
Ardından, dosyanın en altına gidin ve şunu girin:
@reboot python3 /home/pi/RFControl.py &
Bu, Python betiğinizin her seferinde başlangıçta çalışmasını sağlar. Şimdi Raspberry Pi'nizi yeniden başlatın.
9. Adım: Daha Fazla Anahtar Ekleme
Daha fazla çıkış eklemek isterseniz, şu talimatları izleyin:
Raspberry Pi'nizde RFControl.py'yi açın ve anahtarlar sözlüğüne yeni bir anahtar ekleyin.
Örnek:
anahtarlar = {
…diğer anahtarlar… 'ANAHTAR ADI': { 'açık': xxxxxxx, 'kapalı': yyyyyyy, 'len': zzz, }, }
Ardından, bilgisayarınızdaki main.js'deki anahtarlar değişkenini düzenleyerek web uygulamanıza yeni bir düğme ekleyin.
Örnek:
var anahtarları = […eski anahtarlar… ['GÖRÜNTÜLENECEK ADI', 'ANAHTAR ADI'],];
NAME-TO-DISPLAY öğesini web sayfasında görünmesini istediğiniz adla ve her iki dosyada da NAME-OF-SWITCH öğesini istediğiniz herhangi bir adla değiştirin. Yine de diğerlerinden benzersiz olmalı!
Adım 10: Daha İleriye Gitmek
PubNub birçok farklı platformda desteklenir, yani hemen hemen her cihazdan mesaj gönderebilirsiniz! Sesimle komut göndermek için bir Raspberry Pi AIY Ses kiti ve PubNub kullandım, ancak bu daha sonraki bir Eğitilebilir Dersin konusu olabilir. Eğitilebilirliğimi okuduğunuz için teşekkür ederim, umarım yardımcı olmuştur!
Adım 11: Krediler
RF vericisinin kurulumuyla ilgili eğitim için Tim Leland'a teşekkürler: eğitim
Anten oluşturma eğitimi için diy_bloke'a teşekkürler: öğretici
Yardım için görüntülediğim çevrimiçi eğitimleri yayınlayan diğerlerine de teşekkürler!
Önerilen:
Süper HIZLI RC Yer Etkili Araç (Ekranoplan): 5 Adım (Resimli)
Süper HIZLI RC Yer Etkili Araç (Ekranoplan): İniş sırasında uçakların tekerlekleri gerçekten piste çarpmadan önce bir süre yerden birkaç fit yukarıda havada nasıl durduğunu biliyor musunuz? Bu sadece yolculara yumuşak bir iniş sağlamak için değil, aynı zamanda zemin etkisinin doğal bir sonucudur, ki
NodeMCU Sensörler Kontrol Rölesi ile IoT Tabanlı Ev Otomasyonu Nasıl Yapılır: 14 Adım (Resimlerle)
NodeMCU Sensörleri Kontrol Rölesi ile IoT Tabanlı Ev Otomasyonu Nasıl Yapılır: IoT tabanlı bu projede Blynk ile Ev Otomasyonu ve gerçek zamanlı geri beslemeli NodeMCU kontrol rölesi modülü yaptım. Manuel Modda, bu röle modülü Mobil veya akıllı telefondan ve Manuel anahtardan kontrol edilebilir. Otomatik Modda, bu akıllı
Raspberry Pi ile Röle Kartı Kullanarak Ev Otomasyonu: 7 Adım
Raspberry Pi ile Ev Otomasyonu Röle Kartı Kullanarak: Çok sayıda insan büyük rahatlık ama makul fiyatlarla istiyor. Her akşam güneş battığında evleri aydınlatmaya ve ertesi sabah ışıkları tekrar kapatmaya ya da klimayı/Fan/Isıtıcıyı her zamanki gibi açıp kapamaya tembellik ediyoruz
Ev Otomasyonu Entegrasyonu, WiFi ve ESP-NOW ile Pille Çalışan Kapı Sensörü: 5 Adım (Resimlerle)
Ev Otomasyonu Entegrasyonu, WiFi ve ESP-NOW ile Pille Çalışan Kapı Sensörü: Bu talimatta size ev otomasyonu entegrasyonu ile pille çalışan bir kapı sensörünü nasıl yaptığımı gösteriyorum. Başka güzel sensörler ve alarm sistemleri gördüm ama kendim yapmak istedim. Hedeflerim: Bir doo'yu algılayan ve raporlayan bir sensör
Cevapları Etkili Kullanma: 6 Adım (Resimlerle)
Cevapları Etkili Bir Şekilde Nasıl Kullanılır: Eğitilebilir Dosyalardaki her zaman yararlı olan "Cevaplar" işlevi harika. Ancak bu büyüklük aynı zamanda birçok tuzakla da paraleldir. Burada, Cevapların nasıl kullanılması gerektiğini düşündüğüme biraz ışık tutmayı umuyorum -- onu fi için daha etkili bir araç haline getirme çabası