Բովանդակություն:

Alexa Voice Control TV Remote ESP8266: 9 քայլ
Alexa Voice Control TV Remote ESP8266: 9 քայլ

Video: Alexa Voice Control TV Remote ESP8266: 9 քայլ

Video: Alexa Voice Control TV Remote ESP8266: 9 քայլ
Video: Smart Home with Google Assistant & Alexa using NodeMCU ESP8266 (Manual + Voice) | IoT Projects 2021 2024, Նոյեմբեր
Anonim
Alexa Voice Control TV Remote ESP8266
Alexa Voice Control TV Remote ESP8266

Ձեր տանը ինչ -որ մեկը կորցնո՞ւմ է հեռակառավարման վահանակը, մտնում եք դատարկ սենյակ `տեսնելու, որ հեռուստացույցը պայթում է: Մարտկոցները սկսում են խափանվել, և սենյակի հետևից վերահսկողություն չկա: Այժմ դուք կարող եք վերահսկել ձեր հեռուստատեսությունը, DVR- ը, IR վերահսկողությամբ ցանկացած բան, որի համար կարող եք գրավել IR ազդանշանը: Ես ստեղծեցի այս համակարգը ՝ վերահսկելու իմ SKY DVR- ը պարզ ձայնային ինտերֆեյսով:

Պահանջվող սարքավորում

  1. Amazon Echo կամ Dot
  2. Wifi երթուղիչ, որը կարող է առաջ շարժվել (իմ ծառայության մատակարարը դա արեց ինձ համար)
  3. Arduino NANO- ն փոխակերպեց 3V3- ի
  4. ESP8266 -01 կամ նմանատիպ
  5. IR հաղորդիչի մոդուլ կամ միացում
  6. IR ստացողի մոդուլ, եթե ցանկանում եք կոդեր գրավել:

Պահանջվող ծրագրակազմ և ծառայություններ

  1. Arduino IDE, ես օգտագործել եմ 1.6.11
  2. Amazon Alexa հմտությունների հաշիվ (անվճար)
  3. Amazon AWS հաշիվ (անվճար մակարդակ, բայց հաշիվ բացելու համար պահանջվում է վարկային քարտ) կամ այլընտրանքային սերվեր:

Քայլ 1: Alexa հմտությունների կարգավորում

Alexa հմտությունների կարգավորում
Alexa հմտությունների կարգավորում
Alexa հմտությունների կարգավորում
Alexa հմտությունների կարգավորում
Alexa հմտությունների կարգավորում
Alexa հմտությունների կարգավորում

Alexas հմտությունների հավաքածուն վերցնում է ձայնային հրամանը և զտում այն ՝ օգտագործելով «արժեքների» ցուցակ

Գրանցվելուց հետո.

Amazon Developer վահանակում ընտրեք Alexa ներդիր> Alexa հմտությունների հավաքածու [Սկսեք]

[Ավելացնել նոր հմտություն]

Հմտության տեսակը ՝ անհատական փոխազդեցության մոդել

Լեզուն. Ընտրեք ճիշտը, երբ այն անգլերեն (ԱՄՆ) սահմանած լիներ, այն չէր պատասխանի:

Անուն. Սա այժմ կարևոր չէ, քանի որ մենք չենք հրապարակում:

Հրավիրման անուն., Ընտրեք կարճ անուն, դրա բառը օգտագործվում է ծրագիրը բացելու համար:

[ՀԱEՈՐԴ]

Մտադրության սխեմա, տեղադրեք կոդը

Անհատականացված խաղային ավտոմատների տեսակներ {Ավելացնել բնիկի տեսակը], մուտքագրեք EFFECT_ON_TV

բնիկի արժեքներում, տեղադրեք կոդը

Օրինակելի արտահայտություններ, դրեց, TVCommandIntent հեռուստատեսություն {TVAction}

[ՊԱՀԵԼ], հաջորդ հմտությունների էջում մենք պետք է ավելացնենք հղում այն կոդին, որը մենք պատրաստվում ենք գործարկել, երբ «Մտադրությունը» գործարկվի կամ ծրագրի մեկնարկի «սեղմիչ» բառից, կամ դրանից հետո «tv {slot value}» - ով:.

Մենք կվերադառնանք Alexa այն բանից հետո, երբ մենք կարգաբերենք Lambda սերվերի Python սցենարը:

Քայլ 2: AWS Lambda Server Python Script

Գրանցվեք AWS- ի անվճար մակարդակին, ես մտավախություն ունեի, որ դա կարող է ինձ համար իրական գումարներ արժենալ, բայց որոշ ժամանակ օգտագործելուց և ֆորումներ կարդալուց հետո օգտագործման սահմաններն այնքան բարձր են անձնական և զարգացման համար, որ այն երբեք չպետք է լիցքավորման կետի հասնի: Ձեր HTTPS սերվերն օգտագործելու այլընտրանք կա, և գուցե սա այն է, ինչ esp8266- ը կարող է անել, ևս մեկ ուսանելի:

Սա այն ծածկագիրն է, որը գործարկվում է, երբ հնչում է Հրավիրման անունը (օրինակ ՝ «Alexa open clicker») և ստանում է կախարդական բառը Alexa- ից: Հավելվածը գործարկելուց հետո միայն պետք է ասել «tv play, tv jump five», և Alexa- ն «պիես», «ցատկել 5» կուղարկի այս պիթոնի սցենարին: Հավելվածը դադարում է, եթե որոշ ժամանակ անց պատասխաններ չունենա:

AWS ծառայություններում նախ ընտրեք ձեր գտնվելու վայրը, վերևի աջում կա տարբերակ:

ԱՄՆ -ի համար ընտրեք Վիրջինիան, ԵՄ -ի համար ՝ Իռլանդիան:

ընտրեք Lambda- ն Հաշվարկի վերնագրից:

[Ստեղծեք Lambda գործառույթ]

[Դատարկ գործառույթ]

Կարգավորեք ձգանը. Կտտացրեք կետավոր վանդակի վրա և ընտրեք Alexa Skills Kit

[ՀԱEՈՐԴ]

Կարգավորել գործառույթը

Անվանեք ինչ ուզում եք

Նկարագրություն ՝ մինչև ձեզ

Runtine: Python 2.7

տեղադրեք python կոդով,

ծածկագրում HTTP հասցեն պետք է հետագայում փոխվի ձեր արտաքին ip հասցեի:

հղում = "https://185.255.255.255:777/text?data=" + սիրված_գույն

էկրանի ներքևում ՌՈԼ է, կտտացրեք ներդիրին և ընտրեք Ընտրել հարմարեցված դեր

Սա կբացի նոր էկրան և կտտացրեք թույլատրել: Այն վերադառնում է Կարգավորել գործառույթի էկրանին ՝ Lamda- ի հիմնական կատարմամբ ընտրված ՝ որպես գոյություն ունեցող դեր:

[ՀԻՄԱ] վերանայումը, սեղմեք [Ստեղծել գործառույթ] և այն պետք է կազմի և ձեզ տա ARN համար: Պատճենեք այս կոդը, և մենք այն կդնենք alexa հմտությունների հավաքածուի մեջ:

Քայլ 3:

Քայլ 4. Alexa Skills Kit Link- ը սահմանեք AWS Lambda

Տեղադրեք Alexa Skills Kit- ի հղումը AWS Lambda- ին
Տեղադրեք Alexa Skills Kit- ի հղումը AWS Lambda- ին

Alexa հմտությունների հավաքածուում ընտրեք «Կազմաձևման» էջը, որը գլխավորում է «Գլոբալ դաշտեր» և ընտրեք AWS Lambda- ն և ձեր տարածաշրջանը և տեղադրեք ARN կոդը վանդակում, [NEXT]:

ՄԵՆՔ այժմ ավարտվել ենք այստեղ, այժմ որոշ սարքավորումների համար:

Քայլ 5. Arduino NANO 3V3 փոխակերպում

Arduino NANO 3V3 փոխակերպում
Arduino NANO 3V3 փոխակերպում
Arduino NANO 3V3 փոխակերպում
Arduino NANO 3V3 փոխակերպում

ESP8266- ը աշխատում է 3v3- ից, այնպես որ կամ այն աշխատում եք արտաքին կարգավորիչից, կամ փոխարկում եք նանո: Ես օգտագործել եմ clone nano CH340 USB չիպով: Ես ունեմ երկու տարբեր PCB դասավորություններ, որոնք ես գիտեմ, բայց հուսով եմ, որ դա կներառի դասավորության մեծ մասը:

Մենք պետք է 5V կարգավորիչը փոխարինենք 3v3 մեկ, 1117-3, համատեղելի քորոցով: ապա 5V- ը USB վարդակից միացրեք միայն կարգավորիչին և մնացած ամեն ինչը միացրեք դրա ելքին: բարեբախտաբար, դա կարելի է հասնել `հեռացնելով կարգավորիչը փոխարինող մուտքային դիոդը և դիոդի մուտքի կողմից մեկ լար ավելացնելով նանո տախտակի վրա գտնվող Vin- ին:

ստուգեք, կարող եք ծրագրավորել նանոն փոխակերպումից հետո:

Քայլ 6: NANO ծածկագիր

NANO ծածկագիր
NANO ծածկագիր
NANO ծածկագիր
NANO ծածկագիր

Սա օգտագործել է իմ SKY UK հեռակառավարման կոդերը, այն կարող է հատուկ լինել մոդելին, և արժե ստուգել ձեր ծածկագրերի աշխատանքը առանձին ուրվագծի մեջ, որը կապված չէ esp8266- ի հետ:

Ես օգտագործել եմ IRremote գրադարանը `shirriff Տարբերակ 2.0.1 տարբերակով

Օգտագործեք IRrecord- ի օրինակը ՝ հեռավոր հրամաններ գրավելու համար, որը պահանջում է IR ընդունիչի մոդուլ, կամ գուցե ձեր կոդերը գտնե՞ք համացանցում: Ես այստեղ չեմ զբաղվի դրանով, բայց այստեղ կարող եք ընտրել, թե ինչն եք վերահսկում և ինչպես:

Միացրեք ebay- ում առկա IR հաղորդիչ կամ կառուցեք այն: Դուք պետք է օգտագործեք 850nm IR լապտեր, քանի որ դրանք ամենատարածվածն են ընդունիչներում: IR գրադարանը օգտագործել է D3- ը որպես իր TX կապ

Ալեքսա բառը փոխանցվում է նանոյին, ուստի այստեղից նրա նանոն ձայնային կառավարմամբ է:

Քայլ 7: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Կան բազմաթիվ ESP8266 մոդուլներ, ես օգտագործեցի մեկը, որը ստիպված էի մանրապատել մանրադիտակի տակ, ESP8266-01- ն ունի 2x4 վերնագիր և ձեզ անհրաժեշտ բոլոր կապումներն ու էժան: Բազմաթիվ օրինակներ համացանցում,. Իմ ճամփորդությունը, GPIO_0- ը պետք է միացված լինի gnd- ին սնուցման ժամանակ (այնուհետև կարող է թռչել) ծրագրավորման ժամանակ, այն կազմաձևման քորոց է, որը ներքուստ բարձր է քաշվում: Programրագրավորվելուց հետո թող GPIO_0- ն լողա և նորից միանա: CHPD- ն մշտապես միանում է V +- ին:

Arduino 1.6.11- ում խորհրդի կառավարիչը չունի esp8622 հղումը, Arduino IDEfile- ում> նախապատվություններ> Board Board Manager- ի լրացուցիչ URL- ներ, ավելացրեք.

arduino.esp8266.com/stable/package_esp8266c…

ապա գնացեք խորհրդի կառավարիչ և գտեք esp8266 փաթեթը: սա այժմ ձեզ պետք է տա esp8266 տախտակների մեծ ցուցակ, ընտրեք Գործիքներ> Տախտակ> ESP8266 ընդհանուր մոդուլ: Օգտագործելով usb to uart մոդուլը, այժմ կարող եք esp մասը ծրագրավորել esp8266_server_text- ով: Միացրեք 3V3- ով, միացրեք TX-RX, RX-TX և Gnd:

Դուք պետք է մուտքագրեք ձեր ցանցի SSID- ն ու գաղտնաբառը սցենարի և պորտի մեջ, որը դուք սահմանելու եք նավահանգստի փոխանցման համար, օրինակ ՝ 777:

Դուք կարող եք գործարկել ծածկագիրը `միացնելով esp- ը, մինչդեռ միացված եք USB- ից uart փոխարկիչին և arduino սերիական պատուհանը (9600 baud) պետք է ցուցադրի esp մոդուլի տեղական ip հասցեն: մուտքագրեք սա ծածկագրում և նորից ծրագրեք:

Քայլ 8: Networkանցի կարգավորում

Networkանցի կարգավորում
Networkանցի կարգավորում
Networkանցի կարգավորում
Networkանցի կարգավորում

Այսպիսով, որպեսզի Lambda- ի URL զանգը միանա ESP HTTP սերվերին, մենք պետք է ձեր երթուղիչը կարգավորենք դեպի նավահանգստի փոխանցում: Ես իմ արտաքին IP հասցեն ստացա https://www.whatsmyip.org/ կայքից, ես միկրոալիքային կապի վրա եմ, ուստի իմ մատակարարը ունի երթուղիչը, և ես ստիպված եղա նրանցից պահանջել նավահանգստի փոխանցում: Ես ստիպված էի ESP8266- ի IP հասցեն տալ իմ ցանցում և իմ ընտրած նավահանգստում, օրինակ ՝ 777. Արտաքին IP հասցեն պետք է մուտքագրվի lambda python սցենարի մեջ և ձեր տեղական esp հասցեն կցուցադրվի, երբ esp8266 կոդը գործարկեք USB- ից uart հղումը:

USB- ից uart միացման ESP մոդուլը տերմինալում պետք է ցույց տա lambda- ից եկող բառը:

Միացրեք ESP- ը նանոյին, ինչպես ցույց է տրված 3v3, gnd և TX- ը nano D2 փափուկ սերիալներին: եթե դուք ունեք USB- ի nano- ն դեպի սերիական հաղորդումների ցուցադրում th epc- ում, այն պետք է ցույց տա, թե ինչ է այն ստանում esp- ից:

Եթե ESP- ը միացված չէ ցանցին կամ չի արձագանքում lambda- ի URL- ի զանգին, ապա lambda- ն կվերջանա, և Alexa- ն հայտնում է հմտությունների ձախողված պատասխանի մասին:

Քայլ 9. Alexa Open Clicker հեռուստատեսության դադար

Alexa Open Clicker հեռուստատեսության դադար
Alexa Open Clicker հեռուստատեսության դադար

Ես մոդուլը դրեցի ընդունիչի կողքին, բայց ավելի մեծ հզորությամբ IR ելքով այն կարող է լինել սենյակի ցանկացած վայրում: Ես օգտագործում եմ հայտնի ապրանքանիշի USB հոսանքի ադապտեր `USB- ի միջոցով սնուցելու համար:

Նստեք և ասեք «Alexa open Clicker»

հեռուստատեսային ուղեցույց

հեռուստացույց իջիր

ընտրեք հեռուստատեսություն

հեռուստատեսային խաղ

tv jump հինգ

մի քանի րոպե առաջ առաջ նետվելու համար մակրոները կանցնեն 30 անգամ `սպասված ժամին սպասելու, այնուհետև խաղալու:

Մեծ Բրիտանիայի գովազդերը տևում են մոտ հինգ րոպե:

Հավելվածից դուրս գալու համար Alexa- ն դուրս եկեք:

Վայելեք:

Խորհուրդ ենք տալիս: