Alexa struggles to send requests across varies networks and on its own local network without dedicated hardware.

What it does

Talk to Alexa, this the communicates with AWS and sends a HTTP request to a node.js server (Also on AWS), This request then updates a server side variable which can then be read by a raspberry pi in order to change it GPIO from any internet connected network.

How I built it

I started with learning to program a basic Alexa skill. I then attempted to allow Alexa to communicate directly with Raspberry Pi on local network (Alexa doesn’t like doing this). I then created a node.js server on AWS which could route requests from Alexa to the Raspberry Pi. I enabled Alexa to send HTTP requests to the node.js server. The raspberry Pi was then programmed to use a GET request to get data from the server. I then built a basic circuit to demonstrate the functionality

Challenges I ran into

Alexa doesn’t like to communicate locally, instead Alexa likes to run all commands as if external (running from AWS). Accessing a raspberry Pi from the internet on the university network isn’t possible so I created a node.js server hosted at AWS to allow me to get information from Alexa.

Accomplishments that I'm proud of

Getting Alexa to send a HTTP request

What I learned

Alexa isn’t very good for debugging.

What's next for AlexaIO

Size down and increase functionality.

Share this project: