Monday, October 13, 2014

Raspberry Pi Conference Room Schedule Display

The company I work for recently moved into a new office, and I've been wanting to make a digital display to put outside the conference room I'm near, so that I know if it's free for ad-hoc meetings, or if I need to find somewhere else to convene.  Since I recently worked on a project that involved querying Exchange WebServices (EWS) to retrieve information, and the room has a shared calendar with the schedule, it seemed like a pretty straightforward project.  It was.

Part 1 - The Hardware
Start with one Raspberry Pi (http://www.amazon.com/RASPBERRY-MODEL-756-8308-Raspberry-Pi/dp/B009SQQF9C), add a 2.8" TFT touchscreen that attaches on top (http://www.adafruit.com/product/1601), and a micro USB Wi-Fi receiver (http://www.amazon.com/gp/product/B003MTTJOY).  Cobble together the two boards into a case printed on a MakerBot (box from http://www.thingiverse.com/thing:233396), configure the operating system to connect to the office network and launch the browser to the schedule in fullscreen, and presto, you've got a dandy device that can display the schedule outside a conference room, with only a power cable going to it.

Part 2 - The Software
Using EWS, write an app to retrieve the events from a shared calendar (in this case, the calendar for the conference room in question).  Push that data into a database, and schedule the app to run every hour (Efficient?  No.  Effective and simple?  Sure is).  Then create a simple PHP web page to query the database for the data and format it into a website designed for the screen resolution of the TFT.  Bam, you just created a conference room schedule board that shows the meetings scheduled for each day.

End result: