Alexa does Dolly, Part 2: Setting up Raspberry Pi and node.js
In the last post I explained how, in the pursuit of home entertainment nirvana (playing Dolly Parton’s greatest hits by voice command), I set myself the task of integrating Amazon Echo and Sonos. That post contains a list of things you’ll need to follow along at home. In this post, we move into the build phase by setting up our Raspberry Pi and getting node.js running on it.
So, here we go, I have my shiny new Raspberry Pi. I opted for a Raspberry Pi starter Kit from U Create. This contains everything you need to get up and running including the Pi itself, a case, an SD card containing the NOOBS software and all the required cables.
Getting the Raspberry Pi up and running couldn’t have been more straightforward with this kit: simply slot in the SD card, plug in a mouse and keyboard, and plug into an HDMI monitor, et voila!
Installing node.js on our Raspberry Pi
The next job is to get node.js installed. This guide from Dave Johnson was pretty handy. This covers everything from the initial set up and configuration of your Raspberry Pi, including setting up remote desktop access.
If you bought the same starter kit as me, you can skip straight to the section entitled ‘Prep the Hardware’ in Dave’s guide (you also won’t need to connect a Wi-Fi adapter, as the Pi 3 already has one on board). I also didn’t need to worry about localisation, as I’m in the UK. I’m connected to a wired network at home, so wasn’t worried about configuring my WiFi, but go ahead and do this if you need to.
I’m using a Mac, which means establishing remote access is a bit different to what’s described in Dave’s article. Instead, I used the instructions at TechTonic.
Next, just follow Dave’s instructions to set up node.js, and we have all the basic building blocks in place.
As easy as A-P-I
The next step is to get our node-sonos-API up and running. To do this we’ll need to jump back to the instructions we looked at in our first part (by rgraciano on GitHub) and follow the section called ‘Get jishi’s node-sonos-http-api working’.
This should be pretty straightforward and, all being well, you should be happily be able to control your Sonos system from a browser by typing in some URLs.
Try playing around with some of the API endpoints provided in jishi’s readme file to test it out.
But what about Alexa?
In the next part we’ll look at how to connect your new integration to the outside world. And we’ll create an Alexa skill so that, with the right commands, you can play ‘9 to 5’ without lifting a finger.