İçindekiler:

Alexa Ses Kontrolü TV Uzaktan Kumandası ESP8266: 9 Adım
Alexa Ses Kontrolü TV Uzaktan Kumandası ESP8266: 9 Adım

Video: Alexa Ses Kontrolü TV Uzaktan Kumandası ESP8266: 9 Adım

Video: Alexa Ses Kontrolü TV Uzaktan Kumandası ESP8266: 9 Adım
Video: Arduino Röle ve IR Kumanda ile Şerit LED Kontrolü | Akıllı Ev Otomasyonu #2 2024, Temmuz
Anonim
Alexa Ses Kontrolü TV Uzaktan Kumandası ESP8266
Alexa Ses Kontrolü TV Uzaktan Kumandası ESP8266

Evinizde uzaktan kumandayı kaybeden biri var mı, boş bir odaya girip TV'nin patladığını mı buluyorsunuz? Piller bozulmaya başlıyor ve odanın arkasından kontrol yok. Artık TV'nizi, DVR'nizi, IR sinyalini yakalayabileceğiniz IR kontrolü ile her şeyi kontrol edebilirsiniz. SKY DVR'ımı basit bir ses arayüzü ile kontrol etmek için bu sistemi yaptım.

Gerekli Donanım:

  1. Amazon Eko veya Nokta
  2. Yönlendirebilen bir wifi yönlendirici (servis sağlayıcım bunu benim için yaptı)
  3. 3V3'e dönüştürülen bir Arduino NANO
  4. ESP8266 -01 veya benzeri
  5. IR verici modülü veya devresi
  6. Kodları yakalamak istiyorsanız IR alıcı modülü.

Gerekli Yazılım ve hizmetler:

  1. Arduino IDE, 1.6.11 kullandım
  2. Amazon Alexa beceri hesabı (ücretsiz)
  3. Amazon AWS hesabı (Ücretsiz katman ancak hesap açmak için kredi kartı gerekir) veya alternatif sunucu.

Adım 1: Alexa Becerileri Kurulumu

Alexa Becerileri Kurulumu
Alexa Becerileri Kurulumu
Alexa Becerileri Kurulumu
Alexa Becerileri Kurulumu
Alexa Becerileri Kurulumu
Alexa Becerileri Kurulumu

Alexas beceri seti sesli komutu alır ve bir 'değerler' listesi kullanarak onu filtreler.

Kayıt olduktan sonra:

Amazon Developer konsolunda, Alexa sekmesi > Alexa Skills Kit [Başlayın] öğesini seçin.

[Yeni bir Beceri ekle]

Beceri türü: Özel Etkileşim Modeli

Dil: doğru olanı seçin, bu İngilizce (ABD) olarak ayarlandığında yanıt vermez!

İsim: Yayınlamadığımız için bu önemli değil.

Çağrı Adı:, kısa bir ad seçin, bu, uygulamayı açmak için kullanılan kelimedir.

[SONRAKİ]

Amaç Şeması, kodu yapıştırın

Özel Yuva Türleri {Yuva Türü Ekle], EFFECT_ON_TV girin

Yuva değerlerinde kodu yapıştırın

Örnek ifadeler, put, TVCommandIntent tv {TVAction}

[KAYDET], bir sonraki beceri sayfasında, "Niyet", uygulama başlangıç kelimesi "tıklayıcı" veya bundan sonra "tv {slot değeri}" tarafından tetiklendiğinde çalıştıracağımız koda bir bağlantı eklemeliyiz..

Lambda sunucusu python betiğini kurduktan sonra Alexa'ya geri döneceğiz.

2. Adım: AWS Lambda Sunucusu Python Komut Dosyası

AWS'nin Ücretsiz Katmanına kaydolun, bunun bana gerçek paraya mal olabileceğine dair endişelerim vardı, ancak bir süre kullandıktan ve forumları okuduktan sonra, kişisel ve geliştirme amaçlı kullanım için kullanım limitleri o kadar yüksek ki, asla bir ücret noktasına ulaşmamalı. Kendi HTTPS sunucunuzu kullanmanın bir alternatifi var ve belki de bu esp8266'nın yapabileceği bir şey, başka bir talimat verilebilir!

Bu, Çağrı Adı söylendiğinde (örneğin "Alexa açık tıklayıcısı") çalışan ve sihirli kelimeyi Alexa'dan aldığında çalışan koddur. Uygulama başlatıldıktan sonra sadece "tv oynat, tv atlama beş" demeniz yeterlidir ve Alexa bu python komut dosyasına "oynat", "atla 5" gönderir. Bir süre sonra yanıt vermezse uygulama zaman aşımına uğrar.

AWS Servislerinde önce konumunuzu seçin, sağ üstte bir seçenek var.

ABD için N Virginia'yı seçin, AB için İrlanda'yı seçin.

Hesaplama başlığından Lambda'yı seçin.

[Bir Lambda İşlevi Oluşturun]

[Boş İşlev]

Tetikleyiciyi yapılandırın: noktalı kutuya tıklayın ve Alexa Skills Kit'i seçin

[SONRAKİ]

İşlevi Yapılandır

ne istersen isim ver

Açıklama size kalmış

Çalışma Zamanı: Python 2.7

python koduna yapıştırın,

kodda, URL HTTP adresinin daha sonra kendi harici ip adresinizle değiştirilmesi gerekecektir

link="https://185.255.255.255:777/text?data=" + favori_renk

ekranın altında bir ROL var, sekmeye tıklayın ve Özel bir Rol Seç'i seçin

Bu, yeni bir ekran açacak ve izin ver'i tıklatacak, Lamda temel yürütmesi Mevcut rol olarak seçiliyken İşlevi Yapılandır ekranına geri döner.

[SONRAKİ] gözden geçirme, [Create Function] düğmesine basın ve derlemeli ve size bir ARN numarası vermelidir. Bu kodu KOPYALAYIN ve onu alexa skill setine koyalım.

Aşama 3:

4. Adım: Alexa Skills Kit Bağlantısını AWS Lambda'ya ayarlayın

Alexa Skills Kit Bağlantısını AWS Lambda'ya ayarlayın
Alexa Skills Kit Bağlantısını AWS Lambda'ya ayarlayın

Alexa beceri setinde, Global Fields başlıklı Yapılandırma sayfasını seçin ve AWS Lambda'yı ve bölgenizi seçin ve ARN kodunu [SONRAKİ] kutusuna yapıştırın, testte, ETKİN'in seçili olduğunu kontrol edin.

Şimdilik burada işimiz bitti, şimdi bazı donanımlar için.

Adım 5: Arduino NANO 3V3 Dönüşümü

Arduino NANO 3V3 Dönüşümü
Arduino NANO 3V3 Dönüşümü
Arduino NANO 3V3 Dönüşümü
Arduino NANO 3V3 Dönüşümü

ESP8266, 3v3'ten çalışır, bu nedenle onu harici bir düzenleyiciden çalıştırırsınız veya bir nano'yu dönüştürürsünüz. CH340 usb çipli bir klon nano kullandım. Bildiğim iki farklı pcb düzenim var ama umarım bu çoğu düzeni kapsayacaktır.

5V regülatörü pin uyumlu 3v3 one, 1117-3 ile değiştirmemiz gerekiyor. daha sonra 5V'yi usb soketinden sadece regülatöre yönlendirin ve diğer her şeyi çıkışına bağlayın. Neyse ki bu, regülatörün yerini alan giriş diyotunun çıkarılması ve diyotun giriş tarafından nano kart üzerindeki Vin'e bir tel eklenmesiyle başarılabilir.

dönüşümden sonra nano'yu programlayabileceğinizi kontrol edin.

Adım 6: NANO Kodu

NANO Kodu
NANO Kodu
NANO Kodu
NANO Kodu

Bu, SKY UK uzaktan kumandam için kullanılan kodları, modele özel olabilir ve kodlarınızın çalışmasını esp8266 ile bağlantılı olmayan ayrı bir çizimde kontrol etmeye değer.

IRremote kitaplığını shirriff Sürüm 2.0.1 ile kullandım

Bir IR alıcı modülü gerektiren uzak komutları yakalamak için IRrecord örneğini kullanın, yoksa kodlarınızı web'de mi bulabilirsiniz? Burada buna girmeyeceğim ama burada neyi kontrol edeceğinizi ve nasıl yapacağınızı seçebilirsiniz.

Ebay'de bulunan bir IR vericisini bağlayın veya bir tane oluşturun. 850nm IR led kullanmalısınız çünkü bunlar alıcılarda en yaygın olanlarıdır. IR kitaplığı, D3'ü TX pini olarak kullandı

Alexa kelimesi nano'ya geçer, yani buradan ses kontrolü ile nano'ya geçer.

Adım 7: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Bir çok ESP8266 modülü var, bir tanesini mikroskop altında bağlamak zorunda kaldım, ESP8266-01'de 2x4 başlık ve ihtiyacınız olan tüm pinler var ve ucuz. Web'de bir sürü örnek,. Açmalarım, GPIO_0'ın güç açma sırasında gnd'ye bağlanması gerekiyor (daha sonra yüzdürülebilir), programlama sırasında dahili olarak yükseğe çekilen bir yapılandırma pini. Programlandıktan sonra GPIO_0'un yüzmesine ve yeniden çalışmasına izin verin. CHPD, V+'a kalıcı olarak bağlanır.

Arduino 1.6.11'deki yönetim kurulu yöneticisi esp8622 bağlantısına sahip değil, Arduino IDEfile>preferences>ek Board Manager URL'lerinde şunu ekleyin:

arduino.esp8266.com/stable/package_esp8266c…

daha sonra yönetim kurulu yöneticisine gidin ve esp8266 paketini bulun. bu şimdi size esp8266 panolarının büyük bir listesini vermelidir, Araçlar>Pano>ESP8266 Genel Modül'ü seçin. Bir usb to uart modülü kullanarak artık esp bölümünü esp8266_server_text ile programlayabilirsiniz. 3V3 ile güç sağlayın, TX-RX, RX-TX ve Gnd'yi bağlayın.

Komut dosyasına ağ SSID'nizi ve parolanızı ve bağlantı noktası yönlendirme için ayarlayacağınız bağlantı noktasını girmeniz gerekir, örneğin 777.

Kodu, usb'den uart dönüştürücüye bağlıyken esp'ye yeniden güç vererek çalıştırabilirsiniz ve arduino seri penceresi (9600 baud) esp modülünün yerel ip adresini göstermelidir. bunu koda girin ve yeniden programlayın.

Adım 8: Ağ Kurulumu

Ağ kurulumu
Ağ kurulumu
Ağ kurulumu
Ağ kurulumu

Lambda URL çağrısının ESP HTTP sunucusuna bağlanmasına izin vermek için yönlendiricinizi bağlantı noktası iletmeye ayarlamamız gerekir. Harici ip adresimi https://www.whatsmyip.org/ adresinden aldım, bir mikrodalga bağlantısındayım, bu yüzden sağlayıcımda yönlendirici var ve onlardan bağlantı noktası iletmeyi istemek zorunda kaldım. Ağımdaki ESP8266'nın IP adresini ve seçtiğim portu vermek zorunda kaldım, örneğin 777. Harici IP adresinin lambda python betiğine girilmesi gerekiyor ve esp8266 kodunu çalıştırdığınızda yerel esp adresiniz gösterilecek. usb'den uart'a bağlantı.

Usb'den uart'a bağlantıdaki ESP modülü, lambda'dan gelen kelimeyi bir terminalde göstermelidir.

ESP'yi nano'ya gösterildiği gibi 3v3, gnd ve TX'i nano D2 yumuşak seriye bağlayın. Eğer usb'de nano'ya sahipseniz, epc'de bir seri iletişim ekranına sahipseniz, esp'den ne aldığını göstermelidir.

ESP ağa bağlı değilse veya lambda'dan gelen URL çağrısına yanıt vermezse, lambda zaman aşımına uğrar ve Alexa başarısız bir beceri yanıtı bildirir

Adım 9: Alexa Open Clicker Tv Duraklatma

Alexa Açık Clicker Tv Duraklatma
Alexa Açık Clicker Tv Duraklatma

Modülü alıcının yanına koydum ancak daha yüksek güçlü IR çıkışı ile odanın herhangi bir yerinde olabilir. Gücü usb üzerinden beslemek için bilinen bir marka usb güç adaptörü kullanıyorum.

Arkanıza yaslanın ve "Alexa Open Clicker" deyin

TV Rehberi

televizyon kapanıyor

tv seçimi

televizyon oyunu

tv atlama beş

Belirli bir dakika kadar ileri atlamak için makrolar 30x'e gider, istenen süreyi bekleyin ve ardından oynatın.

İngiltere reklamları yaklaşık beş dakikadır.

Uygulamadan çıkmak için Alexa çıkın deyin.

Eğlence.

Önerilen: