Spisu treści:

Wykonaj umiejętności Alexa za pomocą Cloud9 - bez karty kredytowej lub sprzętu: 7 kroków (ze zdjęciami)
Wykonaj umiejętności Alexa za pomocą Cloud9 - bez karty kredytowej lub sprzętu: 7 kroków (ze zdjęciami)

Wideo: Wykonaj umiejętności Alexa za pomocą Cloud9 - bez karty kredytowej lub sprzętu: 7 kroków (ze zdjęciami)

Wideo: Wykonaj umiejętności Alexa za pomocą Cloud9 - bez karty kredytowej lub sprzętu: 7 kroków (ze zdjęciami)
Wideo: CS50 2015 - Week 9, continued 2024, Grudzień
Anonim
Spraw, aby Alexa Skills z Cloud9 - nie wymaga karty kredytowej ani sprzętu
Spraw, aby Alexa Skills z Cloud9 - nie wymaga karty kredytowej ani sprzętu

Witam, dzisiaj pokażę Ci, jak stworzyć własną umiejętność Amazon Alexa za pomocą Cloud9. Dla tych z Was, którzy nie wiedzą, Cloud9 to internetowe IDE obsługujące wiele różnych języków i jest w stu procentach bezpłatne - 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 polegają na tym, że nie znam zbyt wielu node.js, więc będę programować w Pythonie do tego samouczka, a będąc uczniem szkoły średniej nie mam karty kredytowej, co oznacza, że nie mogę korzystać z AWS lambda. Sposobem na rozwiązanie tego problemu było użycie Cloud9.

Mam nadzieję, że spodoba ci się ten samouczek. Jeśli utkniesz gdziekolwiek, wypróbuj obrazy, ponieważ próbowałem dodać wskazówki w odpowiednich miejscach, a jeśli nadal utkniesz, możesz dodać pytanie lub komentarz.

(Dzięki HeikoAL na Pixabay za zdjęcie okładki)

Krok 1: Zaloguj się do Cloud9 i konsoli programisty Amazon

Zaloguj się do Cloud9 i konsoli programisty Amazon
Zaloguj się do Cloud9 i konsoli programisty Amazon
Zaloguj się do Cloud9 i konsoli programisty Amazon
Zaloguj się do Cloud9 i konsoli programisty Amazon
Zaloguj się do Cloud9 i konsoli programisty Amazon
Zaloguj się do Cloud9 i konsoli programisty Amazon

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

1. Chmura9

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

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

2. Konsola programisty Amazon

Teraz odwiedź https://developer.amazon.com i zaloguj się w prawym górnym rogu. Teraz kliknij Alexa, a następnie Your Alexa Dashboards w prawym górnym rogu. Powinieneś zobaczyć starszy wyglądający ekran, taki jak ten powyżej po prawej. Teraz musimy kliknąć Rozpocznij w polu Zestaw umiejętności Alexa.

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

Skonfiguruj umiejętność Alexa w konsoli dewelopera Amazon
Skonfiguruj umiejętność Alexa w konsoli dewelopera Amazon

Teraz ustawimy umiejętność 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ść i powinieneś zobaczyć ekran podobny do powyższego.

W przyciskach radiowych u góry powinniśmy wybrać 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 będzie działać na prawdziwym urządzeniu echo, jeśli wybierzesz USA. Może jednak nadal działać na Echoism.

Teraz powinieneś wpisać nazwę i nazwę inwokacji swojej umiejętności. Polecam te same dla wygody. Nazwa jest tym, co użytkownik zobaczy w aplikacji Alexa, a nazwa wywołania jest tym, co użytkownik powiedziałby podczas wyzwalania umiejętności, na przykład: Alexa, zapytaj „Nazwa wywołania” o pogodę. Dla mojej pierwszej umiejętności nazwałem je obydwoma Test.

Nasza umiejętność nie będzie wykorzystywać ostatnich trzech rzeczy, więc można je zostawić w spokoju.

Teraz musisz kliknąć Zapisz i dalej. Konsola deweloperska może tutaj nieco przeformatować, ale nie straci żadnych danych.

Krok 3: Model interakcji

Model interakcji
Model interakcji
Model interakcji
Model interakcji
Model interakcji
Model interakcji

Powinieneś teraz być na karcie modelu interakcji konsoli. W tym miejscu mówimy Alexie, jak chcielibyśmy, aby interpretowała nasze polecenia. Wybierz opcję Launch Skill Builder Beta.

Musimy teraz ustawić intencję dla naszych 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 go później potrzebować do programowania. Nazwałem mój HelloWorld.

Teraz powinniśmy dodać kilka wypowiedzi, które użytkownik mógłby powiedzieć, gdyby chciał to wywołać. W tym polu wpisałem „na powitanie” i „pozdrawiam”. Pamiętaj, aby wcisnąć enter pomiędzy. Aby aktywować tę intencję, użytkownik powie „Alexa, poproś test o powitanie”.

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

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

Krok 4: Na Cloud9

Na chmurę9
Na chmurę9
Na chmurę9
Na chmurę9

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

W swoim panelu stwórz nowy obszar roboczy i wprowadź pamiętną nazwę. Możesz dodać opis, jeśli chcesz, ale nie jest to konieczne. Powinieneś również wybrać Python jako język. Teraz naciśnij Utwórz obszar roboczy. Załadowanie zajmie trochę czasu, ale w końcu powinien pojawić się ekran podobny do powyższego. To jest Twoje miejsce pracy.

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

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

2. Zainstaluj kolbę: kolba instalacyjna sudo pip

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

Teraz możemy napisać nasz program. Kliknij zielony plus u góry i wybierz Nowy plik. Naciśnij Plik, Zapisz i wprowadź odpowiednią nazwę z.py na końcu, na przykład HelloAlexa.py. Teraz naciśnij Zapisz. W kolejnym kroku wprowadzimy kod naszego programu.

Krok 5: Kod

Kod!
Kod!

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

from flask import Flask, render_templatefrom flask_ask import Ask, statement

importuj system

aplikacja = Kolba(_nazwa_)

zapytaj = zapytaj(aplikacja, '/')

def cześć():

return statement("Witaj, świecie.")

if _name_ == "_main_":

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

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

app.debug = Prawda

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

Przeanalizujmy kod:

Pierwsze trzy linie importują nasze niezbędne moduły, Flask-Ask, dla amazon Alexa i Flask, co jest warunkiem wstępnym Flask-Ask. Kolejne dwie linie tworzą app i pytają, 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, że gdy otrzymamy wywołanie adresu internetowego, na którym działa nasz program, jeśli adres URL zawiera „HelloWorld”, zostanie uruchomiony następujący blok kodu. Funkcja poniżej dekoratora nie uruchamia żadnego kodu, tylko zwraca wartość Hello, world. Polecenie statement() jest potrzebne do przekonwertowania ciągu na postać zrozumiałą dla Alexy. Wreszcie reszta kodu jest sposobem na upewnienie się, że nasz program działa poprawnie w Cloud9. Zasadniczo mówi: jeśli uruchomimy ten kod bezpośrednio, a nie jako moduł, kod będzie nasłuchiwał na porcie 8080. Linia app.debug zapewnia, że kod nie zostanie przedwcześnie zatrzymany. Jeśli kiedykolwiek stworzysz inną aplikację taką jak ta w Cloud9, zawsze będziesz musiał zapamiętać ostatnie 5 linii, w przeciwnym razie pojawi się błąd „Wygląda na to, że żadna aplikacja nie jest tutaj uruchomiona”. 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ć kod, a następnie przejdź do następnego kroku.

Krok 6: Połącz Cloud9 z Alexa

Połącz Cloud9 z Alexa
Połącz Cloud9 z Alexa
Połącz Cloud9 z Alexa
Połącz Cloud9 z Alexa

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

Naciśnij zielony przycisk biegu 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 zobaczysz pomarańczowy ekran z przyciskiem Otwórz aplikację, powinieneś go kliknąć. Powinieneś zobaczyć biały ekran z napisem Method Not Allowed. Może to zabrzmieć źle, ale wszystko to oznacza, że Flask-Ask został poprawnie skonfigurowany, aby tylko usługa Alexa mogła odwiedzać 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 miałeś w wyświetlonym polu tekstowym. Możesz zignorować resztę ustawień, 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 jest subdomeną domeny, która ma certyfikat wieloznaczny z urzędu certyfikacji”, a następnie naciśnij Zapisz, a następnie Dalej.

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

Krok 7: Testowanie

Testowanie!
Testowanie!
Testowanie!
Testowanie!

Powinieneś teraz zobaczyć stronę podobną do powyższej. Jeśli pole i, w którym jest napisane Proszę uzupełnić model interakcji, jest ustawione na 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 echo. Zejdź do sekcji symulatora usług i wprowadź jedno z wyrażeń, które stworzyłeś wcześniej. Teraz naciśnij Zapytaj Test. Powinieneś zobaczyć niebieski tekst po obu stronach. Prawa ręka powinna zawierać słowa „Hello, World” lub inny tekst, na który ustawiasz swoją umiejętność odpowiedzi. Jeśli prawa strona 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ą prawdziwego urządzenia echo. Upewnij się, że urządzenie echo jest zalogowane na to samo konto, a następnie powinieneś móc je wypró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 echa https://echosim.io/welcome Musisz zalogować się na swoje konto programisty Amazon.

Dziękuję za przeczytanie mojego Instructable. Mam nadzieję, że ci się udało. Jeśli masz jakieś pytania, napisz komentarz, a jeśli Ci się spodobał, zagłosuj na mnie w konkursie Voice Activated i pierwszym konkursie autorskim.

Dziękuję!

Zalecana: