Do you want a cool, useful, and easy to do project that can be completed in a weekend? Well then this is the project for you! In this tutorial I will be guiding you on how to make your very own Alexa Pi
Step 1: What Is an Alexa Pi?The Alexa Pi project is a raspberry pi that is running amazons "Alexa voice services" and a wake word agent service to make a (nearly) fully functioning Amazon Echo for less than $50. The reason I say nearly is because it does not have the capability to use Amazon Music, but there are other alternatives to use for that such as airplaying your music to it.
Step 2: Things You Will Need1. A Raspberry Pi 3(raspberry pi 2 will work but I recommend the Pi 3 because it is a lot faster)2. Speaker that you can plug into the pi's audio jack3. USB microphone(I'm using a PlayStation eye but I found that a USB webcam with a microphone also works)4. Micro USB for power5. Heat sinks6. 8gb micro sd card
Step 3: Setting Up Your PiThe first thing we will need to do is set up our Pi with raspbian. For this build you will need to download an image of raspbian Once you have downloaded the image you will need to flash the micro SD card. To do this follow this tutorial on the raspberry pi website:Once you have flashed your sd card eject it and put it in your Pi and power it up. Once the raspberry pi has booted up and you are on the desktop you are going to need to connect the Pi to your wireless network.When you have connect to your wireless network go to preferences and click on audio then click select controls and select pcm. Then click on the top bar and click on your microphone and click on select controls and click on microphone.
Step 4: Setting Up Your Amazon Development AccountGo to https://devloper.amazon.comThen create/login to your Amazon developers account. Click on the Alexa tab, then click register an new product and check off device. Then set your device type and name Then Click Next.On the Security Profile screen, slick “Create new profile.”Under the General tab, next to “Security Profile Name” name your profile. Do the same for the description. Click Next.Make a note of the Product ID, Client ID, and Client Secret that the site generates for you.Click the Web Settings tab, then click the Edit button next to the profile dropdown.Next to Allowed Origins, click, “Add Another” and type in: https://localhost:3000.Next to Allowed Return URLs, click “Add Another” and type in: https://localhost:3000/authresponse Click Next when you’re done.The Device Details tab is next. It doesn’t matter much what you enter here. Pick a category, write a description, pick an expected timeline, and enter a 0 on the form next to how many devices you plan on using this on. Click Next.Finally, you can choose to add in Amazon Music here. This does not work on the Pi powered device, so leave it checked as “No.” Click Save.Now you have created your account we can move on to the next step
Step 5: Downloading the Source CodeFirst go into terminal and type "sudo apt-get update"When that is completed type in
"sudo git clone https://github.com/alexa/alexa-avs-sample-app.git
This part is when you will want to ssh to your pi so that you can easily put in your developer info without any mistakes.When that is done type in "cd Desktop/alexa-avs-sample-app"Then type "Sudo nano automated_install.sh"And put in your client Id, client secret, and product id from the Amazon developer account.Then type sudo bash automated_install.shThis can take anywhere from 30 mins to 1 and a half hours to finish and if it asks if you want to replace any thing just say yes
Step 6: Running the Alexa ProgramFor this we will need to open three separate terminal windows.In the first one type in
"cd Desktop/alexa-avs-sample-app/samples"
Then type
"cd companionService && npm start"
In the second window type in
"cd Desktop/alexa-avs-sample-app/samples"
Then type
"cd javaclient && mvn exec:exec"
When the box asking you is you want to open the link in your browser click yes. After you get the window saying your connection isn't safe click on advanced options and click continue to URL. Then fill in your credentials and press ok and wait until it says device tokens ready. Then go back to the java window and press ok and you should see you token in the box.Now in our third and final terminal window we are going to run our wake word agent. There are two agents but only one works. So what we are going to do is type in "cd Desktop/alexa-avs-sample-app/samples"Then type in "cd wakeWordAgent/src &&./wakeWordAgent -e sensory"Now your Alexa Pi should be up and running
Step 7: Setting Up Your Pi for Music AirPlayType in "sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl" and press Enter. This installs different software you’ll need.Press Y when prompted and wait for everything to download and install.Type in "git clone https://github.com/njh/perl-net-sdp.git" and press Enter. This is required for the newest version of AirPlay’s software. The next few commands build and install this software.Type in "cd perl-net-sdp" and press Enter.Type in "perl Build.PL" and press Enter.Type in "sudo./Build" and press Enter.Type in "sudo./Build test" and press Enter.Type in" sudo./Build install" and press Enter.Type in CD.. and press Enter.Now you’ll grab shairport, the DIY Airport software. Type in "git clone https://github.com/hendrikw82/shairport.git" and press Enter.Type in cd shairport and press Enter.Type in Make and press Enter.Type in./shairport.pl -a AlexaPi and press Enter.Now you will be able to stream music to your Alexa pi
Step 8: PS3 Eye Microphone Problemsso I had so trouble setting up my PS3 eye microphone with the raspberry pi but I ended up going to these 2 websites for help on how to set it up. I'm not great at explaining what I did(in fact i'm not sure what I did) but here are the 2 websites to look at if you are using the PS3 eye as your microphone.
https://renatocunha.com/blog/2012/04/playstation-e...
https://me.m01.eu/blog/2014/07/an-asoundrc-alsa-co...
Step 9: Congratulations ALEXA WORKS
Comments