Skip to content

insum-labs/alexa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alexa

Help guide on Amazon Alexa for Hackathon 2018

About

This guide will demonstrate how to get a Hello World example working with Alexa using multiple techniques. The focus of this guide is for Insum's internal Hackathon 2018 but can be used/leveraged for other purposes. This guide won't walk you through all the different options/possibilities of the Alexa API.

There are a lot of moving parts when working with Alexa and it can get confusing at times. Please always keep the following in perspective when developing for Alexa:

FAQ

To help with the hackathon we'll be maintaining an FAQ document

How Alexa Works

This is a very simplified diagram of how Alexa works. A text description follows. If you ever get confused, always refer back to this diagram.

  • User "asks" Echo something
    • This request is sent to Alexa (i.e. Amazon's servers)
  • Alexa analyzes request
    • Alexa makes a REST request to a server of your choice
    • Your RESTful service processes request from Alexa then sends a response back to her
  • Alexa sends text back to Echo device, and Echo says the response

Setup

To register the Amazon Echo device, an Amazon account is required. Either use your existing Amazon account or create a new one (using your Insum email address).

Follow the instructions to set up the device. A phone or tablet will be required for this process.

NOTE The language setting determines what skills are available to the device. Be sure to select a matching language when creating a skill.

Alexa Developer Account

Go to developer.amazon.com. Use your Amazon account to sign in.

AWS Developer console

If you'd like to use Lambda you can either create and manage your own account and IAM setup. More information can be found in the `asl-cli-lambda.md' document.

An alternative is to use one already setup for you. Just ask Martin D to give you a Access ID and a Secret Access Key.

Note: If you using one provided by Martin, don't create a Bitcoin miner as it's coming off my credit card :-)

ASK CLI

If you'd like to use the Alexa Skill Kit (ASK) cli to manage and deploy your skills you can install everything yourself here.

There is also a docker container with everything built in for you here

Links

Title Description
Alexa Developer Home
Skills Console Build, manage, test skills
Understanding How Users Invoke Custom Skills How to properly ask Alexa questions
Glitch Create node.js apps online. No need to host your own server / manage https certificate. If you use this, sure to set the certificate type to Wildcard in the Endpoint definition.

Definitions

It's important to understand Alexa's terminology. Below is a brief overview of some key terminology. For a more complete overview read this article.

Term Description Example
Wake Word What Alexa "listens to" before taking an action. In most cases it will be Alexa but can be configured to Amazon or Echo. Alexa what time is it. In this example Alexa is the wake word.
Skill "App" for Alexa Complete list of Alexa skills here. Each one of them are skills.
Invocation Trigger word for skill "Alexa, ask CBC for help" In this case the invocation is CBC. For custom skills invocations should be 2 or more words.
Utterance What follows an invocation to determine intent "Alexa, ask CBC for help". In this case for help would be the utterance. An intent can have multiple utterances.
Intent What user is requesting / function to perform based on the utterance. "Alexa what is the weather" - the intent is to find the weather. This is not a "text" thing, rather the function to call for a given Utterance.
Slot Slots are like "parameters" to leverage. Alexa tell Oracle Demo my name is Martin the slot would be Martin. Read the docs for more info.

About

Help guide on Amazon Alexa for Hackathon 2018

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published