Uczyń Alexa umiejętnościami z Cloud9 - nie wymaga karty kredytowej ani sprzętu: 7 kroków (ze zdjęciami)

Uczyń Alexa umiejętnościami z Cloud9 - nie wymaga karty kredytowej ani sprzętu: 7 kroków (ze zdjęciami)

Spisu treści:

Anonim

Cześć, dziś pokażę Ci, jak stworzyć własną umiejętność Amazon Alexa przy użyciu Cloud9. Dla tych, którzy nie wiedzą, Cloud9 jest internetowym IDE obsługującym wiele różnych języków i jest w stu procentach darmowy - nie wymaga karty kredytowej. Umiejętność Alexa jest jak aplikacja, ale dla urządzeń Alexa.

Zawsze kochałem programowanie i asystentów głosowych, ale dopiero niedawno zająłem się programowaniem Amazon Echo.Moje problemy są takie, że nie znam wiele node.js, więc będę programować w pythonie dla tego tutoriala, a będąc uczniem szkoły średniej, nie mam karty kredytowej, co oznacza, że ​​nie mogę korzystać z AWS lamda. Rozwiązaniem tego problemu było użycie Cloud9.

Mam nadzieję, że spodoba ci się ten tutorial. Jeśli utkniesz gdziekolwiek, spróbuj zdjęć, ponieważ próbowałem dodawać podpowiedzi we właściwych miejscach, a jeśli nadal utkniesz, dodaj pytanie lub komentarz.

(Podziękowania dla HeikoAL na Pixabay za zdjęcie okładki)

Kieszonkowe dzieci:

Krok 1: Zaloguj się do Cloud9 i Amazon Developer Console.

Aby uczynić naszą umiejętność, będziemy musieli stworzyć główną logikę umiejętności w Pythonie na Cloud9 i sposób, w jaki integruje się z Alexą w Amazon Developer Console.

1. Cloud9

Najprawdopodobniej będziesz potrzebował już konta Cloud9, aby to zadziałało, ponieważ ostatnio Amazon przejął Cloud9, integrując go z AWS, jednak wydaje się możliwe, aby zalogować się za pomocą Github, Bitbucket lub Google na starej platformie, co jest tym, czego potrzebujemy. robić.

Odwiedź tę stronę: http://c9.io/login i zaloguj się.

2. Konsola Amazon Developer

Teraz odwiedź http://developer.amazon.com i zaloguj się w prawym górnym rogu. Teraz kliknij Alexa, a następnie Twoje Alexa Dashboards w prawym górnym rogu. Powinieneś zobaczyć starszy wyglądający ekran, taki jak powyżej. Teraz musimy kliknąć Get Started w polu Alexa Skills Kit.

Krok 2: Skonfiguruj umiejętność Alexa w konsoli Amazon Dev

Teraz ustawimy umiejętności na serwerze Amazon. Jeśli już wiesz, jak to zrobić, nie musisz tego czytać i możesz przejść do następnego kroku.

Kliknij Dodaj nową umiejętność, a pojawi się ekran podobny do powyższego.

W przyciskach radiowych u góry wybierz opcję Niestandardowy model interakcji

Teraz wybierz język swoich umiejętności. Ważne jest, aby wybrać angielski w Wielkiej Brytanii, jeśli Twoje konto Amazon ma adres w Wielkiej Brytanii, ponieważ testowanie nie zadziała na urządzeniu echo rzeczywistego, jeśli wybierzesz USA. Może jednak działać na Echoism.

Teraz powinieneś wpisać nazwę i nazwę wywołania swojej umiejętności. Polecam te są takie same dla wygody. Nazwa jest tym, co użytkownik zobaczyłby w aplikacji Alexa, a nazwa wywołania jest tym, co użytkownik powiedziałby, uruchamiając umiejętność, na przykład: Alexa, zapytaj „Nazwa wywołania” o pogodzie. Dla mojej pierwszej umiejętności nazwałam je obydwoma Testami.

Nasza umiejętność nie będzie wykorzystywać ostatnich trzech rzeczy, aby można je było zostawić w spokoju.

Teraz musisz kliknąć Zapisz, a następnie. Konsola Dev może tutaj nieco sformatować, ale nie utraci żadnych danych.

Krok 3: Model interakcji

Teraz powinieneś znajdować się na karcie modelu interakcji konsoli. Tutaj mówimy Alexie, jak chcielibyśmy, aby interpretował nasze polecenia. Wybierz opcję Uruchom Skill Builder Beta.

Musimy teraz ustawić intencję naszej umiejętności, która jest jak funkcja, którą wykonuje. Kliknij przycisk Dodaj zamiar i wprowadź odpowiednią nazwę. Może to być wszystko i nie musi być znane użytkownikowi, jednak będziemy potrzebować go do późniejszego programowania. Nazwałem mój HelloWorld.

Teraz powinniśmy dodać kilka wypowiedzi, które użytkownik może powiedzieć, jeśli chcą to wywołać. W tym polu wpisałem „na powitanie” i „na powitanie”. Upewnij się, że naciśniesz enter pomiędzy. Aby aktywować ten zamiar, użytkownik powie „Alexa, poproś o test na powitanie”.

Po zakończeniu musimy teraz nacisnąć model zapisu i zbudować model na górze. Pamiętaj, aby najpierw zapisać, a następnie zbudować. Budynek może potrwać kilka minut.

Na koniec musimy kliknąć przycisk Konfiguracja w lewym górnym rogu.

Krok 4: Na Cloud9

W tym momencie musimy powrócić do Cloud9 i zbudować zaplecze dla naszych umiejętności.

Na swoim pulpicie utwórz nowy obszar roboczy i wprowadź pamiętną nazwę. Jeśli chcesz, możesz dodać opis, ale nie jest to konieczne. Powinieneś również wybrać Pythona jako język. Teraz naciśnij przycisk Utwórz obszar roboczy. Załadowanie zajmie trochę czasu, ale w końcu powinien pojawić się ekran podobny do powyższego. To jest twoja przestrzeń robocza.

Obszary robocze Cloud9 to maszyny ubuntu linux, które działają w bardzo podobny sposób jak raspberry pi. Mają tę jedną zaletę, że są hostowane. Zanim będziemy mogli napisać nasz kod do tego środowiska, będziemy musieli wykonać kilka poleceń, aby go przygotować.

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

2. Zainstaluj Flask: sudo pip install flask

3. Zainstaluj Flask-Ask, bibliotekę, która łączy się z Alexą: sudo pip install flask-ask

Teraz możemy napisać nasz program. Kliknij zielony plus na górze i wybierz Nowy plik. Naciśnij Plik, Zapisz i wpisz odpowiednią nazwę za pomocą.py na końcu, na przykład HelloAlexa.py. Teraz naciśnij Zapisz. W następnym kroku wprowadzimy kod naszego programu.

Krok 5: Kodeks!

Teraz konieczne jest wprowadzenie następującego kodu, zamiast HelloWorld, użyj swojej nazwy, którą wcześniej utworzyłeś:

from flask import Flask, render_template

z flask_ask import Zapytaj, instrukcja

import os

app = kolba (__ nazwa__)

ask = Zapytaj (aplikacja, '/')

@ ask.intent („HelloWorld”)

def hello ():

instrukcja zwrotu („Witaj, świecie”)

if __name__ == "__main__":

host = os.getenv („IP”, „0.0.0.0”)

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

app.debug = True

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

Przejdźmy przez kod:

Pierwsze trzy linie importują nasze niezbędne moduły, Flask-Ask, dla amazonki Alexa i Flask, co jest warunkiem Flask-Ask. Następne dwie linie tworzą app i ask, które są jak zmienne główne naszego programu. Aby uzyskać dostęp do bitów, do których chcemy uzyskać dostęp, potrzebujemy ich. Linia 6 to dekorator. Mówi się, że gdy otrzymamy połączenie z adresem internetowym, na którym działa nasz program, jeśli adres URL zawiera „HelloWorld”, uruchomi się następujący blok kodu. Funkcja poniżej dekoratora nie uruchamia żadnego kodu, po prostu zwraca wartość Hello, world. Polecenie statement () jest potrzebne do przekonwertowania ciągu znaków na formę, którą Alexa może zrozumieć. W końcu reszta kodu jest sposobem na sprawdzenie, czy nasz program działa poprawnie na Cloud9. Zasadniczo mówi: jeśli uruchomimy ten kod bezpośrednio, ponieważ nie jako moduł, kod będzie nasłuchiwał na porcie 8080. Linia app.debug zapewnia, że ​​kod nie zatrzyma się przedwcześnie. Jeśli kiedykolwiek stworzysz inną aplikację w Cloud9, zawsze będziesz musiał zapamiętać ostatnie 5 wierszy, w przeciwnym razie otrzymasz komunikat „Brak aplikacji wydaje się tutaj działać”. Porty, których używa Cloud9, to 8080,8081 i 8082, więc każdy z nich byłby w porządku.

Pamiętaj, aby zapisać swój kod, a następnie przejdź do następnego kroku.

Krok 6: Połącz Cloud9 z Alexą

Teraz musimy połączyć nasz kod Cloud9 z naszą aplikacją Alexa w portalu Dev.

Naciśnij zielony przycisk w rogu. Teraz skopiuj i wklej link w górnej części terminala do przeglądarki internetowej. Wyświetl obraz, jeśli nie możesz go znaleźć. Jeśli widzisz pomarańczowy ekran z przyciskiem Otwórz aplikację, kliknij go. Powinieneś zobaczyć biały ekran z napisem „Niedozwolona metoda”. Może to brzmieć źle, jednak oznacza to, że Flask-Ask został poprawnie skonfigurowany, aby tylko strona Alexa mogła odwiedzić tę stronę. Jeśli to zadziałało, wróć do Dev Console w Amazon i upewnij się, że jesteś w zakładce konfiguracji. Teraz naciśnij HTTPS i wklej adres URL, który właśnie pojawił się w wyskakującym polu tekstowym. Możesz zignorować pozostałe ustawienia, po prostu naciśnij Zapisz i Dalej. Powinieneś teraz zobaczyć małe okienko z pytaniem o certyfikaty. Wybierz drugą opcję, „Mój punkt końcowy rozwoju to poddomena domeny, która ma certyfikat wieloznaczny od urzędu certyfikacji”, a teraz naciśnij Zapisz, a następnie Dalej.

Powinieneś być teraz na etapie testów. Jeśli tak, to wielki postęp do następnego etapu. Jeśli nie, sprawdź, czy postępujesz zgodnie z instrukcjami.

Krok 7: Testowanie!

Powinieneś zobaczyć stronę podobną do tej powyżej. Jeśli pole i, w którym jest napisane „Wykonaj model interakcji”, jest wyłączone, włącz je. Możemy zacząć od przetestowania umiejętności tutaj, a następnie możemy spróbować z prawdziwym urządzeniem echa. Zejdź do sekcji symulatora usług i wprowadź jedną z wypowiedzi, które stworzyłeś wcześniej. Teraz naciśnij Ask Test. Powinieneś zobaczyć niebieski tekst po obu stronach. Prawa ręka powinna zawierać słowa „Hello, World” lub inny tekst, na który ustawisz swoją umiejętność. Jeśli twoja prawa ręka zawiera błąd, sprawdź, czy kod nadal działa i czy wpisałeś go poprawnie.

Gdy to zadziała, możesz przejść do testowania go za pomocą rzeczywistego urządzenia echa. Upewnij się, że urządzenie echo jest zalogowane przy użyciu tego samego konta, a następnie powinieneś spróbować. Pamiętaj, aby powiedzieć „Alexa, zapytaj Test”, a następnie swoją wypowiedź. Jeśli nie masz urządzenia echo, możesz użyć symulatora echo http://echosim.io/welcome Musisz zalogować się na swoje konto Amazon Developer.

Dziękuję za przeczytanie mojego Instructable. Mam nadzieję, że to zadziałało. Jeśli masz jakieś pytania, napisz komentarz, a jeśli Ci się spodobało, zagłosuj na mnie w konkursie Aktywowany głosem i konkursie po raz pierwszy.

Dzięki!