Thursday, December 8, 2011

DIY: Wireless Internet Enabled Photo Booth

Part V: Upload Images Captured By Photo Booth to the Internet!

I volunteered to come up with a photo booth solution for a friends wedding coming up at the end of 2011. They couldn't decide if they wanted to provide prints for the guests, or have everything available online after the fact. I decided that it would be a good idea to have the option of both. Hooking up a photo printer will not be a problem if they decide to go that route. As an alternative, I came up with the idea of uploading the files as they were taken to one of my online galleries. During my research, I did find a number of options for batch uploading of files, but I really needed a solution that would detect new files as they came into a folder, and them upload them to Flickr or SmugMug.

I stumbled across a number of possible solutions, but ended up going with a python script that runs on a Windows machine from the command line that will monitor the contents of a specified folder, and upload any images as they are saved to my Flickr account. The script is configurable, and can be set to run continuously. For the Photo Booth project, this is pretty slick, as it will provide an online backup of the images shortly after they are taken.

Requirement: Internet Access (Wired & Wireless Options included.)
The stand which holds my Photo Booth PC has been modified to include a RJ-45 port that can be hooked up to any standard internet connection through a patch cable, as well as a wireless network adapter to connect to any open nearby WiFi connection. I installed a Leviton quickport wall jack, used a RJ-45 quickport module, and manually modified a "Blank" insert to house the wireless antenna port. To do this, I drilled a hole into one or the blank inserts big enough to screw the female end of the RP-SMA to SMA cable. The cable was attached to the PCI card on the computer inside the cabinet. I'm not sure this was necessary, but wanted ensure a good signal to the PC. Modifying a blank insert was a simple solution to the fact that I don't think that these type of quickport modules exist, or at least not from Leviton.


The wall plate also has a USB port module as well as a HDMI port. These were added to ensure connectivity with an external Photo printer through USB, and the ability to connect a projector or HD TV to the booth to display a slide show via HDMI. The wall plate has 6 openings, and I've used 4 of them, leaving room for expansion if necessary. Here are the parts I used:



Automated Image Upload to Flickr: Python & upload.py
There are many options for uploading files to the internet, but needed something that would be automated. I personally use SmugMug and Flickr to host my online images. I started with trying to find a solution for SmugMug, but found that all of the available options were dated, and potentially broken by changes to the SmugMug API. I settled on using Flickr, and a command line uploader that leverages the Python programming language. I found uploadr.py from http://beserk.org/, a script offered by Cameron Mallory, which tested and worked perfectly for my requirements. You can edit the script to specify the image location, and set image attributes like tags and who can see them in your gallery. I set my script to private, kept the default tag of "auto-upload" and tested the script.

You can see by this screenshot that the command line needed to authenticate to Flickr, which brought up my default browser and asked for permission to allow this type of integration. After selecting "Y", it uploaded 3 existing images in the folder. It waited for 2 more cycles of checking at 60 second intervals, and then uploaded 3 more images that were added to the folder.


Basically, as people filter through the Photo Booth, all images captured will be uploaded to Flickr automagically within a few minutes depending on the upload speed of the internet connection. This not only provides an instant backup, but additional opportunities to display the images away from the photo booth. I think that the automated upload gives this DIY "booth" some flair, and isn't something I've seen before. Can't wait to test it out!

Update: The wedding venue did not have free WiFi, and I was not able to add this into the actual event. However, I think with a fast enough broadband connection with a decent upload speed, this would be a viable method for image backup.