I recently bought my first Raspberry Pi (the Raspberry Pi 3 to be specific) and I was looking for a project to work on. There are hundreds of different cool project you can build on Instructables. A few I was considering were:
However, one project really sang to me: build your own Amazon Echo (Alexa) with a Raspberry Pi. I have Alexa and she is fantastic! I love calling out a song to play, asking the time, or setting a timer. My 3-years old daughter non-stops says, “Alexa, play Stressed Out!”…a song by Twenty One Pilots. I wanted to hook up “Alexaberry” to my bathroom radio and play iHeart Radio through hands-free voice commands.
I won’t go over how to build an Alexaberry since the fantastic step-by-step GitHub code and instructions or the Youtube video are available. I have to say, it was a lot of fun doing this low-complexity level project (if you know Linux, possibly high if you don’t know). You’re essentially setting up a Node.js server that connects with Amazon’s Echo API and a Java client that connect with the Node.js server. Give voice commands through the Java Client and Alexa will respond. I was able to ask the time, be told some Star Wars jokes, and play iHeart Radio stations. (My family was wondering why I was to excited when the music started playing.) One thing the API doesn’t allow you to do is play Amazon Prime music. I guess they don’t want you doing something nefarious. Also, I highly suggest checking out the FAQ if you run into issues. I had a certificate issue the FAQ helped resolve.
The project ended up being a good introduction to the Raspberry Pi with a serious draw-back I didn’t realize up front. Essentially, the Java Client is not always listening like the Amazon Echo. You need to activate the listening to take a command. No hands-free voice commands. This means you need to either have a monitor and input device (mouse/keyboard) or be creative with the big red button…
Overall, it was a great project and a lot of fun. I'm glad I did it; I learned a lot about the Raspberry Pi, and am inspired to start my next project… a Retro Arcade.