- 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: LED'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ı, ancak akıllı hoparlörleri 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ız gereken 'sormak'. Bu eğitimde, bir LED'i yakmak için Alexa Voice hizmetlerini kullanarak Raspberry Pi GPIO'yu nasıl kontrol edebileceğ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
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 GPIO Kontrolü için Python kodu
Bir LED'i yalnızca sesinizle kontrol etmek istiyorsanız, Bluetooth tabanlı Ses kontrollü LED projemize de göz atın.
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çıklamıştık. İşte, Raspberry Pi GPIO'yu Alexa ile 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 :
İçin Ahududu Pi GPIO kontrol kullanarak bu Alexa Pi, biz yardımına ihtiyacım PubNub piton SDK ve IFTTT. Alexa üzerinden IFTTT'ye komutlar vereceğiz ve PubNub RPi'ye LED'i açıp kapatması için sinyal 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. Raspberry Pi GPIO'yu düşük / yüksek yapmak için, mesajı PubNub'da yayınlamak için IFTTT ve Alexa kullanıyoruz. Bu mesaj Raspberry Pi tarafından alınır ve Pi buna göre LED'i Açar veya Kapatır. Raspberry Pi'de PubNub'ı kurmak için aşağıdaki adımları izleyin:
Adım 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.
Adım 2: Şimdi, PubNub'a gidin ve kimlik bilgilerinizle oturum açın.
Aşama 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, Raspberry Pi GPIO'yu RPi üzerinde çalışan Alexa servisinin aldığı konuşma komutuna göre DÜŞÜK / YÜKSEK yapmak 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 test amaçlı basit bir LED'e ihtiyacımız var. Raspberry Pi GPIO'yu 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, bu yüzden LED 18'inizi aktarın. Bunu python betiğinde değiştirebilirsiniz.
Bölüm 5: LED'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…. AC cihazını kontrol etmek için ayrıca bir röle ekleyebilirsiniz, hatta daha fazla röle ve Raspberry pi'nin daha fazla GPIO pini kullanarak 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.