We are a team of 4 members with about 30 hackathons worth of experience between us. One thing we noticed at these hackathons was that seldom a Photo Booth was present. So we thought of using all the materials available to us, including trash such as used card board boxes to build a photo booth.
What it does
It is a photo booth affectionately called Scotty that takes 3 pictures of you when you ask it to snap you up. This then sends these photos to the Hackathon's and MLH's Twitter handle.
How we built it
We hacked a DSLR camera to click photos as per a bash script defined by us. We triggered this bash script on the Raspberry Pi using the Google Assistant, which runs on the Raspberry Pi too and awaits a user's photo request. The assistant then sends a request to a Flask micro service that starts execution of the bash script. The bash script writes the images to the Raspberry Pi and then triggers a Python script to combine it into a collage with the user's images and the hackathon/MLH image. Once that image is created successfully, we post the data to Twitter and clean up the Pi's memory to get ready for the next set of photographs. We also spent time on building the casing out of leftover cardboard, duct tape and stickers from around the hackathon venue.
Challenges we ran into
Setting up network interfaces on the Raspberry Pi. We had a Raspberry Pi but no HDMI cable to connect a monitor or an ethernet adapter or an ethernet cable. Therefore, setting up network interfaces using headless mode was a pain. Moreover, wifi never worked and we were stuck with an additional cable. Closer to the submission time, even our ethernet connection stopped working and we weren't able to login, however, it turned out to be an issue with the host computer's OS.
Accomplishments that we're proud of
That we were able to match all our feature specs and go beyond to add aesthetic appeal through recyclable materials.
What we learned
A lot about network interfaces. Quite a few things about bash scripting.
What's next for PhotoMcPhotoFace
Filters applied using subject understanding through something like Microsoft Cognitive Services.