İçindekiler:

Raspberry Pi ile Ucuz ve Etkili Ev Otomasyonu: 11 Adım (Resimlerle)
Raspberry Pi ile Ucuz ve Etkili Ev Otomasyonu: 11 Adım (Resimlerle)

Video: Raspberry Pi ile Ucuz ve Etkili Ev Otomasyonu: 11 Adım (Resimlerle)

Video: Raspberry Pi ile Ucuz ve Etkili Ev Otomasyonu: 11 Adım (Resimlerle)
Video: SMS ile Ev Otomasyonu (Akıllı Ev Sistemleri) - Arduino GSM Shield Kullanımı & Kodlar 2024, Kasım
Anonim
Raspberry Pi ile Ucuz ve Etkili Ev Otomasyonu
Raspberry Pi ile Ucuz ve Etkili Ev Otomasyonu
Raspberry Pi ile Ucuz ve Etkili Ev Otomasyonu
Raspberry Pi ile Ucuz ve Etkili Ev Otomasyonu
Raspberry Pi ile Ucuz ve Etkili Ev Otomasyonu
Raspberry Pi ile Ucuz ve Etkili Ev Otomasyonu

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?

Neye ihtiyacınız olacak
Neye ihtiyacı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

Çıkışları Ayarlayın
Çıkışları Ayarlayın
Satış Noktalarını Ayarlayın
Satış Noktalarını 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

Devre Oluşturma
Devre Oluşturma
Devre Oluşturma
Devre Oluşturma
Devre Oluşturma
Devre 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

RF Kodlarınızı Alın
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

Programı Çalıştırmak
Programı Çalıştırmak

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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 Anahtar Ekleme
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

Daha da ileri götürmek
Daha da ileri götürmek

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: