#HowTo make a photobooth / Part 3 The new remote display

#HowTo make a photobooth / Part 3 The new remote display

Also see:

Part 1: #HowTo make a photobooth with i.MX processor based Utilite and Wandboard, Freedom KL25Z board
Part 2: #HowTo make a photobooth / Part 2 The new starting point

The “Remote Display” is the slide show of composite images generated from the booth during an event. Its a separate monitor and board which is connected via a dedicated local network to the computer in the booth. To date, there has only been one remote display but several can be placed around a venue to stir up excitement and share the joy from the photo booth.

In the original incarnation of the booth, the remote display used a stock Android application that met two simple requirements: it could play a slide show via Windows file sharing and it would periodically refresh the directory contents so that new images from the photo booth would show up in the slide show.

Upon exiting the old booth, people often looked for the image they just generated. The canned Android app could not do that nor was it something easy the author of the app could add (I asked). As for me, the learning curve to write an Android app that did exactly what I wanted was even steep… Eventually I realized that I already had the tools and skills at hand to write my own slide show, and quite easily: I could use Pygame just like I did for the computer in the booth.

Here’s a very high-level flow chart of the new remote display slide show script:

SlideshowFlow

Instead of using SAMBA sharing like the original booth, the booth computer will be running a web server with directory indexing.

After the slide show script starts, it queries the booth web server to see if there is a new photo ready. If there is, the new file is copied locally and then displayed immediately. The new image holds on the screen for a longer period than older images—10 seconds versus 3 seconds at the moment, but this may change—giving people a chance to see and discuss it. Once an image is finished displaying, the web server is checked again for a new image. Once all the existing images have been displayed, the sequence in which they are played is shuffled.

In the case of the old booth, there was network activity every time a new image was display during the slide show. In this new slide show script, each photo is copied to the remote display board. This reduces the load on the booth computer because each image is copied only once per remote display. In addition to the composite image, I plan to have the script copy over the raw files as well, creating a redundant backup of all the images.

A snapshot of the script files as of 5 May 2015: libslideshow.py.txt and slideshow.py.txt

Some things that still need to be added are (and there are probably more, too):

  • A means to reboot and shutdown the remote display via the web server
  • Images that prompt users to visit the photo booth into the slideshow at random intervals (stored locally)
  • Adding checks for valid network to keep the script from crashing if the web server is not up or there is no network
  • Adding in the screen size for the Hummingboard and HDMI TV

David DiCarlo
David DiCarlo
The human analog of a Swiss Army knife, David DiCarlo has been by providing hardware systems support for the past 17 years for the i.MX family of applications processors and audio digital signal processors, enabling customers to bring their products to market. Formally schooled as a material scientist (ceramics in particular), he plays an engineer by day and maker/re-maker the rest of the time.

Comments are closed.

Buy now