- Mükemmel Malzeme:
- Bölüm 1: Raspberry Pi'yi SSH ve VNC ile Kurma
- Bölüm 2: Amazon Geliştirici Hesabınızı Kurun ve Raspberry Pi'de Alexa Ses Hizmetlerini Yapılandırın:
- Bölüm 3: Alexa Pi Ev Otomasyonu için PubNub ve IFTTT'yi Ayarlama :
- Bölüm 3-2: Amazon Alexa Hizmeti için IFTTT'yi Kurma:
- Bölüm 4: Donanım bağlantıları ve Devre Şeması:
- Bölüm 5: Işığı Kontrol Etmek İçin Python Kodu:
Hiç sesinizle kontrol edilebilen bir hoparlör düşündünüz mü !!! Ya ev aletlerimizi bu şekilde kontrol edebilir ve bu cihazları daha akıllı hale getirebilirsek? AI ve IoT tabanlı sistemler çağına doğru ilerlerken sesli asistanlar daha popüler hale geliyor. Google Assistant, Apple Siri ve Amazon Alexa hakkında bir şeyler duydunuz. Bunların hepsi Ses tabanlı AI sistemleridir, bunları birbirinden farklı kılan ekosistemleridir ve Amazon Alexa'nın en çok öne çıktığı yer burasıdır. Google, Apple ve Amazon, tüm bu şirketler zaten akıllı hoparlörlerini başlattı ama onları ilk olarak Amazon tanıttı. Amazon yankı, Echo Dot Spot vb. Piyasada bulunan akıllı hoparlörlerdir.
Amazon, çok popüler ses hizmeti Alexa'yı kullanmak için API sağlar. Açık kaynak kodludur ve Github'da mevcuttur. Ayrıca, Alexa'yı Raspberry Pi gibi özel cihazlara kurabilir veya entegre edebilir ve bu cihazda tam Amazon Echo işlevselliğini elde edebilirsiniz.
Alexa ses hizmetini kullanarak müzik çalabilir, hava durumu hakkında bilgi alabilir, bilet rezervasyonu yapabilir ve daha pek çok şey yapabiliriz. Tek yapman gereken sormak. Önceki eğitimde, Amazon Alexa kullanarak Raspberry Pi GPIO'yu kontrol ettik. Bu eğitimde, Amazon Alexa ve Raspberry Pi kullanarak ses kontrollü bir ev otomasyon sisteminin nasıl oluşturulacağını görelim. Alexa Ses Hizmetini çalıştırmak ve bir Ampulü kontrol etmek için Raspberry Pi'yi nasıl kullanabileceğimizi göreceğiz.
Mükemmel Malzeme:
Donanım Gereksinimleri:
- Raspberry Pi 3 veya Raspberry Pi 2 Model B ve SD Kart (8 GB veya üzeri)
- 3,5 mm AUX kablolu Harici Hoparlör
- Herhangi Bir Web Kamerası veya USB 2.0 Mikrofon
- Röle modülü
- LED / AC Ampul
Not: Web kamerasının dahili mikrofonu vardır, bu nedenle bunu USB 2.0 mikrofon yerine kullanacağız.
Yazılım Uygulamaları ve Web Gereksinimleri:
- Alexa Voice Services ile bir hesap kaydedin
- PubNub ile bir hesap kaydedin
- IFTTT ile bir hesap kaydedin
Ayrıca Raspberry pi'nizin bir Raspbian işletim sistemi ile kurulmuş ve internete bağlı olduğunu varsayıyoruz. Bunlar yerinde olduğunda öğreticiye devam edelim. Raspberry Pi'de yeniyseniz, önce Raspberry pi'ye Başlarken bölümüne gidin.
Eğitimin tamamı temel olarak aşağıdaki gibi 5 bölüme ayrılmıştır:
- Monitörünüz yoksa Raspberry Pi'yi SSH ve VNC ile kurmalıyız, ayrıca USB Mikrofon bağlantısını da kontrol etmeliyiz.
- Amazon Geliştiricinizi kurun ve Alexa'yı Raspberry Pi'ye yükleyin
- Alexa Ev Otomasyonu için PubNub ve IFTTT'yi Kurma
- Donanım bağlantısı
- Alexa Pi Ev Otomasyonu için Python kodu
Öyleyse başlayalım !!
Bölüm 1: Raspberry Pi'yi SSH ve VNC ile Kurma
Öncelikle Raspberry Pi'yi SSH ve VNC ile bağlayacağız. Bunun için resmi Raspberry Pi'nin web sitesindeki eğitimleri takip etmek için bağlantılar aşağıda verilmiştir.
SSH için: SSh bağlantısı
VNC için: VNC bağlantısı
Monitörünüz varsa, bu adımdan çıkıp doğrudan Alexa Ses Hizmetini (Avs) Ayarlama olan 2. adıma geçebilirsiniz. Bundan önce mikrofon bağlantısını kontrol etmeliyiz.
Raspberry Pi ile Web Kamerası Mikrofonunu Kontrol Etme:
1. Raspberry Pi terminalini açın ve arecord -l komutunu yazın. Bu, Raspberry Pi'ye bağlı olan donanım cihazlarını aşağıda gösterildiği gibi gösterecektir:
Kart 1, web kameranızın kullanacağımız mikrofonudur. Görüntülenmiyorsa, web kameranız bozuk olabilir.
2. Şimdi, ses kaydı komutunu şu şekilde çalıştırarak mikrofonun çalışıp çalışmadığını kontrol edin:
arecord /home/pi/Desktop/test.wav -D sysdefault: KART = 1
3. Kaydedilen sesi çalmak için şu komutu yazın:
omxplayer -p -o local /home/pi/Desktop/test.wav
Raspberry Pi'yi HDMI kablosu kullanarak monitöre bağladıysanız, varsayılan olarak ses çıkışı monitörünüzün hoparlöründen yapılır (içinde dahili hoparlör varsa). Yani, 3,5 mm olarak değiştirmek için aşağıdaki komutu yazmanız gerekir:
sudo raspi-config ve Gelişmiş seçeneğine gidin.
Listeden Ses'i seçin -> 3,5 mm'ye Zorla'yı seçin -> Tamam'ı seçin ve Raspberry Pi'yi Yeniden Başlat'ı seçin.
Şimdi, sesi 3,5 mm jaktan duymalısınız.
NOT: Mikrofon için giriş ses yüksekliğini artırmak veya azaltmak isterseniz, terminalde aynı zamanda mikser yazın. F6'ya basarak terminalden ses kartını seçin.
Mic dB kazancını değiştirmek ve istediğiniz gibi ayarlamak için F4'e basın.
USB 2.0 mikrofonunuz varsa, mikrofonu kontrol etmek için izlenen adımlar aynıdır. Burada USB mikrofon için Webcam kullandık.
Bölüm 2: Amazon Geliştirici Hesabınızı Kurun ve Raspberry Pi'de Alexa Ses Hizmetlerini Yapılandırın:
Bunu, bir Amazon Echo akıllı hoparlörü oluşturduğumuz önceki eğitimimizde ayrıntılı olarak açıkladık. İşte Alexa ile Ev Aletlerini kontrol etmeye odaklanıyoruz, bu yüzden tüm süreci tekrar açıklamıyoruz, bu yüzden önceki makaleyi okuyun ve Raspberry pi'nize kurulu Alexa ses hizmetleri ile Hoparlörünüzü hazırlayın.
Alexa'yı test etmek için ismini söyleyerek onu uyandırmanız yeterli! Eğitimin sonunda Verilen Demo Videoyu kontrol edin.
Çalışıp çalışmadığını kontrol etmek için ona şehrinizin sıcaklığını sorabilirsiniz.
Bölüm 3: Alexa Pi Ev Otomasyonu için PubNub ve IFTTT'yi Ayarlama :
Bina için bu Alexa Pi kullanarak ev otomasyon sistemi, biz yardımına ihtiyacım PubNub piton SDK ve IFTTT. Alexa üzerinden IFTTT'ye komutlar vereceğiz ve PubNub RPi'ye ışığı Açma / Kapama sinyalini veriyor. Bu yüzden önce PubNub'ı Raspberry Pi'ye kuracağız.
Bölüm 3-1: PubNub Python SDK'yı Yükleme:
PubNub, Global ağlarında herhangi bir mesajı yayınlamak / abone olmak için bir mesajlaşma API'si sağlar. Burada İletiyi Açmak / Kapatmak için IFTTT ve Alexa'yı PubNub'da yayınlamak için kullanıyoruz. Bu mesaj Raspberry Pi tarafından alınır ve Pi buna göre Işığı Açar veya Kapatır. Raspberry Pi'de PubNub'ı kurmak için aşağıdaki adımları izleyin:
1. RPi'nizdeki terminali açın ve SDK'yı yüklemek için aşağıdaki komutu çalıştırın:
sudo pip yükleme pubnub == 3.9.0
Sadece 3.9.0 sürümünü kurun, diğer sürüm son olarak çalıştıracağımız python betiği ile çalışmayacaktır.
2. Şimdi PubNub'a gidin ve kimlik bilgilerinizle oturum açın.
3. Daha sonra kullanacağımız Yayınlama ve Abone Olma Anahtarlarını edinin.
Bölüm 3-2: Amazon Alexa Hizmeti için IFTTT'yi Kurma:
IFTTT, kullanıcıların Gmail, Facebook, Instagram ve gibi diğer web hizmetlerindeki değişikliklere göre tetiklenen "tarifler" adı verilen basit koşullu ifadeler zincirleri oluşturmasına olanak tanıyan ücretsiz bir web tabanlı hizmettir. IFTTT, "If This Then That" ifadesinin kısaltmasıdır.
Bu proje için IFTTT, RPi üzerinde çalışan Alexa servisi tarafından alınan konuşma komutuna göre ışık anahtarı açma / kapama komutlarını tetiklemek için kullanılır.
Bir Applet yapmak için şu adımları izleyin:
Adım 1: - Kimlik bilgilerinizle IFTTT'ye giriş yapın veya hesabınız yoksa Kaydolun .
Adım 2: - Uygulamalarım'da Yeni Uygulamaya tıklayın
3. Adım: - + buna tıklayın
Adım 4: - Amazon Alexa'da arama yapın ve üzerine tıklayın, amazon geliştirici hesabı bilgilerinizle oturum açın.
Adım 5: - Tetikleyiciyi seçin, belirli bir cümle söyleyin
Adım 6: - sağlayın “ Işığı dönüş” ile ilgili tıklayın, ifade olarak Tetikleyici Oluşturma.
7. Adım: - + şuna tıklayın
Adım 8: - ara , Webhooks tıklayın kendisine ve Seç bir Web isteği oluştur
Adım 9: - Webhooks, REST WEB İsteğini sağlar, PubNub'dan elde edilen Yayınlama ve Abone Olma anahtarlarını kullanın ve aşağıdaki URL'yi değiştirin.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
Adım 10: - Değiştirilen URL'yi URL metin kutusuna yapıştırın.
Adım 11: - Metodu GET, İçeriği application / json olarak ayarlayın ve kaydet'e tıklayın .
Adım 12: - " Işığı kapat " tetikleyicisini oluşturmak için aynı adımları izleyin ve URL'yi aşağıdaki şekilde değiştirin.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
Adım 13: - Artık demo için tüm web bileşenlerine hazırız.
Bölüm 4: Donanım bağlantıları ve Devre Şeması:
Bu proje için bir Röle Modülüne ve AC ampulüne veya başka bir AC bileşenine ihtiyacımız var veya test amacıyla basit LED kullanabilirsiniz. AC Cihazı Amazon Alexa ile kontrol etmek için devre şeması ve Donanım bağlantıları aşağıdadır.
Python betiğimizde GPIO18'i kullanacağız, böylece röleyi GPIO 18'e bağlayacağız. Bunu python betiğinde değiştirebilirsiniz.
Bölüm 5: Işığı Kontrol Etmek İçin Python Kodu:
Bu eğitimin sonunda Python Komut Dosyasının tamamını bulun.
Python kodundaki pubnub anahtarlarınızla Pub ve Sub anahtarını düzenlemeniz gerekir.
# Pubnub Anahtarlarını başlatın pub_key = "***************************" sub_key = "*********** ************* "
Şimdi Komut Dosyasını çalıştırın
python alexaRpi.py
Şimdi hepimiz demo için hazırız, Devam etmeden önce Bölüm 1'deki üç hizmeti (üç terminal) çalıştırdığınızdan emin olun.
Herhangi bir komut vermek için, her komut göndermek istediğinizde "Alexa" yı arayarak Alexa servisini uyandırmanız gerekir. Bir bip sesi duyacaksınız. Bip sesini duyduğunuzda, “ Alexa Trigger Işığı Açın. Bir dakika içinde ışığın Yandığını görebilirsiniz. Ve sonra " Alexa Tetikleyici Işığı Kapat " derseniz, ışık SÖNMELİDİR.
Bu kadar…. Python betiğine RPi'nin diğer GPIO pinlerini ekleyerek daha fazla AC cihazı ekleyebilir ve akıllı ev otomasyon sisteminizle birçok cihazı kontrol edebilirsiniz.
Aşağıdaki tam kodu ve Gösteri Videosunu kontrol edin. Ayrıca tüm Ev Otomasyon Projelerimizi buradan kontrol edin.