Introduction: Raspberry Pi & Crestron -- Dynamic Digital Poster

About: AV Installer and Programmer by trade, modifier of cars and scooters for fun, tinkerer of all things electronic and otherwise.

So I had bought a Raspberry Pi 2 thinking it would be a good HTPC and replace my giant tower mac pro. It didn't perform fast enough for me and a lot of the add-ons i had ran quite slowly. So i wanted to come up with some other use for it, since i spent the $35 bucks and didn't want it to go to waste.

I was thinking about trying to write a Crestron SIMPL+ module to challenge my skills, and always thought that the digital posters i had seen in pictures of high end home theaters were super cool, so i decided to make my own. I began by learning python scripting and doing lots of reading.

I wrote the crestron module first, which handles sending all the information the raspberry pi needs when a change in data occurs. there are a few different pieces of information that the pi is looking for.

System State, Source Number, User RGB Preset, Movie Genre, and Movie Poster URL

Based on these things the system raspberry pi will act accordingly.

I coded another feature but it is not currently implemented, but that a set of NeoPixels or DotStar LEDs could be controlled by the current source. and if the source supports it the currently playing genre of movie.

Step 1: Python Script

Here is the python script. Im sure there are better ways to write it, but i am an amateur so give me a break. i think i did alright. I wrote everything from scratch but the python server is based on this link - http://www.binarytides.com/python-socket-server-co... so thanks to them for the information. I also read some stuff from a bunch of other website about how to get the URLLib stuff working, but wrote it all myself.

It was a fun challenge. I uploaded some screenshots in case you dont want to download the file you can skim the code.

Step 2: Crestron Module

The crestron module is pretty simple, it just takes the system information and turns it into string format and concatenates it all with delimiters and sends it to the raspberry pi when it changes.

I attached some screenshots here too.

Step 3: Install & Enjoy

So i didnt take too many pictures of the actual build, but it wasnt that exciting.

I knew i would need a few things to make this look the way i wanted it to.

WiFi Adapter - http://www.amazon.com/CanaKit-Raspberry-Wireless-A...

Touchscreen - http://www.ebay.com/itm/121984092033?_trksid=p2057...

Shadow Box - (found at Marshalls)

Long USB Cable - http://www.amazon.com/Anker-PowerLine-Premium-Moto...

Matte Board (i actually used some textured cardboard from Michaels but they didnt have a Matte Cutting guy working on Sunday. stupid Michaels)

I found a hinged opening shadow box at Marshalls that was deep enough to hold the Pi and the 10.1" Touchscreen. (I bought a touchscreen because it would be just as expensive as a TV monitor and i didnt have the space to build a proper bezel for something like that and i can use the touchscreen if i repurpose the raspberry pi in the future)

I assembled the Touchscreen and the Raspberry Pi so that all the circuit boards were inside the plexi panel for safeties sake. (look at the picture in the ebay link) I then used some little pieces of birch plywood i had from mocking something up to make some brackets and screwed the assembly to the shadow box so that it was secure. The front of the shadow box is held closed with magnets and i didnt trust those to hold my $90 touchscreen in there. I drilled a hole in the bottom of the shadow box for the power and then hung it on the wall and fired it up.