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.