Mündəricat:

Alexa Səsli İdarəetmə TV Uzaqdan ESP8266: 9 Addım
Alexa Səsli İdarəetmə TV Uzaqdan ESP8266: 9 Addım

Video: Alexa Səsli İdarəetmə TV Uzaqdan ESP8266: 9 Addım

Video: Alexa Səsli İdarəetmə TV Uzaqdan ESP8266: 9 Addım
Video: SONOFF L2 - Wi-Fi və bluetooth ilə RGB LED zolağı, Ewelink, Google Home, Home Assistant 2024, Noyabr
Anonim
Alexa Səs İdarəetmə TV Uzaqdan ESP8266
Alexa Səs İdarəetmə TV Uzaqdan ESP8266

Evinizdə kimsə pultu itirirsə, boş bir otağa girirsiniz ki, televizor çalır. Batareyalar sıradan çıxmağa başlayır və otağın arxasından idarə olunmur. İndi televizorunuzu, DVR -nı, İQ -lə idarə edə biləcəyiniz hər şeyi idarə edə bilərsiniz. SKY DVR -ni sadə bir səs interfeysi ilə idarə etmək üçün bu sistemi etdim.

Tələb olunan Avadanlıq:

  1. Amazon Echo və ya Dot
  2. İrəli yönləndirə bilən bir WiFi yönləndiricisi (xidmət təminatçım bunu mənim üçün etdi)
  3. Bir Arduino NANO 3V3 -ə çevrildi
  4. ESP8266 -01 və ya bənzəri
  5. IR ötürücü modulu və ya dövrə
  6. Kodları çəkmək istəyirsinizsə IR qəbuledici modulu.

Tələb olunan proqram və xidmətlər:

  1. Arduino IDE, 1.6.11 istifadə etdim
  2. Amazon Alexa bacarıqları hesabı (pulsuz)
  3. Amazon AWS hesabı (Pulsuz səviyyəli, lakin hesab açmaq üçün kredit kartı tələb edir) və ya alternativ server.

Addım 1: Alexa Bacarıqlarının Qurulması

Alexa Bacarıqlarının Quraşdırılması
Alexa Bacarıqlarının Quraşdırılması
Alexa Bacarıqlarının Quraşdırılması
Alexa Bacarıqlarının Quraşdırılması
Alexa Bacarıqlarının Quraşdırılması
Alexa Bacarıqlarının Quraşdırılması

Alexas bacarıq dəsti səs əmrini alır və 'dəyərlər' siyahısından istifadə edərək süzür.

Qeydiyyatdan keçdikdən sonra:

Amazon Developer konsolunda Alexa nişanı> Alexa Bacarıqlar Kitini seçin [Başlayın]

[Yeni bir bacarıq əlavə edin]

Bacarıq növü: Xüsusi qarşılıqlı əlaqə modeli

Dil: doğru olanı seçin, bu İngilis (ABŞ) olaraq təyin olunanda cavab verməzdi!

Ad: dərc etmədiyimiz üçün bu indi vacib deyil.

Çağırış Adı:, qısa bir ad seçin, tətbiqi açmaq üçün istifadə etdiyi söz.

[Növbəti]

Niyyət Şeması, kodu yapışdırın

Xüsusi Slot Növləri {Yuva Növü əlavə et], EFFECT_ON_TV daxil edin

Slot dəyərlərində kodu yapışdırın

Nümunə ifadələr, qoyun, TVCommandIntent tv {TVAction}

[SAVE], növbəti bacarıqlar səhifəsində, "Niyyət" ya tətbiqin başlanğıc sözü "tıklayıcı" ya da bundan sonra "tv {slot value}" tərəfindən tetiklendiğinde çalışacağımız koda bir keçid əlavə etməliyik..

Lambda server python skriptini qurduqdan sonra Alexa'ya qayıdacağıq.

Addım 2: AWS Lambda Server Python Script

Pulsuz AWS Tier -ə qeydiyyatdan keçin, bunun mənə real pula başa gələ biləcəyindən narahat idim, ancaq bir müddət istifadə etdikdən və forumları oxuduqdan sonra istifadə məhdudiyyətləri şəxsi və inkişaf istifadəsi üçün o qədər yüksəkdir ki, heç bir ödəniş nöqtəsinə çatmamalıdır. Öz HTTPS serverinizi istifadə etmək üçün bir alternativ var və bəlkə də bu esp8266 -nın edə biləcəyi bir şeydir, başqa bir təlimat!

Bu, Çağırış Adı deyildikdə işləyən koddur (məsələn, "Alexa open clicker") və Alexa'dan sehrli söz alır. Tətbiq başladıqdan sonra yalnız "tv play, tv jump five" deməlisiniz və Alexa bu python skriptinə "play", "5 jump" göndərəcək. Tətbiq bir müddət sonra heç bir cavab vermirsə, zaman aşımına uğrayır.

AWS Xidmətlərində əvvəlcə yerinizi seçin, yuxarı sağda bir seçim var.

ABŞ üçün N Virginia, AB üçün İrlandiya seçin.

Compute başlığından Lambda seçin.

[Lambda funksiyası yaradın]

[Boş funksiya]

Tətiyi konfiqurasiya edin: nöqtəli qutuya vurun və Alexa Bacarıqlar Kitini seçin

[Növbəti]

Funksiyanı konfiqurasiya edin

İstədiyinizi adlandırın

Təsvir, sizə aiddir

İşləmə: Python 2.7

python kodunu yapışdırın,

kodda URL HTTP ünvanı daha sonra öz xarici ip ünvanınıza dəyişdirilməlidir

link = "https://185.255.255.255:777/text?data=" + sevimli_rəng

Ekranda aşağı bir rol var, nişanı vurun və xüsusi bir rol seçin

Bu yeni bir ekran açacaq və icazə ver düyməsini basacaq. Mövcud rol olaraq seçilmiş Lamda əsas icra ilə Konfiqurasiya funksiyası ekranına qayıdır.

[NÖVBƏTİ] nəzərdən keçirin, [Funksiya Yarat] düyməsini vurun və tərtib etməli və sizə ARN nömrəsi verməlidir. Bu kodu kopyalayın və alexa bacarıq dəstinə qoyacağıq.

Addım 3:

Addım 4: Alexa Skills Kit Linkini AWS Lambda olaraq təyin edin

Alexa Bacarıqlar Kitini Linkini AWS Lambda olaraq təyin edin
Alexa Bacarıqlar Kitini Linkini AWS Lambda olaraq təyin edin

Alexa bacarıq dəstində, Global Fields başlıqlı Konfiqurasiya səhifəsini seçin və AWS Lambda və bölgənizi seçin və ARN kodunu [NEXT] qutusuna yapışdırın, testdə ENABLED seçildi.

BİZ indi burada, indi bəzi avadanlıqlar üçün hazırıq.

Addı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 -dən işləyir, buna görə ya onu xarici tənzimləyicidən idarə edirsiniz, ya da bir nanonu çevirirsiniz. CH340 usb çipli bir klon nano istifadə etdim. Bildiyim iki fərqli pcb planım var, amma inşallah bu əksər planları əhatə edəcək.

5V tənzimləyicisini 3v3, 1117-3 uyğun bir pinlə əvəz etməliyik. sonra 5V -ni usb yuvasından yalnız tənzimləyiciyə yönəldin və qalan hər şeyi çıxışına qoşun. xoşbəxtlikdən, tənzimləyicini əvəz edən giriş diodunun çıxarılması və diodun giriş tərəfindən bir telin nano lövhədə Vin əlavə edilməsi ilə əldə edilə bilər.

dönüşümdən sonra nanonu proqramlaşdıra biləcəyinizi yoxlayın.

Addım 6: NANO Kodu

NANO kodu
NANO kodu
NANO kodu
NANO kodu

Bu SKY UK uzaqdan idarəetmə cihazım üçün istifadə olunan kodlar, modelə xas ola bilər və kodlarınızın esp8266 ilə əlaqəli olmayan ayrı bir eskizdə işlədiyini yoxlamağa dəyər.

IRremote kitabxanasından shirriff Version 2.0.1 istifadə etdim

IR qəbuledici modulu tələb edən uzaqdan əmrləri çəkmək üçün IRrecord nümunəsini istifadə edin və ya kodlarınızı internetdə tapa bilərsiniz? Buraya girməyəcəyəm, amma nəyi və necə idarə edəcəyinizi seçə biləcəyiniz yer budur.

Ebayda mövcud olan bir IR ötürücüsünü bağlayın və ya birini qurun. Alıcılarda ən çox yayıldığı üçün 850nm IR LED istifadə etməlisiniz. IR kitabxanası T3 pin olaraq D3 -dən istifadə etdi

Alexa sözü nanoya keçdi, buna görə də buradan səs idarəetmə ilə nanosu.

Addım 7: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Bir çox ESP8266 modulu var, mikroskop altında tel bağlamaq məcburiyyətində qaldığım birini istifadə etdim, ESP8266-01-də 2x4 başlıq və ehtiyac duyduğunuz bütün sancaqlar var və ucuzdur. Vebdə çoxlu nümunələr,. Gəzişlərim, GPIO_0 -nı proqramlaşdırma zamanı gnd -ə qoşulması lazımdır (daha sonra üzə bilər), onun konfiqurasiya pimi, daxildə yüksək çəkilmişdir. Proqramlaşdırıldıqdan sonra GPIO_0-un üzməsinə və yenidən güclənməsinə icazə verin. CHPD daimi olaraq V+ -ya qoşulur.

Arduino 1.6.11 -də idarə heyətinin esp8622 bağlantısı yoxdur, Arduino IDEfile> üstünlüklər> Əlavə İdarəçi URL -lərinə əlavə edin:

arduino.esp8266.com/stable/package_esp8266c…

sonra idarə heyəti menecerinə gedin və esp8266 paketini tapın. bu indi sizə esp8266 lövhələrinin böyük bir siyahısını verməlidir, Alətlər> Kart> ESP8266 Ümumi Modulu seçin. Uart modulunu istifadə etmək üçün indi esp hissəsini esp8266_server_text ilə proqramlaşdıra bilərsiniz. 3V3 ilə güc, TX-RX, RX-TX və Gnd qoşun.

Şəbəkə SSID və şifrənizi skriptə və port yönləndirmə üçün quracağınız porta daxil etməlisiniz, məsələn 777.

USB-ni uart çeviriciyə bağlayarkən və arduino seriya pəncərəsində (9600 baud) esp modulunun yerli ip ünvanını göstərməli olduğu halda, esp-i yenidən gücləndirərək kodu işlədə bilərsiniz. kodu daxil edin və yenidən proqramlaşdırın.

Addım 8: Şəbəkə Quraşdırması

Şəbəkə Quraşdırması
Şəbəkə Quraşdırması
Şəbəkə Quraşdırması
Şəbəkə Quraşdırması

Lambda URL zənginin ESP HTTP serverinə qoşulmasına icazə vermək üçün marşrutlaşdırıcınızı liman yönləndirməsinə qurmalıyıq. Xarici ip ünvanımı https://www.whatsmyip.org/ saytından aldım, mikrodalğalı bir linkdəyəm, buna görə provayderimdə router var və onlardan liman yönləndirməsini tələb etməliyəm. ESP8266 -nın IP ünvanını şəbəkəmdə və seçdiyim portda verməliydim, məsələn 777. Xarici IP ünvanını lambda python skriptinə daxil etmək lazımdır və esp8266 kodunu işlədərkən yerli esp ünvanınız göstəriləcək. usb to uart linki.

USB -dən Uart -a keçiddə olan ESP modulu lambda -dan gələn sözü terminalda göstərməlidir.

ESP -ni 3v3, gnd və TX -də göstərildiyi kimi nano D2 yumşaq seriyasına bağlayın. usb -də nano -nu epc -də serial əlaqəli bir ekrana sahibsinizsə, esp -dən nə aldığını göstərməlidir.

ESP şəbəkəyə bağlı deyilsə və ya lambdanın URL zənginə cavab vermirsə, lambda zaman aşımına uğrayacaq və Alexa uğursuz bir bacarıq cavabını bildirir

Addım 9: Alexa Open Clicker Tv Pause

Alexa Açıq Tıklayıcısı Tv Pause
Alexa Açıq Tıklayıcısı Tv Pause

Modulu qəbuledicinin yanına qoydum, amma daha yüksək gücə malik İR çıxışı ilə otaqda hər yerdə ola bilər. Usb vasitəsilə güc vermək üçün tanınmış bir marka usb güc adapterindən istifadə edirəm.

Arxaya oturun və "Alexa open Clicker" deyin

Televizor bələdçisi

tv aşağı enir

tv seçin

televiziya oyunu

tv beş atlama

müəyyən bir neçə dəqiqə irəli atlanmaq üçün makrolar istədiyiniz vaxt gözləyin və sonra oynayaraq 30 dəfə gedəcək.

İngiltərə reklamları təxminən beş dəqiqədir.

Tətbiqdən çıxmaq üçün Alexa -dan çıxın deyin.

Zövq alın.

Tövsiyə: