A photobooth to help appreicate the people you care about! 🙌
- Raspberry Pi Model B+ v1.2 (pinout)
- Raspberry Pi Camera v1
- LCD Matrix
- Button
- Mac Laptop
- HiTi P510L Dye Sublimation Photo Printer
- hookup wire, power supplies, ethernet cable, etc
- Download Raspbian image
- Flash image to a SD card using Etcher
- Connect to monitor, keyboard, mouse, Ethernet and power up
- Configure for local timezone, US Keyboard
- Run
raspi-config
and enable the camera - Update Pi
using sudo apt-get update
andsudo apt-get dist-upgrade
- Verify Python 3.5.x or > is installed by running
python3
; upgrade if needed - Run
sudo apt-get install graphicsmagick
- Run
pip3 install RPi.GPIO
- Run
pip3 install python-dotenv
- Run
pip3 install luma.led_matrix
- Run
sudo apt-get install sshpass
- Run
sudo apt-get install imagemagick
- Update GPU memory to
144
- Create a
.env
filr with the following variables:
PHOTO_FRAMES=4
FLOWDOCK_TOKEN=123456
FLOWDOCK_ORG=123456
FLOWDOCK_FLOW=123456
PRINTER_NAME_OR_IP=192.168.1.1
PRINTER_USER=john
PRINTER_PASSWORD=doe
Obtain Flowdock token from https://flowdock.com/account/tokens.
- Run
sudo raspi-config
and enable wait for network under boot options. - Run
sudo nano /etc/rc.local
with the following:
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
# Start Photobooth
printf "Starting Photobooth"
cd /home/pi/Documents/src/TinkurBooth/
sudo -H -u pi /usr/bin/python3 boothsnap.py &
exit 0
- To verify script is starting when the Pi boots, run
systemctl status rc.local.service
to view therc.local
startup logs.
- Enable ssh / sftp / scp on Mac; optionally create a new service account for the transfers
- Install HiTi P510L drivers
- Install sshpass on Pi
sudo apt-get install sshpass
- Manually SSH to the laptop once from the Raspberry Pi to answer yes to the trusted prompt (or update
known_hosts
) - Run
python unit_print.py
to start the script that looks for new images and prints them
LCD Pin | Raspberry Pi Pin |
---|---|
VCC | 5v |
GND | GND |
DIN | MOSI |
CS | CE0 |
CLK | SCK |
Button Pin | Raspberry Pi Pin |
---|---|
Button (polarity doesn't matter) | GPIO24 |
Button (polarity doesn't matter) | GND |
LED + | GPIO21 |
LED GND | 220Ω resistor to GND |
- Appreciate Each Other sticker (Sketch App source file)
- Appreciation Booth instructions poster (Sketch App source file)
- BCM2837 Quad Core 1.2GHz Broadcom 64bit CPU
- BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board
- MMAL (Multimedia Abstraction Layer) is a C library designed by Broadcom for use with the Videocore IV GPU on the Raspberry Pi
Created by Adam Zolyak and Matthew Gorbsky