The Software Architecture

A project log for Picture, Picture, On the Wall

I bought an Alexa back in 2014, and now with an Electric Objects' picture frame I can make it show me thing

Tim WilkinsonTim Wilkinson 12/24/2016 at 08:530 Comments

This diagram outlines the basic software architecture for Picture, Picture (the two green objects are the only physical components required):

The basic operation goes something like this:

When the EO2 boots up, it loads the URL of the Picture Picture app via the API Gateway. The actual web app is hosted by an AWS Lambda function acting as an ExpressJS web server. This web app, once loaded, displays the default image and subscribes itself to Amazon's IoT service.

A person later triggers the Picture Picture Alexa Skill using the phrase "Alexa, tell me ....". This skill understand various commands, and sends the appropriate "Intent" to the same Lambda function (the Lambda function differentiates an incoming Alexa call from an incoming HTTP request - so only one Lambda function is necessary). The function acts on the intent and creates the speech which it sends back to the calling Alexa. It also generates a corresponding image and, using the AWS IoT service, pushes the image's URL to the EO2 frame. The web app on the EO2 received this push message, and displays the URL on the screen.

Alexa speaks and EO2 shows.