The cheesypic software transforms your rasberry-pi in a full fledged photobooth. The software will work with DSLR cameras and dye-sub photo printers to deliver a high quality photobooth experience.
- Live view
- Custom photo strip designs
- Local storage of captured photos
- Custom themes
- Samba file server
The cameras is interfaced using libgphoto2. In theory the software will support any camera that libgphoto2 support.
The printer is interfaced using guttenprint and Solomon Peachy's selphy_print sofware.
install with sudo apt install
- cmake
- cups
- libgphoto2-dev
- libturbojpeg0-dev
- libxml2-dev
- libjson-c-dev
- libglib2.0-dev
- libcairo2-dev
- libgdk-pixbuf2.0-dev
- librsvg2-dev
- libb64-dev
- libgtk-3-dev
- libusb-1.0-0-dev
- xorg-dev
- mesa-utils
- libcups2-dev
- doxygen
- graphviz
cd cheesypic mkdir build cd build cmake .. make sudo make install# Gain root sudo su - # Remove existing gutenprint packages apt remove gutenprint* # Install necessary development libraries apt install libusb-1.0-0-dev libcups2-dev # Download latest gutenprint snapshot from sourceforge curl -o gutenprint-5.3.4-2021-08-18T01-00-2a241dff.tar.xz "https://master.dl.sourceforge.net/project/gimp-print/snapshots/gutenprint-5.3.4-2021-08-18T01-00-2a241dff.tar.xz?viasf=1" # Decompress & Extract tar -xJf gutenprint-5.3.4-2021-08-18T01-00-2a241dff.tar.xz # Compile gutenprint cd gutenprint-5.3.4-2021-08-18T01-00-2a241dff ./configure --without-doc make -j4 make install cd .. # Get the latest selphy_print code git clone https://git.shaftnet.org/gitea/slp/selphy_print.git # Compile selphy_print cd selphy_print make -j4 make install # Set up library include path echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local.conf ldconfig # Refresh PPDs cups-genppdupdate # Restart CUPS service cups restart # FiN exitNote: Some printers may require additional image processing library.
The photobooth uses the 'c' key as a trigger to start the photobooth. A device-tree overlay can be added to configure gpio_1 as a keypad 'c' button.
Compile and install the photobooth_button.dts on the pi using:
sudo dtc -I dts -O dtb -o /boot/overlays/photobooth_button.dtbo misc/photobooth_button.dtsConnect a normaly open button between GPIO_1 and ground.
gvfs-gphoto automatically mounts cameras as a storage device on boot, this prevents cheesypic from using them. To disable gvfs run:
sudo systemctl mask gvfs-daemon systemctl --user mask gvfs-daemonFinally add the following line to /boot/config.txt:
dtoverlay=photobooth_buttonadd the user to the lp group
sudo adduser $USER lpAdd your printer to cups using the cups webpage or lpadmin command.
Set the default printer:
lpoptions -d printer-nameVerify the default printer:
lpstat -dThe configuration described in this topic allow you to automatically start the cheesypic software on boot without a desktop environement.
edit /etc/xdg/openbox/autostart:
# Disable any form of screen saver / screen blanking / power management xset s off xset s noblank xset -dpms # Allow quitting the X server with CTRL-ATL-Backspace setxkbmap -option terminate:ctrl_alt_bksp # Start Photobooth cheesypicedit .bash_profile:
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursoredit /boot/cmdline.txt and add:
consoleblank=1 vt.global_cursor_default=0edit /boot/config.txt and add:
disable_splash=1edit /boot/config.txt and add:
dtoverlay=pi3-disable-bt boot_delay=0| commands | Discription |
|---|---|
| 'c' | start capture |
| 'a' | toggle active / inactive logic |
| '+'/'-' | cycle states |
| 'l' | toggle mirror liveview |
| 'm' | toggle mirror reveal |
| 'f' | toggle fast mode |
| 'w' | toggle windowed / fulscreen mode |
| 's' | exit but wait 15s before stopping |
| ./ch |