Gør Alexa Skills With Cloud9-Intet kreditkort eller hardware krævet: 7 trin (med billeder)

Gør Alexa Skills With Cloud9-Intet kreditkort eller hardware krævet: 7 trin (med billeder)

Indholdsfortegnelse:

Anonim

Hej, i dag skal jeg vise dig, hvordan du opretter din egen Amazon Alexa-færdighed ved hjælp af Cloud9. For de af jer, der ikke ved, er Cloud9 en online IDE, der understøtter mange forskellige sprog, og det er hundrede procent gratis - intet kreditkort påkrævet. En Alexa-færdighed er som en app, men for Alexa-enheder.

Jeg har altid elsket programmering og stemmeassistenter, men for nylig tog jeg op med at programmere Amazon Echo.Mine problemer er, at jeg ikke kender en masse node.js, så jeg vil programmere i python for denne tutorial og at være en gymnasieelever, jeg har ikke et kreditkort, hvilket betyder, at jeg ikke kan bruge AWS lamda. Hvordan jeg løste dette problem var at bruge Cloud9.

Jeg håber du nyder denne tutorial. Hvis du sidder fast hvor som helst, prøv billederne, som jeg har forsøgt at tilføje tip på de rigtige steder, og hvis du stadig sidder fast, er du velkommen til at tilføje et spørgsmål eller en kommentar.

(Takket være HeikoAL på Pixabay til omslaget)

forsyninger:

Trin 1: Log til Cloud9 og Amazon Developer Console.

For at gøre vores færdigheder skal vi oprette hovedlogikken for færdigheden i python på Cloud9 og den måde, den integrerer med Alexa på Amazon Developer Console.

1. Cloud9

Du har sandsynligvis brug for en Cloud9-konto allerede for at dette kan fungere så for nylig. Amazon overtog Cloud9 og integrerede det i AWS, men det ser ud til at være muligt at logge ind med Github, Bitbucket eller Google på den gamle platform, hvilket er, hvad vi har brug for gøre.

Besøg denne hjemmeside: http://c9.io/login og login.

2. Amazon Developer Console

Besøg nu http://developer.amazon.com og log ind øverst til højre. Klik nu på Alexa og derefter din Alexa Dashboards øverst til højre. Du skal se en ældre udseende skærm som den ovenstående højre. Vi skal nu klikke på Kom i gang i boksen Alexa Skills Kit.

Trin 2: Opsæt Alexa Skill i Amazon Dev Console

Nu skal vi oprette færdigheden på Amazon-serveren. Hvis du allerede ved, hvordan du gør dette, behøver du ikke at læse dette, og du kan springe videre til næste trin.

Klik på Tilføj en ny færdighed, og du skal præsenteres med en skærm som den ovenstående.

I radioknapperne øverst skal vi vælge Custom Interaction Model

Vælg nu sproget i din færdighed. Det er vigtigt at vælge engelsk britisk, hvis din Amazon-konto har en britisk adresse, da testning ikke vil fungere på et ægte ekkoapparat, hvis du vælger USA. Det kan dog stadig arbejde på ekko.

Nu skal du indtaste navn og opkald navn på din færdighed. Jeg vil anbefale disse er de samme for nemheds skyld. Navnet er, hvad en bruger ville se i Alexa-appen, og navnet på tilkaldelsen er, hvad en bruger ville sige, når udløselsen af ​​færdighederne, for eksempel: Alexa, spørg "Invocation name" om vejret. Til min første færdighed opkaldte jeg dem begge Test.

Vores færdighed vil ikke bruge de sidste tre ting, så de kan stå alene.

Nu skal du klikke på gem og næste. Dev-konsollen kan omformatere lidt her, men det mister ingen data.

Trin 3: Interaktionsmodel

Du skal nu være på fanen for interaktionsmodel på konsollen. Det er her, vi fortæller Alexa, hvordan vi vil have det til at fortolke vores kommandoer. Vælg indstillingen Launch Skill Builder Beta.

Vi skal nu oprette en hensigt for vores færdigheder, som er som en funktion, den udfører. Klik på knappen Tilføj en hensigt og indtast et passende navn. Dette kan være alt og behøver ikke at være kendt af brugeren, men vi skal bruge det til programmeringen senere. Jeg har opkaldt min HelloWorld.

Nu skal vi tilføje nogle udtalelser, som er en ting, som en bruger måtte sige, hvis de ønskede at påberåbe sig dette. Jeg har skrevet "til en hilsen" og "til en hilsen" i denne boks. Sørg for at trykke på Enter mellem. For at aktivere denne hensigt vil en bruger sige "Alexa, spørg test for en hilsen."

Når dette er gennemført, skal vi nu trykke på gemme model og bygge model øverst. Sørg for at gemme først og derefter bygge. Bygningen kan tage et par minutter.

Endelig skal vi klikke på knappen Konfiguration øverst til venstre.

Trin 4: Til Cloud9

På dette tidspunkt er vi nødt til at vende tilbage til Cloud9 og bygge bagenden til vores færdigheder.

Opret et nyt arbejdsområde i dit betjeningspanel og indtast et uforglemmeligt navn. Du kan tilføje en beskrivelse, hvis du ønsker det, men det er ikke nødvendigt. Du skal også vælge Python som sprog. Tryk nu på create workpace. Det vil tage lidt tid at indlæse, men i sidste ende skal du præsenteres med en skærm som ovenstående. Dette er dit arbejdsområde.

Cloud9-arbejdsområder er ubuntu linux-maskiner, der fungerer på en meget lignende måde som en hindbær pi. De har den ene fordel, at de er vært. Før vi kan skrive vores kode i dette miljø, skal vi udføre nogle få kommandoer for at få det klar.

1. Opgrader pip: sudo -H pip2 installer --upgrade pip

2. Installer kolbe: sudo pip installationskolbe

3. Installer Flask-Ask, biblioteket som grænseflader med Alexa: sudo pip installere kolbe-ask

Nu kan vi skrive vores program. Klik på det grønne plus øverst og vælg Ny fil. Tryk på Fil, Gem og indtast et passende navn med.py i slutningen for eksempel HelloAlexa.py. Tryk nu på Gem. I næste trin vil vi indtaste koden i vores program.

Trin 5: Koden!

Nu er det nødvendigt at indtaste følgende kode i stedet for HelloWorld, brug dit hensigtnavn, som du oprettede tidligere:

fra kolbeimport Flaske, render_template

fra flask_ask import Spørg, erklæring

import os

app = kolbe (__ navn)

spørg = spørg (app, '/')

@ Ask.intent (HelloWorld ')

def hej ():

returopgørelse ("Hej, verden.")

hvis __name__ == "__main__":

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

port = int (os.getenv ('port', 8080))

app.debug = True

app.run (vært = vært, port = port)

Lad os køre gennem koden:

De tre første linjer importerer vores nødvendige moduler, Flask-Ask, til Amazon Alexa og Flask, som er en forudsætning for Flask-Ask. De næste to linjer opretter app og spørger, hvilke er som vores variabler i vores program. For at få adgang til de bits, vi ønsker at få adgang til, har vi brug for dem. Linje 6 er en dekorator. Det står, når vi modtager et opkald til den webadresse, som vores program kører på, hvis url indeholder "HelloWorld", så kører den følgende kodeblok. Funktionen under dekoratoren kører ikke nogen kode, den returnerer bare værdien Hej verden. Erklæringen () -kommandoen er nødvendig for at konvertere strengen til en form, som Alexa kan forstå. Endelig er resten af ​​koden en måde at sikre, at vores program kører korrekt på Cloud9. Det siger i grunden: Hvis vi kører denne kode direkte, som i ikke som et modul så vil koden lytte på port 8080. App.debug-linjen sikrer, at koden ikke stopper for tidligt. Hvis du nogensinde laver en anden applikation som denne på Cloud9, skal du altid huske de sidste 5 linjer, ellers får du en "Ingen ansøgning ser ud til at køre her" fejl. Portene Cloud9 bruger er 8080,8081 og 8082, så nogen af ​​disse ville have været fint.

Sørg for at gemme din kode og fortsæt til næste trin.

Trin 6: Link Cloud9 til Alexa

Nu skal vi forbinde vores Cloud9-kode til vores Alexa-app i Dev-portalen.

Tryk på den grønne rundeknap i hjørnet. Kopiér og indsæt nu linket øverst på din terminal i din webbrowser. Se billedet, hvis du ikke kan finde det. Hvis du ser en orange skærm med en åben applikationsknap, skal du klikke på den. Du skal se en hvid skærm, der siger metode ikke tilladt på den. Det kan lyde dårligt, men alt dette betyder, at Flask-Ask er konfigureret korrekt, så kun Alexa-tjenesten kan besøge denne side. Hvis dette har fungeret fint, skal du vende tilbage til Dev Console i Amazon og sørge for at du er i konfigurationsfanen. Tryk nu på HTTPS og indsæt den webadresse, du lige havde i tekstfeltet, der dukker op. Du kan ignorere resten af ​​indstillingerne, bare trykke på Gem og Næste. Du skal nu se en lille boks, der spørger dig om certifikater. Vælg den anden mulighed: "Mit udviklingsendepunkt er et underdomæne af et domæne, der har et wildcard-certifikat fra en certifikatmyndighed" og nu trykker du på Gem og derefter Næste.

Du skal være på teststadiet nu. Hvis du er, er det store fremskridt til næste trin. Hvis ikke, skal du kontrollere, at du har fulgt vejledningen korrekt.

Trin 7: Testning!

Du skal nu se en side som den ovenfor. Hvis i-boksen, hvor den står, bedes venligst Komplet, er interaktionsmodellen indstillet til Deaktiveret, og aktiver den derefter. Vi kan begynde med at teste færdigheden her og så kan vi prøve med en rigtig ekko enhed. Gå ned til service simulator sektionen og indtast en af ​​de udtalelser du tidligere har lavet. Tryk nu på Ask Test. Du bør se lidt blå tekst på begge sider. Den højre hånd skal indeholde ordene "Hej, Verden" eller en anden tekst, som du sætter din færdighed til at reagere med. Hvis din højre hånd indeholder en fejl, skal du kontrollere, at din kode stadig kører, og at du har indtastet den korrekt.

Når det virker, kan du fortsætte med at teste det med en rigtig ekko enhed. Sørg for, at ekkoenheden er logget ind med den samme konto, og så skal du kunne prøve det. Husk at sige "Alexa, spørg Test" og derefter din udtale. Hvis du ikke har en ekko-enhed, kan du bruge ekkosimulatoren http://echosim.io/welcome Du skal logge ind med din Amazon Developer-konto.

Tak fordi du læste min instruktion. Jeg håber det fungerede for dig. Hvis du har spørgsmål, skal du sørge for at skrive en kommentar, og hvis du kunne lide det, bedes du stemme for mig i Voice Activated contest og første gang forfatterkonkurrence.

Tak!