Inhoudsopgave:

Maak Alexa-vaardigheden met Cloud9 - Geen creditcard of hardware vereist - Ajarnpa
Maak Alexa-vaardigheden met Cloud9 - Geen creditcard of hardware vereist - Ajarnpa

Video: Maak Alexa-vaardigheden met Cloud9 - Geen creditcard of hardware vereist - Ajarnpa

Video: Maak Alexa-vaardigheden met Cloud9 - Geen creditcard of hardware vereist - Ajarnpa
Video: Секрет японского искусства привлечения богатства с Ке... 2024, December
Anonim
Maak Alexa-vaardigheden met Cloud9 - Geen creditcard of hardware vereist
Maak Alexa-vaardigheden met Cloud9 - Geen creditcard of hardware vereist

Hallo, vandaag laat ik je zien hoe je je eigen Amazon Alexa-vaardigheid kunt creëren met Cloud9. Voor degenen onder u die het niet weten, Cloud9 is een online IDE die veel verschillende talen ondersteunt en het is honderd procent gratis - geen creditcard vereist. Een Alexa-vaardigheid is als een app, maar dan voor Alexa-apparaten.

Ik heb altijd van programmeer- en stemassistenten gehouden, maar pas onlangs ben ik begonnen met het programmeren van de Amazon Echo. Mijn problemen zijn dat ik niet veel node.js ken, dus ik zal in python programmeren voor deze tutorial en als middelbare scholier heb ik geen creditcard, wat betekent dat ik AWS lamda niet kan gebruiken. De manier waarop ik dit probleem heb opgelost, was door Cloud9 te gebruiken.

Ik hoop dat je geniet van deze tutorial. Als je ergens vastloopt, probeer dan de afbeeldingen, want ik heb geprobeerd om hints op de juiste plaatsen toe te voegen en als je nog steeds vastzit, voel je dan vrij om een vraag of opmerking toe te voegen.

(Met dank aan HeikoAL op Pixabay voor de omslagafbeelding)

Stap 1: Log in op Cloud9 en Amazon Developer Console

Meld u aan bij Cloud9 en Amazon Developer Console
Meld u aan bij Cloud9 en Amazon Developer Console
Meld u aan bij Cloud9 en Amazon Developer Console
Meld u aan bij Cloud9 en Amazon Developer Console
Meld u aan bij Cloud9 en Amazon Developer Console
Meld u aan bij Cloud9 en Amazon Developer Console

Om onze vaardigheid te maken, moeten we de belangrijkste logica creëren voor de vaardigheid in python op Cloud9 en de manier waarop deze integreert met Alexa op de Amazon Developer Console.

1. Wolk9

Je hebt waarschijnlijk al een Cloud9-account nodig om dit te laten werken, aangezien Amazon onlangs Cloud9 heeft overgenomen en het heeft geïntegreerd in AWS, maar het lijkt mogelijk om in te loggen met Github, Bitbucket of Google op het oude platform, wat we nodig hebben om doen.

Bezoek deze website: https://c9.io/login en log in.

2. Amazon-ontwikkelaarsconsole

Ga nu naar https://developer.amazon.com en log in in de rechterbovenhoek. Klik nu op Alexa en vervolgens op Your Alexa Dashboards in de rechterbovenhoek. Je zou een ouder uitziend scherm moeten zien zoals het scherm hierboven rechts. We moeten nu klikken op Aan de slag in het vak Alexa Skills Kit.

Stap 2: Stel de Alexa Skill in de Amazon Dev Console in

De Alexa-vaardigheid instellen in de Amazon Dev Console
De Alexa-vaardigheid instellen in de Amazon Dev Console

Nu gaan we de vaardigheid instellen in de Amazon-server. Als u al weet hoe u dit moet doen, hoeft u dit niet te lezen en kunt u doorgaan naar de volgende stap.

Klik op Een nieuwe vaardigheid toevoegen en je zou een scherm moeten krijgen zoals hierboven.

In de keuzerondjes bovenaan moeten we Custom Interaction Model kiezen

Kies nu de taal van uw vaardigheid. Het is belangrijk om Engels VK te kiezen als uw Amazon-account een VK-adres heeft, omdat testen niet werkt op een echt echo-apparaat als u VS kiest. Het kan echter nog steeds werken op Echoism.

Nu moet u de naam en aanroepnaam van uw vaardigheid invoeren. Ik zou aanraden dat deze hetzelfde zijn voor het gemak. De naam is wat een gebruiker zou zien in de Alexa-app en de aanroepnaam is wat een gebruiker zou zeggen bij het activeren van de vaardigheid, bijvoorbeeld: Alexa, vraag "Aanroepnaam" over het weer. Voor mijn eerste vaardigheid heb ik ze allebei Test genoemd.

Onze vaardigheid zal de laatste drie dingen niet gebruiken, zodat ze met rust kunnen worden gelaten.

Nu moet je op opslaan en volgende klikken. De Dev-console kan hier enigszins opnieuw formatteren, maar er gaan geen gegevens verloren.

Stap 3: Interactiemodel

Interactiemodel
Interactiemodel
Interactiemodel
Interactiemodel
Interactiemodel
Interactiemodel

U zou nu op het interactiemodel-tabblad van de console moeten zijn. Dit is waar we Alexa vertellen hoe we willen dat het onze commando's interpreteert. Kies de optie Start Skill Builder Beta.

We moeten nu een intentie opstellen voor onze vaardigheid die lijkt op een functie die het uitvoert. Klik op de knop Een intentie toevoegen en voer een geschikte naam in. Dit kan van alles zijn en hoeft niet bekend te zijn bij de gebruiker, maar hebben we later nodig voor de programmering. Ik heb mijn HelloWorld een naam gegeven.

Nu moeten we enkele uitingen toevoegen, dingen die een gebruiker zou kunnen zeggen als hij dit zou willen aanroepen. Ik heb "voor een groet" en "voor een hallo" in dit vak getypt. Zorg ervoor dat je tussendoor op enter drukt. Om deze intentie te activeren, zal een gebruiker "Alexa, vraag test om een begroeting" zeggen.

Zodra dit is voltooid, moeten we nu bovenaan op model opslaan en model bouwen drukken. Zorg ervoor dat u eerst opslaat en vervolgens bouwt. Het gebouw kan enkele minuten duren.

Ten slotte moeten we linksboven op de knop Configuratie klikken.

Stap 4: Op naar Cloud9

Op Cloud9
Op Cloud9
Op Cloud9
Op Cloud9

Op dit punt moeten we terugkeren naar Cloud9 en de back-end voor onze vaardigheden bouwen.

Maak in uw dashboard een nieuwe werkruimte aan en voer een gedenkwaardige naam in. U kunt desgewenst een beschrijving toevoegen, maar dit is niet noodzakelijk. Je moet ook Python als taal kiezen. Druk nu op werkruimte maken. Het zal even duren om te laden, maar uiteindelijk zou je een scherm als het bovenstaande moeten krijgen. Dit is je werkruimte.

Cloud9-werkruimten zijn ubuntu linux-machines die op een vergelijkbare manier werken als een raspberry pi. Ze hebben het enige voordeel dat ze worden gehost. Voordat we onze code in deze omgeving kunnen schrijven, moeten we een paar opdrachten uitvoeren om deze gereed te maken.

1. Upgrade pip: sudo -H pip2 install --upgrade pip

2. Installeer Flask: sudo pip install flask

3. Installeer Flask-Ask, de bibliotheek die samenwerkt met Alexa: sudo pip install flask-ask

Nu kunnen we ons programma schrijven. Klik op het groene plusje bovenaan en kies Nieuw bestand. Druk op Bestand, Opslaan en voer een geschikte naam in met.py aan het einde, bijvoorbeeld HelloAlexa.py. Druk nu op opslaan. In de volgende stap zullen we de code van ons programma invoeren.

Stap 5: De code

De code!
De code!

Nu is het nodig om de volgende code in te voeren, in plaats van HelloWorld, gebruik je intentienaam die je eerder hebt gemaakt:

from flask import Flask, render_templatefrom flask_ask import Ask, statement

importeer os

app = Kolf(_naam_)

vragen = vragen (app, '/')

hallo():

return statement("Hallo wereld.")

if _name_ == "_main_":

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

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

app.debug = True

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

Laten we de code eens doornemen:

De eerste drie regels importeren onze benodigde modules, Flask-Ask, voor Amazon Alexa en Flask, wat een vereiste is voor Flask-Ask. De volgende twee regels maken een app en vragen welke de hoofdvariabelen van ons programma zijn. Om toegang te krijgen tot de bits die we willen, hebben we ze nodig. Lijn 6 is een decorateur. Er staat dat wanneer we een oproep ontvangen naar het webadres waarop ons programma draait, als de url "HelloWorld" bevat, het volgende codeblok wordt uitgevoerd. De functie onder de decorateur voert geen code uit, maar retourneert alleen de waarde Hallo, wereld. Het commando statement() is nodig om de string om te zetten in een vorm die Alexa kan begrijpen. Ten slotte is de rest van de code een manier om ervoor te zorgen dat ons programma correct draait op Cloud9. Het zegt eigenlijk: als we deze code rechtstreeks uitvoeren, dus niet als een module, dan luistert de code op poort 8080. De regel app.debug zorgt ervoor dat de code niet voortijdig stopt. Als je ooit nog een applicatie zoals deze op Cloud9 maakt, moet je altijd de laatste 5 regels onthouden, anders krijg je de foutmelding "Er lijkt hier geen applicatie te worden uitgevoerd". De poorten die Cloud9 gebruikt zijn 8080, 8081 en 8082, dus elk van deze zou goed zijn geweest.

Zorg ervoor dat u uw code opslaat en ga verder met de volgende stap.

Stap 6: Koppel Cloud9 aan Alexa

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

Nu moeten we onze Cloud9-code koppelen aan onze Alexa-app in de Dev-portal.

Druk op de groene run-knop in de hoek. Kopieer en plak nu de link bovenaan uw terminal in uw webbrowser. Bekijk de afbeelding als je hem niet kunt vinden. Als u een oranje scherm ziet met een knop De toepassing openen, moet u erop klikken. U zou een wit scherm moeten zien met de tekst Method Not Allowed erop. Dit klinkt misschien slecht, maar dit betekent allemaal dat Flask-Ask correct is geconfigureerd, zodat alleen de Alexa-service die pagina mag bezoeken. Als dit goed heeft gewerkt, keert u terug naar de Dev Console in Amazon en zorgt u ervoor dat u zich op het configuratietabblad bevindt. Druk nu op HTTPS en plak de URL die u zojuist had in het tekstvak dat verschijnt. U kunt de rest van de instellingen negeren, druk gewoon op Opslaan en Volgende. U zou nu een klein vakje moeten zien waarin u wordt gevraagd naar certificaten. Kies de tweede optie, "Mijn ontwikkelingseindpunt is een subdomein van een domein met een wildcardcertificaat van een certificeringsinstantie" en druk nu op Opslaan en vervolgens op Volgende.

Je zou nu in de testfase moeten zijn. Als dat zo is, is dat een grote vooruitgang naar de volgende fase. Zo niet, controleer dan of u de instructies correct hebt gevolgd.

Stap 7: Testen

Testen!
Testen!
Testen!
Testen!

U zou nu een pagina zoals hierboven moeten zien. Als het i-vak met de tekst Please Complete the Interaction Model is ingesteld op Disabled, schakel het dan in. We kunnen beginnen met het testen van de vaardigheid hier en dan kunnen we het proberen met een echt echo-apparaat. Ga naar het gedeelte Servicesimulator en voer een van de uitingen in die u eerder hebt gemaakt. Druk nu op Test vragen. Je zou aan beide kanten wat blauwe tekst moeten zien. De rechterhand moet de woorden "Hallo, wereld" of een andere tekst bevatten waarmee u uw vaardigheden kunt instellen om te reageren. Als uw rechterhand een fout bevat, controleer dan of uw code nog steeds actief is en of u deze correct hebt ingevoerd.

Als dat eenmaal werkt, kun je het testen met een echt echo-apparaat. Zorg ervoor dat het echo-apparaat is aangemeld met hetzelfde account en dan zou u het moeten kunnen proberen. Vergeet niet om "Alexa, ask Test" te zeggen en dan je uitspraak. Als je geen echo-apparaat hebt, kun je de echosimulator gebruiken https://echosim.io/welcome. Je moet inloggen met je Amazon Developer-account.

Bedankt voor het lezen van mijn Instructable. Ik hoop dat het voor jou heeft gewerkt. Als je vragen hebt, plaats dan zeker een reactie en als je het leuk vond, stem dan op mij in de Voice Activated-wedstrijd en de eerste auteurswedstrijd.

Bedankt!

Aanbevolen: