INHOUDSOPGAWE:

Maak Alexa vaardighede met Cloud9- geen kredietkaart of hardeware nodig nie: 7 stappe (met foto's)
Maak Alexa vaardighede met Cloud9- geen kredietkaart of hardeware nodig nie: 7 stappe (met foto's)

Video: Maak Alexa vaardighede met Cloud9- geen kredietkaart of hardeware nodig nie: 7 stappe (met foto's)

Video: Maak Alexa vaardighede met Cloud9- geen kredietkaart of hardeware nodig nie: 7 stappe (met foto's)
Video: Стеки технологий – информатика для руководителей бизнеса 2016 2024, Julie
Anonim
Maak Alexa vaardighede met Cloud9- geen kredietkaart of hardeware nodig nie
Maak Alexa vaardighede met Cloud9- geen kredietkaart of hardeware nodig nie

Hallo, vandag gaan ek u wys hoe u u eie Amazon Alexa -vaardigheid kan skep met behulp van Cloud9. Vir die van u wat nie weet nie, Cloud9 is 'n aanlyn IDE wat baie verskillende tale ondersteun, en dit is honderd persent gratis - geen kredietkaart nodig nie. 'N Alexa -vaardigheid is soos 'n app, maar vir Alexa -toestelle.

Ek was nog altyd lief vir programmering en stemassistente, maar het eers onlangs begin met die programmering van die Amazon Echo. My probleme is dat ek nie baie node.js ken nie, so ek sal in python vir hierdie tutoriaal programmeer, en as 'n hoërskoolleerling het ek nie 'n kredietkaart nie, wat beteken dat ek nie AWS lamda kan gebruik nie. Die manier waarop ek hierdie probleem opgelos het, was om Cloud9 te gebruik.

Ek hoop dat u hierdie tutoriaal geniet. As u oral vasval, probeer dan die beelde, want ek het probeer om wenke op die regte plekke by te voeg, en as u nog steeds vas is, kan u 'n vraag of opmerking byvoeg.

(Dankie aan HeikoAL op Pixabay vir die voorblad)

Stap 1: Meld aan by Cloud9 en Amazon Developer Console

Meld aan by Cloud9 en Amazon Developer Console
Meld aan by Cloud9 en Amazon Developer Console
Meld aan by Cloud9 en Amazon Developer Console
Meld aan by Cloud9 en Amazon Developer Console
Meld aan by Cloud9 en Amazon Developer Console
Meld aan by Cloud9 en Amazon Developer Console

Om ons vaardigheid te bewerkstellig, moet ons die belangrikste logika skep vir die vaardigheid in python op Cloud9 en die manier waarop dit met Alexa op die Amazon Developer Console kan integreer.

1. Wolk9

U sal waarskynlik reeds 'n Cloud9 -rekening nodig hê om dit te laat werk, aangesien Amazon onlangs Cloud9 oorgeneem het en dit in AWS geïntegreer het, maar dit lyk asof dit moontlik is om aan te meld by Github, Bitbucket of Google op die ou platform. doen.

Besoek hierdie webwerf: https://c9.io/login en meld aan.

2. Amazon Developer Console

Besoek nou https://developer.amazon.com en meld aan in die regter boonste hoek. Klik nou op Alexa en dan op u Alexa Dashboards regs bo. U behoort 'n ouer skerm te sien soos die regs bo. Ons moet nou in die boks Alexa Skills Kit op Aan die gang klik.

Stap 2: Stel die Alexa Skill op in die Amazon Dev Console

Stel die Alexa -vaardigheid op in die Amazon Dev -konsole
Stel die Alexa -vaardigheid op in die Amazon Dev -konsole

Nou gaan ons die vaardigheid opstel in die Amazon -bediener. As u reeds weet hoe u dit moet doen, hoef u dit nie te lees nie en kan u verder gaan met die volgende stap.

Klik op Voeg 'n nuwe vaardigheid by, en 'n skerm soos die hierbo verskyn.

In die radioknoppies bo -aan, moet ons 'n aangepaste interaksiemodel kies

Kies nou die taal van u vaardigheid. Dit is belangrik om Engels VK te kies as u Amazon -rekening 'n Britse adres het, aangesien toetsing nie op 'n werklike eggo -toestel werk as u die VSA kies nie. Dit werk moontlik nog steeds op Echoism.

Nou moet u die naam en aanroepingsnaam van u vaardigheid invoer. Ek sou aanbeveel dat dit dieselfde is vir gemak. Die naam is wat 'n gebruiker in die Alexa -app sou sien, en die aanroepingsnaam is wat 'n gebruiker sou sê as hy die vaardigheid aanskakel, byvoorbeeld: Alexa, vra 'Aansoeknaam' oor die weer. Vir my eerste vaardigheid noem ek hulle albei toets.

Ons vaardigheid sal nie die laaste drie dinge gebruik nie, sodat hulle met rus gelaat kan word.

Nou moet u op Save klik en daarna. Die Dev -konsole kan hier effens herformateer, maar dit verloor geen data nie.

Stap 3: Interaksiemodel

Interaksiemodel
Interaksiemodel
Interaksiemodel
Interaksiemodel
Interaksiemodel
Interaksiemodel

U behoort nou op die oortjie van die interaksiemodel van die konsole te wees. Dit is waar ons vir Alexa vertel hoe ons sou wou hê dat dit ons opdragte sou interpreteer. Kies die opsie Launch Skill Builder Beta.

Ons moet nou 'n bedoeling vir ons vaardigheid opstel, wat is soos 'n funksie wat dit verrig. Klik op die knoppie Voeg 'n voorneme by en voer 'n gepaste naam in. Dit kan alles wees en hoef nie deur die gebruiker bekend te wees nie, maar ons sal dit later nodig hê vir die programmering. Ek het my HelloWorld genoem.

Nou moet ons 'n paar uitsprake byvoeg, iets wat 'n gebruiker kan sê as hy dit wil aanroep. Ek het 'vir 'n groet' en 'vir 'n groet' in hierdie blokkie ingetik. Maak seker dat u tussen -in druk. Om hierdie bedoeling te aktiveer, sal 'n gebruiker 'Alexa, vra 'n toets vir 'n groet' sê.

Sodra dit voltooi is, moet ons nou op die stoormodel druk en die model bo -aan bou. Maak seker dat u eers stoor en dan bou. Die gebou kan 'n paar minute neem.

Uiteindelik moet ons op die konfigurasie -knoppie links bo klik.

Stap 4: Op na Cloud9

Op wolk 9
Op wolk 9
Op wolk 9
Op wolk 9

Op hierdie stadium moet ons terugkeer na Cloud9 en die agterkant van ons vaardigheid bou.

Skep 'n nuwe werkruimte in u dashboard en voer 'n onvergeetlike naam in. U kan 'n beskrywing byvoeg as u wil, maar dit is nie nodig nie. U moet ook Python as taal kies. Druk nou op skep werkruimte. Dit sal 'n rukkie neem om te laai, maar uiteindelik moet u 'n skerm soos die hierbo genoem word. Dit is u werkruimte.

Cloud9 -werkruimtes is Ubuntu Linux -masjiene wat op 'n baie soortgelyke manier werk as 'n framboospi. Hulle het die enigste voordeel dat hulle aangebied word. Voordat ons ons kode in hierdie omgewing kan inskryf, moet ons 'n paar opdragte uitvoer om dit gereed te kry.

1. Opgradeer pip: sudo -H pip2 installeer -upgrade pip

2. Installeer fles: sudo pip installeer fles

3. Installeer Flask-Ask, die biblioteek wat met Alexa koppel: sudo pip install flask-ask

Nou kan ons ons program skryf. Klik op die groen plus bo en kies Nuwe lêer. Druk File, Save en voer 'n gepaste naam in met.py aan die einde, byvoorbeeld HelloAlexa.py. Druk nou op stoor. In die volgende stap voer ons die kode van ons program in.

Stap 5: Die kode

Die kode!
Die kode!

Nou is dit nodig om die volgende kode in te voer, in plaas van HelloWorld, gebruik u bedoelingnaam wat u vroeër geskep het:

van fles invoerfles, render_templatefran flask_ask invoer Vra, verklaring

invoer os

app = Fles (_ naam_)

ask = Ask (app, '/')

@ask.intent ('HelloWorld')

def hallo ():

terugstuurverklaring ("Hallo, wêreld.")

as _naam_ == "_hoof_":

host = os.getenv ('IP', '0.0.0.0')

poort = int (os.getenv ('PORT', 8080))

app.debug = Waar

app.run (gasheer = gasheer, poort = poort)

Kom ons loop deur die kode:

Die eerste drie reëls voer ons nodige modules, Flask-Ask, in vir Amazon Alexa en Flask, wat 'n voorvereiste is vir Flask-Ask. Die volgende twee reëls skep 'n app en vra wat lyk soos die hoofveranderlikes van ons program. Om toegang te verkry tot die stukkies wat ons wil verkry, benodig ons dit. Reël 6 is 'n versierder. Dit sê wanneer ons 'n oproep ontvang na die webadres waarop ons program werk, as die url 'HelloWorld' bevat, sal die volgende kodeblok uitgevoer word. Die funksie onder die versierder bevat geen kode nie; dit gee net die waarde Hello, wêreld terug. Die statement () -opdrag is nodig om die string om te skakel in 'n vorm wat Alexa kan verstaan. Laastens is die res van die kode 'n manier om seker te maak dat ons program behoorlik op Cloud9 werk. Dit sê basies: as ons hierdie kode direk uitvoer, net as 'n module, luister die kode op poort 8080. Die app.debug -lyn verseker dat die kode nie voortydig stop nie. As u ooit nog 'n toepassing soos hierdie op Cloud9 maak, moet u altyd die laaste 5 reëls onthou, anders kry u 'n fout wat blykbaar nie hier loop nie. Die hawens wat Cloud9 gebruik, is 8080, 8081 en 8082, so dit sou goed gewees het.

Stoor u kode en gaan dan voort met die volgende stap.

Stap 6: Koppel Cloud9 aan Alexa

Koppel Cloud9 aan Alexa
Koppel Cloud9 aan Alexa
Koppel Cloud9 aan Alexa
Koppel Cloud9 aan Alexa

Nou moet ons ons Cloud9 -kode koppel aan ons Alexa -app in die Dev -portaal.

Druk die groen run -knoppie in die hoek. Kopieer en plak die skakel bo -aan u terminale in u webblaaier. Kyk na die prent as u dit nie kan vind nie. As u 'n oranje skerm sien met 'n knoppie Maak die toepassing oop, moet u daarop klik. U moet 'n wit skerm sien waarop die metode nie toegelaat is nie. Dit klink dalk sleg, maar dit beteken dat Flask-Ask behoorlik opgestel is sodat slegs die Alexa-diens die bladsy kan besoek. As dit goed werk, keer terug na die Dev Console in Amazon en maak seker dat u op die konfigurasie -oortjie is. Druk nou op HTTPS en plak die URL wat u pas gehad het in die tekskassie wat verskyn. U kan die res van die instellings ignoreer; druk net op Save en Next. U moet nou 'n klein kassie sien wat u vra oor sertifikate. Kies die tweede opsie, "My ontwikkelingseindpunt is 'n subdomein van 'n domein met 'n wildcard-sertifikaat van 'n sertifikaatowerheid" en druk nou Stoor en dan Volgende.

U behoort nou op die toets te wees. As dit die geval is, is dit 'n goeie vordering na die volgende fase. Indien nie, kyk of u die instruksies korrek gevolg het.

Stap 7: Toets

Toets!
Toets!
Toets!
Toets!

U behoort nou 'n bladsy soos die hierbo te sien. As die i -boks waarin dit staan Please complete the Interaction Model is ingestel op Disabled, aktiveer dit dan. Ons kan begin deur die vaardigheid hier te toets, en dan kan ons probeer met 'n regte echo -toestel. Gaan na die dienssimulator -afdeling en voer een van die uitsprake in wat u vroeër gemaak het. Druk nou op Vra toets. U behoort aan beide kante 'n blou teks te sien. Die regterhand moet die woorde "Hallo, wêreld" of 'n ander teks bevat waarmee u u vaardigheid kan reageer. As u regterhand 'n fout bevat, moet u seker maak dat u kode nog steeds werk en dat u dit korrek ingevoer het.

Sodra dit werk, kan u voortgaan om dit te toets met 'n regte echo -toestel. Maak seker dat die echo -toestel met dieselfde rekening aangemeld is, en dan moet u dit kan probeer. Onthou om te sê "Alexa, vra toets" en dan u uitspraak. As u nie 'n eggo -toestel het nie, kan u die echosimulator gebruik https://echosim.io/welcome. U moet aanmeld met u Amazon -ontwikkelaarrekening.

Dankie dat u my Instructable gelees het. Ek hoop dit het vir jou gewerk. As u enige vrae het, moet u 'n opmerking plaas en as u daarvan hou, stem vir my in die stem -geaktiveerde wedstryd en die eerste keer -outeurskompetisie.

Dankie!

Aanbeveel: