Alexa does Dolly: Integrating Amazon Echo and Sonos, Part 1
This is the first of a five part series in which I will (hopefully) integrate Amazon Echo with my home Sonos speaker system, allowing me to play Dolly Parton’s hits with a simple voice command. Come with me on a journey through DIY geekdom which will involve getting node.js working on a Raspberry Pi, creating a new Alexa Skill, exposing your home network to Amazon, and designing commands for Alexa that actually work.
The joy of Sonos
Last year, after many years of hearing how great they were, I decided to invest in a series of Sonos speakers for my home. I was instantly pleased with my purchase. With my whole home now ‘wireless for sound’, I can listen to whatever I want, wherever I want, or synchronise music around the whole house. Coupled with my Spotify subscription, the variety of music I can listen to is truly amazing. Though as anyone who knows me will tell you, this often consists of cheesy German pop music or Dolly Parton.
Joining the Dots
Anyway, enough of my questionable taste in music. Fast forward to September last year. The Amazon Echo launched in the UK and, as a vision of the future, this really sparked my interest. Here was a device that could control my entire home just using my voice (or make amusing cat noises – whatever takes your fancy). Not one to be left behind in the tech stakes, I promptly ordered several Echo Dots to place around the home.
I chose the Dot over the full-size version for two reasons:
1. it was cheaper by £100, making it much easier to justify to a spouse who regularly rolls his eyes at my obsession with the latest tech, and
2. I’d already distributed a series of perfectly good speakers around the house.
I’d done some initial research and discovered that Sonos integration was just around the corner. In the meantime, I’d still be able to use the Echo Dots to order takeout, call an Uber and switch the lights on and off (I also bought some Philips Hue light bulbs around the same time. That prompted some eye-rolling as well). Once the integration was launched, I’d be able to call up Dolly Parton’s entire back catalogue using just the power of speech. Happy days!
Closing the Alexa-Sonos skill gap
Fast forward to now, and there’s still no official announcement of when the integration will be launched, which presents a problem. I still have to get my phone out of my pocket and use my actual hands to change the music!
So, I decided to do some research. A quick search using your favourite engine (I doubt that’s Bing) will turn up lots of information about the promised official integration, but also one intriguing post regarding a GitHub project for an unofficial integration.
So, here goes – let’s see if this does what it says on the tin!
At first glance, it doesn’t look for the faint-hearted. If you’re not comfortable using a Linux command line, or don’t know what node.js is, then this probably isn’t for you. Still, being a geek at heart, I’m pretty confident I can do this.
From what I can tell, this is what I need
- A Raspberry Pi (or other server) running node.js
- An Amazon Web Services account
- A Lamda app (this will be hosted in the AWS account)
- An Amazon Alexa developer account
- A new Alexa Skill
The only thing I need to buy is a Raspberry Pi, for which I’ve just placed an order – check back soon to see how I get on.