diff --git a/INSTALL.md b/INSTALL.md index bfd43246..dcd4be0a 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,7 +1,7 @@ # Installation instructions These instructions are tailored towards running the photobooth on a Raspberry Pi (tested on 1B+ and 3B+). -However, I use my standard Ubuntu Laptop (16.04) with the built-in webcam and OpenCV for development and as such, the app should work on any other hardware just as well. +However, I use my standard Ubuntu Laptop (18.04) with the built-in webcam and OpenCV for development and as such, the app should work on any other hardware just as well. Simply skip the Raspberry Pi specific installation parts. ## Install Raspbian and configure it @@ -10,7 +10,7 @@ This is just for my own reference and maybe useful, if you have a similar hardwa Skip this, if you have your hardware already up and running. ### Install Raspbian Desktop -Choose Raspbian Desktop instead of the Lite flavor, which might lack some packages required for the GUI. +Choose Raspbian Desktop instead of the Lite flavor, which lacks some packages required for the GUI. Download and installation instructions are available at the [Raspberry Pi website](https://www.raspberrypi.org/documentation/installation/installing-images/) @@ -149,88 +149,3 @@ You can trigger the countdown via space bar or an external button. To exit the application, use the Esc-key or an external button. You can directly startup the photobooth to the idle screen (skipping the welcome screen) by appending the parameter `--run`. - -## Additional setup steps for my hardware setup - -### Pollin LS-7T touch screen - -#### Install required packages -```bash -apt install xinput-calibrator xserver-xorg-input-evdev -``` - -#### Configure device -Add the following to `/usr/share/X11/xorg.conf.d/99-eGalax.conf`: -``` -Section "InputClass" - Identifier "evdev tablet catchall" - MatchIsTablet "on" - MatchDevicePath "/dev/input/event*" - Driver "evdev" -EndSection - -Section "InputClass" - Identifier "calibration" - MatchProduct "eGalax Inc. Touch" - Option "Calibration" "19 1988 96 1965" - Option "SwapAxes" "0" -EndSection -``` - -The calibration data can be obtained using `xinput-calibrator`. - -### Canon SELPHY CP1200/CP1300 printer - -#### Add buster/testing repository -We need Gutenprint 5.2.13 or newer, unfortunately Raspbian Stretch includes only Gutenprint 5.2.11. -Luckily, the next distro (Buster) includes an up-to-date version and thus we can install that one instead of compiling the drivers ourselves. - -For that, we add the buster repositories with a lower priority (to avoid an upgrade of all packages) and select them later manually, when installing the drivers. - -Create file `/etc/apt/preferences.d/stretch.pref` with content -``` -Package: * -Pin: release n=stretch -Pin-Priority: 900 -``` - -Create file `/etc/apt/preferences.d/buster.pref` with content -``` -Package: * -Pin: release n=buster -Pin-Priority: 750 -``` - -Add the following line to `/etc/apt/sources.list`: -``` -deb http://mirrordirector.raspbian.org/raspbian/ buster main contrib non-free rpi -``` - -#### Install Gutenprint printer drivers -With the up-to-date drivers available, we install them with the following command: -```bash -apt update -apt install printer-driver-gutenprint -t buster -``` - -#### Add user `pi` to group `lpadmin` -To allow the current user to modify printer settings we must add it to the group `lpadmin`: -```bash -sudo usermod -a -G lpadmin pi -``` - -#### Plug in printer to USB port and add in CUPS -* Plug in the printer. -* Open http://localhost:631 on the Raspberry Pi. -* Select 'Add Printer' in the Tab 'Administration' -* When asked, enter credentials for user `pi` -* The printer should be offered somewhere close to the top of the list in the section 'Local Printers'. Select it and click 'Continue'. -* If you wish, you can specify a name in the next step. -* In the last step, select the appropriate model in the list. For the Canon SELPHY CP1300 the printer for the CP1200 works fine as the CP1300 is the same printer with a larger screen and some smartphone baublery. -* Click "Add Printer". This concludes the installation. -* In the following dialogue, you can modify the default settings. - -#### Select default printer -It is important that you set the printer as the default printer. -For that, go to the CUPS administration interface (http://localhost:631), open the list of printers and select your printer. -In the drop-down menu 'Administration' select 'Set as Server Default'. diff --git a/README.md b/README.md index 04011b5a..fa433eeb 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,13 @@ This is a Python application to build your own photobooth. ### Features * Capture a single or multiple pictures and assemble them in an m-by-n grid layout * Live preview during countdown -* Printing of captured pictures +* Store assembled pictures (and optionally the individual shots) +* Printing of captured pictures (via Qt printing module or pycups) * Highly customizable via settings menu inside the graphical user interface +* Custom background for assembled pictures +* Ability to skip single pictures in the m-by-n grid (e.g., to include a logo in the background image) * Support for external buttons and lamps via GPIO interface +* Rudimentary WebDAV upload functionality (saves pictures to WebDAV storage) and mailer feature (mails pictures to a fixed email address) * Theming support using [Qt stylesheets](https://doc.qt.io/qt-5/stylesheet-syntax.html) ### Screenshots @@ -44,8 +48,8 @@ Since then it underwent a complete rewrite, with vastly improved performance and ### Hardware requirements * Some computer/SoC that is able to run Python 3.5+ as well as any of the supported camera libraries -* Camera supported by gPhoto 2 (see [compatibility list](http://gphoto.org/doc/remote/)), OpenCV (e.g., most standard webcams), or a Raspberry Pi Camera Module. -* Optional: External buttons and lamps (in combination with GPIO-enabled hardware) +* Camera supported by gPhoto 2 (see [compatibility list](http://gphoto.org/proj/libgphoto2/support.php)), OpenCV (e.g., most standard webcams), or a Raspberry Pi Camera Module. +* Optional: External buttons and lamps (in combination with gpiozero-compatible hardware) ### Installing and running the photobooth @@ -61,7 +65,7 @@ Feel free to add new postprocessing components, a GUI based on some other librar I appreciate any feedback or bug reports. Please submit them via the [Issue tracker](https://github.com/reuterbal/photobooth/issues/new?template=bug_report.md) and always include your `photobooth.log` file (is created automatically in the top folder) and a description of your hardware and software setup. -I am also happy to hear any success stories! Feel free to [submit them here](https://github.com/reuterbal/photobooth/issues/new?template=success-story.md) +I am also happy to hear any success stories! Feel free to [submit them here](https://github.com/reuterbal/photobooth/issues/new?template=success-story.md). If you find this application useful, please consider [buying me a coffee](https://www.buymeacoffee.com/reuterbal).