Kaip suprogramavau savo pirmąjį „Amazon Alexa“ įgūdį ir laimėjau nemokamą „Echo Dot“

Jau metai, kai pradėjau mokytis koduoti. Koduoti susidomėjau dėl noro dirbti su kitais grožio, mados ir prabangaus gyvenimo būdo pasaulyje. Norėjau sukurti nuostabias svetaines su animaciniais elementais ir kitomis skaitmeninėmis laikmenomis.

Pradėjau nuo internetinių kursų ir po mėnesio atradau „freeCodeCamp“. Štai tada išmokti koduoti tapo įdomiau ir įžvalgiau.

Realiu laiku bendraujama su kitais programuotojais, pasirengusiais padėti jums įveikti interaktyvius iššūkius. Jie teikia grįžtamąjį ryšį ir rekomendacijas tolesniam mokymuisi. Tai padėjo augti mano pasitikėjimui ir tobulinti kodavimo įgūdžius.

Birželio pradžioje draugas man papasakojo apie internetinį internetinį seminarą „Sukurkite balso įgalinimo patirtį su„ Amazon Alexa ““. Internetinio seminaro idėja padidino mano smalsumą, nes tuo metu mačiau tik reklamas, bet nenaudojau „Alexa“ įgalinančio produkto. Aš užsiregistravau ir susižavėjau.

Internetinio seminaro pabaigoje dalyviai gavo informacijos apie akciją. Jei per 30 dienų sukūrėte įgūdį ir jį paskelbėte, turėjote teisę laimėti nemokamą aido tašką. Nežinojau, ar turiu pakankamai žinių, kad pavyktų, tačiau nusprendžiau pabandyti išmokti.

Mintis sukurti savo pirmąją programą buvo įdomi. Tuo metu prasidėjo mano „Alexa“ mokymosi patirtis.

Kas yra „Alexa“ ir kaip tai veikia?

„Alexa“ yra debesies pagrindu veikianti balso paslauga, teikianti daugybę balso galimybių namuose. Įrenginiai, kuriuos „Alexa“ valdo, apima „Amazon Echo“, „Echo Dot“, „Amazon Tap“ ir „Amazon Fire TV“.

„Įgūdis“ yra „Alexa“ valdoma balsu programa.

„Alexa“ teikia „Įgūdžius“, kurie leidžia vartotojams bendrauti su įrenginiais. Įgūdžiai gali būti sukurti daugeliui dalykų. Jie gali atsakyti į klausimus, žaisti smulkmenų žaidimus, groti muziką, nustatyti žadintuvus, pasakoti anekdotus ir dar daugiau.

„Alexa Skills Kit“ (ASK) yra įrankių, API, dokumentų, kodo pavyzdžių ir šablonų su nuorodomis į „GitHub“ rinkinys. ASK padeda kūrėjams kurti įgūdžius „Alexa“ įgalintiems įrenginiams.

„Alexa Skill“ turi du pagrindinius komponentus: įgūdžių tarnybą ir įgūdžių sąsają.

Jūsų kodas yra parašytas „Node.js“, skirtame įgūdžių tarnybai, kuri gyvena debesyje („Amazon AWS“, „Lambda“, HTTPS paslauga). Ji gauna instrukcijas, kaip nustatyti veiksmus, kurių reikia imtis atsakant į vartotojo užklausas iš įrenginio, kuriame įgalinta „Alexa“.

Įgūdžių tarnyba įgyvendina įvykių tvarkytuvus, kurie apibrėžia, kaip įgūdžiai elgsis. Įvykis suaktyvinamas, kai vartotojas kalba su „Alexa“ įgalintu įrenginiu.

Tada sukonfigūruosite įgūdžių sąsają naudodami „Skill Developer“ portalą. Sąsaja apdoroja vartotojų žodžius, kad suaktyvintų įvykius, kuriuos vykdo „Skill Service“. Šioje srityje jūs nustatote, ką vadinti savo įgūdžiu, kad vartotojas galėtų jį iškviesti vardu. Čia taip pat apibrėžiate įgūdžių sąveikos modelį. Taip ji žino, kaip klausytis naudotojų sakomų žodžių ir atsakyti pateikiant numatytą informaciją.

Tai yra dviejų komponentų sąveika, dėl kurios įgūdžiai veikia.

„Amazon“ komanda pateikė nuorodas į tris įgūdžių šablonus. Šie šablonai puikiai padeda jums pradėti ir sužinoti, kaip Alexa sąveikauja ir reaguoja.

  • Faktų įgūdžių šablonas

    sukurti kažką panašaus į „faktą“ ar „pokštą“.

  • Sprendimų medžio šablonas

    sukurti paprastus nuotykių žaidimus ir viktorinas

  • Kaip šabloną

    sukurti įgūdžius, pavyzdžiui, receptų turinį su panašiais žingsnis po žingsnio.

Plius daug daugiau tarpinių ir pažangių šablonų.

Dabar turiu tris paskelbtus įgūdžius: „Makiažo faktai“, „Mados faktai“ ir „Merginos gali kodas“. Dirbu kaip laisvai samdoma vizažistė ir mados stilistė ir nusprendžiau pradėti nuo to, ką žinau geriausiai.

Norėdami sukurti šiuos „Faktų įgūdžius“, aš apžvelgiau temą ir informaciją apie įgūdžių kūrimą. Tada aš sukūriau savo faktų sąrašą, kuris bus integruotas į „Faktų įgūdžių“ šabloną. Visi įgūdžiai buvo priimti ir paskelbti per porą dienų.

Kaip aš sukūriau savo pirmąjį įgūdį

Eikite į „Amazon Developer Portal“ prisijungimą, ekrano viršuje spustelėkite „Alexa“.

„Alexa“ puslapyje pasirinkite „Pradėti“, skirtą „Alexa“ įgūdžių rinkiniui.

Kitame puslapyje..pasirinkite „Pridėti naują įgūdį“.

Tada užpildykite informacijos puslapį.

Įgūdžių tipas: pasirinktinis

Kalba: anglų

Pavadinimas: Makiažo faktai

Kvietimo pavadinimas: (ką jūsų vartotojas turės pasakyti, kad pradėtų įgūdžius) makiažo faktai

Spustelėkite šalia norėdami pereiti į sąveikos modelio puslapį. Čia kuriate ketinimus arba tai, ko vartotojai paprašys „Alexa“. Tada sukurkite pasakymus ar galimus būdus, kaip vartotojas paklaus Alexos apie jūsų sukurtą įgūdį. Radau, kad ši „GitHub“ saugykla yra naudinga. Pavyzdžiai apima: duok man faktą, pasakyk man faktą.

Mano Ketinimų į Interactive modeliomakiažo faktai

{ “intents”: [ { “intent”: “GetNewFactIntent” }, { “intent”: “AMAZON.HelpIntent” }, { “intent”: “AMAZON.StopIntent” }, { “intent”: “AMAZON.CancelIntent” } ] }

Mano Pasakymai į Interactive modeliomakiažo faktus.

GetNewFactIntent a factGetNewFactIntent tell me a factGetNewFactIntent tell me a makeup factGetNewFactIntent give me a factGetNewFactIntent give me a makeup factGetNewFactIntent tell me triviaGetNewFactIntent give me triviaGetNewFactIntent give me some informationGetNewFactIntent tell me somethingGetNewFactIntent give me something

Dabar atėjo laikas įsteigti „Lambda“. Eikite į //aws.amazon.com/ ir prisijunkite prie konsolės. Tada eikite į paslaugas - „Lambda“ .

On the top right of your page, make sure your AWS Region is N. Virginia.

Then click the blue button to create a Lamda function.

Choose the blueprint that looks like this:

Configure your trigger. Make sure you choose Alexa Skills Kit in the drop down menu.

Configure your function. Make sure your function name is written in camelBack. You can leave the description blank, but you are building this in Node.js.

Add your updated code.

There is an AlexaSkill.js file written with specific event handlers. It specifies output, prompt and speech. There is also an Index.js file that you customize to meet the needs of your Skill.

Girls Can Code (index.js)
‘use strict’;var Alexa = require(‘alexa-sdk’);
var APP_ID = “amzn1.ask.skill.1f2c85a9-b1b6–49a8-b94d-8a795d545d98”;
var SKILL_NAME = “Girls Can Code”;var GET_FACT_MESSAGE = “Here’s your fact: “;var HELP_MESSAGE = “You can say tell me a code fact, or, you can say exit… What can I help you with?”;var HELP_REPROMPT = “What can I help you with?”;var STOP_MESSAGE = “Goodbye!”;
var data = [ “Coding is awesome.”, “You can create tools that will change the world.”, “Coding is creative.”, “Coding is like solving a puzzle.”, “Coding work can be done remotely”, “Learning code is empowering.”, “Technology and coding help create the future.”, “Girls who can code have the edge”, “Anyone can code. You’ll discover something new.”, “Coding promotes critical thinking”, “Women make great coders”, “Girls who code are role models for all women.”, “Girls who code know that technology is not just for boys.”, “Jobs in tech are in demand.”, “Coding is the language of the 21st century”, “Girls who code help close the gender gap.”, “Coding can be done anywhere, anytime”, “Working in tech can be a very lucrative career choice”, “Coding is not just about building robots and website, you learn to create things that don’t exist”, “A girl who codes could create the next new social media app”, “A girl with tech skills can change the ways businesses communicate”, “Girls who code love to learn.”];
exports.handler = function(event, context, callback) { var alexa = Alexa.handler(event, context); alexa.APP_ID = APP_ID; alexa.registerHandlers(handlers); alexa.execute();};
var handlers = { ‘LaunchRequest’: function () { this.emit(‘GetNewFactIntent’); }, ‘GetNewFactIntent’: function () { var factArr = data; var factIndex = Math.floor(Math.random() * factArr.length); var randomFact = factArr[factIndex]; var speechOutput = GET_FACT_MESSAGE + randomFact; this.emit(‘:tellWithCard’, speechOutput, SKILL_NAME, randomFact) }, ‘AMAZON.HelpIntent’: function () { var speechOutput = HELP_MESSAGE; var reprompt = HELP_REPROMPT; this.emit(‘:ask’, speechOutput, reprompt); }, ‘AMAZON.CancelIntent’: function () { this.emit(‘:tell’, STOP_MESSAGE); }, ‘AMAZON.StopIntent’: function () { this.emit(‘:tell’, STOP_MESSAGE); }};

Create a compressed file with the above two files and upload the zipfile into Lambda.

Skip the Advanced settings.

Copy the ARN # in the top right hand corner of your screen.

Go back to the Amazon Developer page. Select your skill and click on the Configuration tab located in the left sidebar menu.

Select the AWS Lambda option. Check the North America box. Paste the arn# that you copied from your Lambda dashboard.

Test your Skill. If necessary, update it so that it works properly. This GitHub Repository gives you the sample code for creating a Fact Skill. Check it, clone it and update it to write your own.

You can test your code in the Developer Console, in the Lambda functions, on your Echo and at Echoism.io.

Enter your Publishing and Privacy information.

Congrats..you’re ready to submit for certification.

It takes a few days to hear back from the Amazon Developer Team. If your Skill is approved, then everything works and all of the information is compliant. Your Skill will be certified and published and available for others to use.

If not, you will receive feedback and suggestions on what you need to to to resolve any issues so you can re-submit.

What I learned

  • It’s helpful to have some familiarity with JavaScript and Node.js.
  • You will need an AWS (Amazon Web Services) account and an Amazon Developer Account to complete and submit Skills.
  • Review the words you cannot use that will conflict with how Alexa responds.
  • Listen to the preview of your Skill. It’s extremely helpful to know your information flows.
  • It’s very different creating something that is voice activated by an end user as compared to reading on a screen.
  • Apsimesk, kad rašydamas savo įgūdžius esi galutinis vartotojas. Tai man padėjo suprasti, kaip vartotojas paprašys „Alexa“ informacijos.
  • Jei jūsų įgūdžiai nepriimami, peržiūrėkite „Alexa“ įgūdžių komandos atsiliepimus. Jie teikia puikią informaciją, kuri padės jums paruošti įgūdžių sertifikavimą.
  • Jei jūs patobulinsite vieną iš savo esamų įgūdžių, patobulinti įgūdžiai turi praeiti tą patį procesą.
  • Norint įkelti įgūdžius, jums reikia piktogramos ar paveikslėlio, kurį galėsite įkelti pateikdami.
  • Kai jūsų įgūdžiai bus patvirtinti ir patvirtinti, jie bus gyvi „Amazon“.

Šiuo metu dirbu su dviem įgūdžiais. Vienas naudoja „Sprendimų medžio šabloną“, o kitas naudoja „Kaip šabloną“. Tai yra šiek tiek sudėtingiau statyti, bet aš tikiu, kad netrukus juos paskelbsiu.

Aš taip pat turiu savo nemokamą Echo Dot. Bendraudamas su šiuo įrenginiu man kilo idėjų, kaip plėtoti daugiau įgūdžių.