Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Skonfiguruj Wayscript i Alexa
- Krok 2: Załóż konto RapidAPI
- Krok 3: Napisz podstawowy program
- Krok 4: Formatowanie tekstu
- Krok 5: Wejście i wyjście
- Krok 6: Dodawanie wyzwalacza Alexa
- Krok 7: Dodawanie swojego programu w Pythonie
- Krok 8: Wyślij tekst i potwierdź z Alexa
- Krok 9: Gotowe
Wideo: „Alexa, wyślij mi tekst do _____”: 9 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Słuchasz piosenki, z którą chcesz śpiewać? Zwykle musiałbyś przejść przez żmudne zadanie wpisania nazwy utworu w google, a następnie słowa „teksty”. Zwykle robisz wiele literówek, błędnie klikasz określoną liczbę klawiszy i musisz radzić sobie z nieuniknionym opóźnieniem urządzenia. Zanim znajdziesz tekst, odkryjesz, że twoja piosenka się skończyła i cała ta praca poszła na marne.
Może jesteś w środku globalnej pandemii i pożyczanie telefonu przyjaciela nie wydaje się najlepszym pomysłem, a tym bardziej dotykanie maszyny do karaoke schowanej w kącie. Chcesz być chroniony, ale znajomość tekstu piosenki jest prawie tak samo ważna. Potrzebujesz wygodnej, bezdotykowej metody wyszukiwania tekstów.
Być może oba te scenariusze są lekką przesadą (pierwszy zdecydowanie bardziej), ale mimo to wysyłanie tekstów piosenek bezpośrednio na twój e-mail w momencie, gdy poprosisz o ich wysłanie, z pewnością byłoby całkiem wygodne. Właśnie tam pojawia się ten Instructable (wraz z Alexą, Wayscriptem i odrobiną Pythona). Po prostu poproś Alexę o tekst do ulubionej piosenki, a za kilka sekund zostaną one dostarczone prosto do Twojej skrzynki odbiorczej.
Jako uczeń liceum w ostatniej klasie uznałem ten projekt za bardzo przydatny i od czasu jego zbudowania wykorzystałem go w znacznej ilości (rzadkość - biorąc pod uwagę, że większość moich projektów pozostaje nietknięta kilka miesięcy później).
Ten samouczek jest dość dla początkujących, ale przed rozpoczęciem pracy warto znać trochę Pythona.
Kieszonkowe dzieci
Materiały:
- Amazon Echo/dowolny inteligentny głośnik oparty na Alexa
- Konto WayScript (zostanie skonfigurowane w następujących krokach)
- Konto RapidAPI
- Trochę wiedzy o Pythonie (niekonieczne, ale pomocne)
Krok 1: Skonfiguruj Wayscript i Alexa
Co to jest Wayscript?
Wayscript to potężne narzędzie, które pozwala uruchamiać programy przy użyciu różnych wyzwalaczy. Będziemy używać wyzwalacza Alexa w tym Instructable, ale możesz eksperymentować / eksplorować oprogramowanie – możesz dodać wiele funkcji.
Na początek załóżmy konto w Wayscript:
- Kliknij przycisk „Rozpocznij za darmo” lub „Zarejestruj się”. Użyłem opcji „Zarejestruj się na Github”, ponieważ wydawało mi się to najwygodniejsze.
- Po założeniu konta zostaniesz przeniesiony do środowiska programistycznego Wayscript. Przed rozpoczęciem warto zapoznać się z samouczkiem.
- Po ukończeniu samouczka przejdź do swojego profilu. Kliknij przycisk „Utwórz nowy skrypt”, a zostaniesz poproszony o nazwanie swojego projektu. Nazwałem go „Song Lyrics”, ale możesz nazwać go jak chcesz. Po prostu upewnij się, że łatwo to powiedzieć, ponieważ będziesz używać nazwy programu, gdy poprosisz Alexę o przesłanie tekstu.
- Gdy już stworzysz swoje imię, kliknij przycisk „Utwórz”, a zostaniesz poprowadzony do nowego środowiska programistycznego Wayscript. Wkrótce do tego wrócimy.
Zanim przejdziemy dalej, połączmy twoje konto Wayscript z Alexą:
- Wejdź na amazon.com i zaloguj się na swoje konto – w szczególności to, które jest połączone z głośnikiem obsługującym Alexa.
- Przejdź do tego linku: https://www.amazon.com/WayScript-Inc/dp/B07QXXG32… i kliknij „włącz”. Jeśli link nie działa z jakiegokolwiek powodu, wyszukaj umiejętność Wayscript Alexa – ponownie kliknij „włącz”
- Po kliknięciu przycisku Włącz, musisz połączyć go z kontem Wayscript. Kliknij 'Połącz konto' i powinieneś zostać przekierowany na stronę wayscript. Po zalogowaniu powinien pojawić się ekran z informacją „Twoje konto zostało pomyślnie połączone”.
Kiedy już to wszystko ustawisz, możemy (prawie) zacząć programować!
Krok 2: Załóż konto RapidAPI
Aby wyszukać tekst piosenki, użyjemy „Canarado Lyrics API”, który jest dostępny za pośrednictwem RapidAPI. Jeśli masz już konto RapidAPI, możesz pominąć ten krok, ale jeśli nie, kontynuuj czytanie.
Zacznij od utworzenia konta RapidAPI:
- Kliknij przycisk „Zarejestruj się” w prawym górnym rogu i zarejestruj się za pomocą dowolnej z dostępnych opcji (Google, Github, Facebook lub zwykła rejestracja).
- Po zarejestrowaniu przejdź do interfejsu Canarado Lyrics API:
Jeśli zobaczysz ekran podobny do trzeciego obrazu dołączonego powyżej, ten krok został zakończony. Jesteśmy wreszcie gotowi do rozpoczęcia programowania.
Krok 3: Napisz podstawowy program
Jak wspomniano w poprzednim kroku, Canarado Lyrics API znajduje się pod adresem:
Tam przejdź do prawej połowy ekranu z nagłówkiem „Wycinki kodu”. Będę używał Pythona w tej instrukcji, ale jeśli wolisz inny język, użyj go zamiast tego.
Kliknij menu rozwijane z etykietą „(Node.js) Niepokój” i przejdź do wybranego języka. Ponownie, będę używał Pythona - w szczególności Pythona (żądania) - ponieważ ten program wymaga żądania do hosta API w celu uzyskania większości informacji. Skopiuj kod, klikając przycisk „skopiuj kod” w prawym górnym rogu. Wklej ten kod do wybranego edytora kodu - będę używać środowiska Jupyter's Notebook.
Po wklejeniu programu zaimportuj moduł json Pythona. Umożliwi nam to wydrukowanie tekstów. Dodaj następujący kod u góry (poniżej żądań importu)
importuj json
Po zaimportowaniu modułu json Twój program powinien wyglądać tak:
żądania importu
import json url = "https://canarado-lyrics.p.rapidapi.com/lyrics/zenith%2520denzel%2520curry" headers = { 'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "TWÓJ-KLUCZ-API-TUTAJ" } response = requests.request("GET", url, headers=headers) print(response.text)
Upewnij się, że Twój program wygląda podobnie (z innym kluczem API), a następnie przejdź do zmiennej „url”. Zauważysz, że domyślnym parametrem Canarado jest „Zenith” Denzela Curry'ego. Możesz to zmienić, wpisując dowolną piosenkę. Na przykład, jeśli chcę wyszukać informacje o tekstach dotyczących Thrillera Michaela Jacksona, mogę wpisać „thriller” zamiast „zenith denzel curry”, tak aby adres URL wyglądał teraz tak:
url = "https://canarado-lyrics.p.rapidapi.com/lyrics/thriller"
Możesz również bez wahania dodać spacje - przeglądarka automatycznie doda %2520 znaków (zauważysz je zamiast spacji w domyślnym adresie URL). Na przykład wyszukiwanie hasła Gangstas Paradise może wyglądać tak:
url = "https://canarado-lyrics.p.rapidapi.com/lyrics/gangstas raj"
Uruchom program, zastępując domyślną wartość „zenith%2520denzel%2520curry” dowolnym utworem. Zauważysz, że teksty są wydrukowane, ale w trudny do odczytania sposób. Co więcej - inne informacje, w tym data wydania utworu, tytuł i informacje o statusie API, zasłaniają widok tekstu. Naprawmy to w następnym kroku.
Krok 4: Formatowanie tekstu
Sformatowanie tekstów tak, aby były czytelne, nie jest zbyt trudne. Większość ludzi z pewną wiedzą na temat programowania będzie w stanie to zrobić całkiem łatwo. Zamiast po prostu drukować „response.text”, użyjmy metody.json(). Spowoduje to zorganizowanie informacji API w słowniku i sprawi, że wszystko będzie bardziej dostępne.
Aby rozpocząć, utwórz zmienną do przechowywania „response.json()”. Nazwałem moją zmienną „data”.
dane = odpowiedź.json()
Następnie użyj następującej pętli „for”, aby uzyskać dostęp do tekstu.
dla mnie w danych['treść']:
print(i['teksty'])
Powyższy kod prowadzi do klucza „treść” słownika danych. W kluczu treści pętla for umożliwia przejście do klucza „teksty”. Kod powinien teraz wyglądać podobnie do tego:
żądania importu
import json url = "https://canarado-lyrics.p.rapidapi.com/lyrics/TWOJA-PIOSENKA-TUTAJ" headers = { 'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "TWÓJ-KLUCZ-API-TUTAJ" } response = requests.request("GET", url, headers=headers) data = response.json() for i in data['content']: print(i['teksty'])
Uruchom ten program, a zauważysz, że teksty są dużo bardziej czytelne. W następnym kroku dodamy kilka dodatkowych zmiennych, dzięki którym będziemy mogli użyć tytułu utworu jako danych wejściowych i wyprowadzić tekst do Alexy.
Krok 5: Wejście i wyjście
Do tej pory wpisywaliśmy tytuł utworu na końcu adresu URL. Byłoby miło, gdybyśmy mogli użyć zmiennej z danych wejściowych i połączyć dwa ciągi (adres URL i tytuł utworu). Robienie tego jest całkiem proste.
Na razie użyjmy funkcji input Pythona. Gdy prześlemy kod do Wayscript, zamiast tego użyjemy naszej mowy jako danych wejściowych. Utwórzmy zmienną tytułu utworu ustawioną na dane wejściowe, które prosi użytkownika o „wpisanie tytułu utworu”:
song_title = input("Wprowadź piosenkę, aby znaleźć tekst dla: ")
Następnie połącz ten ciąg z adresem URL, używając operatora „+” Pythona dla ciągów
url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + tytuł_piosenki
Teraz, po uruchomieniu programu, nie musisz już edytować adresu URL w programie. Zamiast tego po prostu odpowiedz na dane wejściowe, podając tytuł utworu, a tekst utworu powinien zostać wydrukowany.
Twój program powinien teraz wyglądać podobnie do tego:
żądania importu
import json song = input("Wprowadź utwór, aby znaleźć tekst dla: ") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + nagłówki utworu = { 'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "TWÓJ-KLUCZ-API-TUTAJ" } response = requests.request("GET", url, headers=headers) data = response.json() for i in data['content']: print(i['teksty'])
Na koniec utwórzmy zmienną do wyprowadzania tekstów. Zacznij od utworzenia zmiennej ustawionej na pusty ciąg. Następnie połącz 'i['teksty']' na końcu. Wydrukuj zmienną poza pętlą for.
teksty = „”
for i in data['content']: teksty += i['teksty'] print(teksty)
Ostateczny program powinien wyglądać tak:
żądania importu
import json song = input("Wprowadź utwór, aby znaleźć tekst dla: ") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + nagłówki utworu = { 'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "TWÓJ-KLUCZ-API-TUTAJ" } response = requests.request("GET", url, headers=headers) data = response.json() teksty = "" for i in data['content']: teksty += i['teksty'] print(teksty)
Program wypisze dokładnie to samo, ale teraz masz zmienną, której możesz użyć jako dane wyjściowe. Teraz możemy wreszcie dodać funkcje Alexa i e-mail za pomocą Wayscript.
Krok 6: Dodawanie wyzwalacza Alexa
Aby dodać swój pierwszy wyzwalacz, kliknij przycisk „Dodaj wyzwalacz”:
- Pojawi się pasek wyszukiwania – wyszukaj „Alexa”, a zauważysz wyzwalacz Alexa. Jeśli wcześniej nie używałeś wyzwalacza Alexa lub jeśli jest to Twój pierwszy projekt, być może będziesz musiał kliknąć „Importuj”. Po zaimportowaniu wystarczy go kliknąć i należy go dodać.
- Włącz spust, klikając przełącznik w kształcie pigułki. Powinno stać się zielone. Po lewej stronie zauważysz sekcję, która mówi „Wyjścia”. Kliknij pole wyboru „Wprowadzanie głosowe” i wprowadź wartość podobną do naszej poprzedniej zmiennej song_title. Możemy teraz używać twoich wypowiedzianych danych wejściowych zamiast wyrażenia wejściowego, którego używaliśmy wcześniej
- Upewnij się, że wpisałeś wartość domyślną (być może swoje ulubione piosenki), ponieważ bez niej możesz napotkać kilka błędów.
W kolejnych krokach dodamy nasz program Python, metodę Send Email, a Alexa potwierdzi, że metoda została ukończona.
Krok 7: Dodawanie swojego programu w Pythonie
Aby dodać swój program do bieżącego przepływu Wayscript, kliknij „Dodaj krok”
- Wyszukaj Pythona i kliknij akcję Python. Powinno to odświeżyć wyzwalacz i zauważysz, że pojawi się karta po lewej stronie.
- Najedź kursorem na program na panelu bocznym, a zobaczysz wyskakujący przycisk „Edytuj kod”. Kliknij go, a pojawi się edytor pełnoekranowy.
- W edytorze pełnoekranowym skopiuj i wklej utworzony wcześniej program Pythona.
- Usuń napisaną przez nas zmienną song_title = input("….") i dodaj zmienną wprowadzania mówionego, którą utworzyliśmy w poprzednim kroku. Zmienne utworzone w poprzednich krokach znajdują się w lewym dolnym rogu.
- Twój nowy program powinien wyglądać podobnie do szóstego obrazu dołączonego powyżej.
- Na koniec chcemy ustawić zmienną tekstową jako wyjście. Aby to zrobić, skopiuj i wklej następujący kod na dole swojego programu (poniżej lub zamiast instrukcji print)
zmienne ['Song_Lyrics'] = teksty
Tworzy to zmienną wyjściową o nazwie Song_Lyrics i ustawia ją na równą zmiennej „lyrics”, którą utworzyliśmy wcześniej. Twój końcowy program powinien wyglądać tak, jak ostatni obrazek załączony powyżej. Uruchom kod tylko raz - aby Wayscript wiedział, co się dzieje i mógł tworzyć zmienne wyjściowe. Może to potrwać kilka chwil, ale jeśli trwa zbyt długo, może być konieczne ponowne załadowanie strony. Wayscript zawiera kilka błędów, więc najgorszy scenariusz może wiązać się z koniecznością odtworzenia skryptu.
Krok 8: Wyślij tekst i potwierdź z Alexa
Mamy jeszcze dwa kroki do dodania do naszego przepływu WayScript - krok, który pozwala wysłać wiadomość e-mail do siebie i drugi, który potwierdza, że wiadomość e-mail została wysłana. Zacznijmy od utworzenia kroku e-mail.
- Kliknij „Dodaj krok”, wyszukaj „Wyślij e-mail” i znajdź kartę po lewej stronie
- Użyj zmiennych utworzonych w poprzednich krokach, takich jak „Nazwa_utworu” (lub Tytuł_utworu) i „Song_Lyrics”
- Możesz sformatować wiadomość e-mail w dowolny sposób. Na przykład dodałem słowo „Teksty” po zmiennej „Nazwa_piosenki” i dodałem u góry zdanie „Oto słowa do żądanej piosenki”.
Ten skrypt wyśle wiadomość na adres e-mail, na który się zarejestrowałeś. Jeśli chcesz wysłać go na inny adres e-mail, być może będziesz musiał zamiast tego użyć akcji e-mail SMTP.
Na koniec potwierdźmy, że wiadomość e-mail została wysłana z Alexą.
- Kliknij „Dodaj krok” i ponownie wyszukaj „Alexa”. Dodaj akcję Alexa.
- Skonfigurowałem to tak, że po wysłaniu e-maila Alexa mówi „Teksty do [Song_Name] zostały wysłane”
Jesteś skończony! Uruchom program raz, klikając przycisk „Uruchom”. Jeśli nie ma błędów, możesz teraz używać go z Alexą.
Krok 9: Gotowe
Aby używać go z Alexą, musisz użyć następujących poleceń:
„Alexa, uruchom Wayscript”
Gdy Alexa potwierdzi, że Wayscript został uruchomiony, powiedz:
„Uruchom [Nazwa programu] z [Nazwa utworu]”
Na przykład mój program nazywa się „Song Lyrics” – jeśli chcę, aby Alexa wysłała mi tekst do Thrillera, powiem:
„Run Song Lyrics with Thriller”
Zalecana:
Wyślij SMS za pomocą ESP8266: 5 kroków
Wyślij SMS-a za pomocą ESP8266: Ta instrukcja przeprowadzi Cię przez kroki, aby wysłać wiadomości SMS przez Internet z płyty modułu ESP8266 NodeMCU na telefon komórkowy. Aby móc wysłać wiadomość, musisz przejść przez kroki, aby uzyskać wirtualny numer telefonu od
DragonBoard410c - Wyślij dane do Ubidots: 3 kroki
DragonBoard410c - wysyłanie danych do Ubidots: Ubidots umożliwia tworzenie pulpitów nawigacyjnych w czasie rzeczywistym w celu analizy danych lub kontrolowania urządzeń. Udostępniaj swoje dane za pomocą publicznych linków lub osadzając je w aplikacji mobilnej lub internetowej.W tym samouczku wyślemy dane na platformę za pomocą Drago
Wyślij dane do platformy AskSensors IoT z przeglądarki internetowej: 6 kroków
Wyślij dane do platformy AskSensors IoT z przeglądarki internetowej: Niedawno opublikowałem instrukcję pokazującą krok po kroku, jak podłączyć MCU węzła ESP8266 do platformy AskSensors IoT. Otrzymałem kilka opinii od osób bardziej zainteresowanych platformą AskSensors, ale nie mają pod ręką MCU węzła. To ja
Wyślij temperaturę i wilgotność do aplikacji Blynk (Wemos D1 Mini Pro).: 15 kroków (ze zdjęciami)
Wyślij temperaturę i wilgotność do aplikacji Blynk (Wemos D1 Mini Pro).: Ta instrukcja dotyczy używania Wemos D1 Mini Pro do wysyłania danych (temperatury i wilgotności) do aplikacji Blynk
Dodaj elementy do menu „WYŚLIJ DO”: 7 kroków
Dodaj rzeczy do menu „WYŚLIJ DO”: Menu WYŚLIJ DO to wygodny pasek menu do wysyłania rzeczy z jednego miejsca do drugiego, ale zwykle ma tylko opcje domyślne. Na szczęście możesz dodać opcje w menu, aby ułatwić przelewy