We teamed up with hack.guides() to bring you a Tutorial Contest in June. Hack.guides() is a community of developers focused on creating tutorials to help educate and share technical knowledge. The purpose of the contest was to provide developers the opportunity to share knowledge, help other developers, contribute articles to an open-source project, and win a prize along the way.
Today we’re excited to announce the winner of the hack.guides() tutorial contest.
Alexa developer, ”piratemrs”, built a tutorial that outlines how to build a working, voice-controlled device that can be used to feed pet fish while you are away. The tutorial helps developers learn three broad technical areas: hardware, AWS, Alexa.
Both cloud and hardware technologies were integrated to build this project. The tutorial starts with a lesson on how to add external circuits and motors (servos) to a Raspberry Pi computer. Next, the tutorial steps through how to create an AWS Lambda function and Alexa skill. Finally, the skill and Raspberry Pi system are tied together via a configuration guide using the AWS IoT service. At the end, piratemrs says “Alexa, ask fish tank to feed the fish” and a custom Alexa skill activates a small motor to shake some food into the fish tank.
The tutorial does a great job of breaking down components into separate sections and includes YouTube videos to show the results of testing each piece of the solution. Watch the videos and focus on testing and understanding each component of the solution before moving on.
Read the full tutorial to learn how you can build your own voice-controlled system to feed your fish, control your fish tank lights remotely, and more.
We’d like to thank all the participants who created Alexa tutorials for this contest. The high quality of submissions made selecting a winner a difficult decision. Tutorial submissions were scored using the contest rules provided by hack.guides(), including writing style, communication ability, effective use of technologies/APIs, and overall quality. Here are some honorable mentions.
This tutorial shows you how to design, build, and test an Alexa skill that implements an adventure game. If you are an experienced Node.js developer, but new to Alexa, you will appreciate the thorough breakdown of the ASK functionality and recommended project structure. Read more
This tutorial shows you how to navigate the Amazon developer screens and create your first Alexa skill. If you are a novice developer, you will appreciate the clear screenshots and fun animated GIFs that appear throughout the text. Read more.
To get started, we’ve created easy-to-use skill templates that show new developers the end-to-end process of building an Alexa skill. Visit our trivia game, fact skill, how-to skill, flash cards skill and user guide skill tutorials.
Or check out these Alexa developer resources:
Today’s guest post comes from Michael Garcia, EMEA Solutions Architect at AWS. In this post, we'll discuss how you can voice-control any physical devices using Alexa.
Amazon Echo and Alexa Skills Kit (ASK) are enabling developers to create new experiences with voice-enabled applications. It is a really natural interface to interact with the physical world around us. The new Smart Home Skill API enables you to quickly create Alexa skills to control connected devices for the home, like lights and thermostats, from the cloud. What about controlling other types of devices from the cloud?
That is what the Internet Of Things (IoT) is all about. Today we are going to see how you can connect and control any device using the Amazon Web Services (AWS) platform and Alexa Skills Kit. We’ll start with some basics around AWS IoT, a managed service that will enable you to connect securely your objects to the AWS platform. We’ll create a representation of our physical device and then we’ll see how we can create a new skill to voice control our object from the cloud. If this is the first time you are creating an Alexa skill, I highly recommend you build a trivia skill or create a fact skill. Both blog posts provide step-by-step tutorials so you can build a skill in under an hour and learn the end-to-end process of creating a skill with AWS Lambda.
For those who already have a physical device and want to connect it to AWS IoT, you can consult the quickstart documentation for AWS IoT to easily get started by using the AWS SDKs and sending data to the Cloud.
To start, we’ll use a very simple industrial use case to make things feel more concrete. Imagine that you’re a developer who needs to develop a skill so that an operator in an industrial facility could control a water pump remotely with his voice. To achieve that we will focus on the Alexa Skills Kit and we will simulate having a physical device (the water pump) so everyone can perform the steps described below. We are assuming that the reader also has prior knowledge of the AWS Platform. To get up to speed, feel free to visit the AWS training section.
We will provide you with a glimpse of how to use Alexa and the AWS platform so you can create your own voice-enabled IoT application later.
AWS IoT is a managed cloud platform that lets connected devices easily and securely interact with cloud applications and other devices. AWS IoT can support billions of devices and trillions of messages, and can process and route those messages to AWS endpoints and to other devices reliably and securely. With AWS IoT, your applications can keep track of and communicate with all your devices, all the time – even when they aren’t connected.
AWS IoT makes it easy to use other AWS services with built-in integration so you can build value-added IoT applications that gather, process, analyze and act on data generated by connected devices, without having to manage any infrastructure.
Let’s start by logging into the AWS Console on the IoT page. By default, this will select the ‘us-east-1’ AWS region, we recommend you stick with that region for this article.[Read More]
We’ve been talking about how to get started with Alexa using the Alexa Skills Kit page, and sample skills, such as the Color Expert, using AWS Lambda functions. This article will show you how to setup a deploy script, so that you can manage your code and modules locally, and be able to easily publish changes into AWS Lambda via the command line interface (CLI).
The AWS Lambda console provides a set of management screens for developers to create and configure custom functions, including functions that implement Alexa skills features. Short, simple functions that require only a single block of code can be opened for editing within the Lambda console. However, this online code editor is disabled if you have uploaded a multi-file project. In this case you need to organize source files and any required modules in a folder on your laptop, and then zip these into a package and manually upload them to the Lambda console.
We’ll use the AWS CLI (Command Line Interface) to help us implement DevOps style automation to avoid manually performing the steps repeatedly during an iterative development process.[Read More]