Fotobox
mit photobooth

Wer kennt es nicht? Die Fotobox bei der letzten Veranstaltung war der absolute Hammer und der Flyer des Anbieters lässt einen kurz überlegen: „Wow, für wenig Arbeit viel Geld an einem Abend verdienen. Das kann ich doch auch!“. Mit dieser Idee gestartet folgte eine ausgiebige Recherche im Internet. Mit vielen tollen Ideen und guten Projekten bei Github, habe ich mir dann eine eigene Fotobox für die nächste eigne große Veranstaltung (Hochzeit) gebaut.

Was habe ich im Internet gefunden?

Welche Hardware wird benötigt?

Um eine eigene Fotobox ins Leben zu rufen, werden nur wenige Elemente benötigt. Bis auf die eigentliche Fotobox (Holzbox aus MDF) habe ich alles bereits in meinem Fundus und kann direkt anfangen:

  • Raspberry PI 3b mit Gehäuse, Netzteil und 64 GB Speicherkarte
  • Spiegelreflexkamera von Canon inkl. DC-Koppler
  • TP-Link Router mit 2,4 GHz / 5 GHz WLAN inkl. Anschlusskabel
  • iPad inkl. Ladekabel

Installation und Einrichtung des Raspberrys

Für jeden der bereits Erfahrungen mit den kleinen Computern (Raspberry) hat, ist die Einrichtung schnell durchgeführt. Meine wichtige Erkenntnis war jedoch, dass bei der Installation von Raspberry OS Lite (ohne Desktop Funktionen) die bekannten Zugangsdaten nicht mehr funktionieren (alt: Benutzer pi und Passwort rapsberry). Hier gab es im Frühjahr 2022 eine Aktualisierung der Herausgeber, sodass die Zugangsdaten entweder beim erstellen des Images vergeben werden müssen oder bei der ersten Anmeldung via Desktop. Weil letzteres nicht für mich in Frage gekommen ist (spart Speicherplatz!), musste ich kurz recherchieren und beim erstellen des Images die Zugangsdaten vergeben. Kommen wir aber zum wesentlichen, die Schritt für Schritt-Anleitung:

  1. Installation des Raspberry PI Imager für deinen Computer.
    https://www.raspberrypi.com/software/
  2. Nach dem öffnen der Anwendung das Betriebssystem auswählen:
    Raspberry OI OS Lite (64-bit) für diese Anleitung
  3. Konfiguration des folgenden Images über die Einstellungen (Zahnrad-Symbol):
    Hostname: fotobox
    SSH aktivieren: Password zur Authentifizierung verwenden
    Benutzername und Passwort setzen: Hier Eure Werte eintragen!
  4. SD-Karte auswählen und mit „Schreiben“ den Prozess starten.
  5. Für Mac OS muss noch einmal das Passwort eingegeben werden:
  6. Nach wenigen Minuten wird die Erfolgsmeldung gezeigt und es kann weiter gehen.
Abbildung zur Punkt 2) Auswahl des Betriebssystems
Abbildung zur Punkt 3) Auswahl der Konfiguration für das Image

Anschließend wird die Speicherkarte in den Raspberry gesteckt und mit dem Strom verbunden. In der vorhergegangenen Konfiguration haben wir bereits den SSH Zugang aktiviert und auch einen Hostnamen vergeben. Jetzt kann über das Terminmal (beim Mac) entweder über die IP Adresse oder über den Hostnamen auf den Raspberry zugegriffen werden (Befehl: ssh USER@HOSTNAME). Wie in der Installationsanleitung ausgewiesen kann die Installation über ein vorgefertigtes Script ausgeführt werden:

wget https://raw.githubusercontent.com/PhotoboothProject/photobooth/dev/install-photobooth.sh
Ergebnis nach dem Befehl: Die Daten werden heruntergeladen.
sudo bash install-photobooth.sh -username=’YourUsername‘
Ergebnis nach dem Befehl: Die Installation beginnt.

Die Installation beginnt mit einigen Fragen, die in der Regel mit Y (Yes) beantwortet werden können. Lediglich die Frage nach der Raspberry HQ Kamera habe ich verneint, weil in dem hier gewählten Setup eine Spiegelreflexkamera verwendet wird. Die Installation beginnt (Internetverbindung notwendig!) und die einzelnen Schritte werden automatisch abgearbeitet. Bei mir hat die ganze Installation zirka 30 Minuten gedauert (Abhängig vom Internet, Speicherkarte und Raspberry). Also einfach das Terminalfenster zur Seite schieben! Sobald die Installation abgeschlossen ist kann im Browser über fotobox.local (Hostname) die Webseite zur Fotobox geöffnet werden.


Konfiguration:

Über die Weboberfläche von fotobox.local lässt sich nun die eigene Fotobox individuell konfigurieren. Dabei ist es wichtig, dass man folgende Links kennt:

  • http://fotobox.local
  • http://fotobox.local/login/
  • http://fotobox.local/admin/
  • http://fotobox.local/admin/debugpanel.php
  • http://fotobox.local/test/collage.php

Wenn ihr eigene Frames für Eure Bilder hinterlegen wollt oder auch andere Schriftarten, dann müsst ihr unweigerlich auf den Raspberry zugreifen. Hierzu kann der SSH Zugang über einen FTP-Client genutzt werden. Damit habt ihr die Chance auf die Dateien des Raspberrys zuzugreifen. Um die Dateien der Photobooth zu lesen müsst ihr in der Verzeichnis var/www/html navigieren.

Berechtigungen anpassen:

Bei dem Bearbeiten der Dateien im Filesystem des Raspberrys kommt ihr schnell an die Grenzen, weil Euch Berechtigungen fehlen. Bitte passt besonders auf, weil mit einer falschen Eingabe oder Änderungen kann Eure Photobooth nicht mehr korrekt arbeiten. Das ist mir leider passiert, als ich eine Sicherung der config.ini.php eingespielt habe. Infos und Hinweise habe ich auf diesen Webseiten gefunden: www.howtouselinux.com, www.cyberciti.biz, www.shellbefehle.de und www.askubuntu.com. Folgende Eingaben im Terminal, zur Änderung der Berechtigungen waren minimalistisch und ausreichend für mich:

Den User in die Gruppe aufnehmen:

sudo adduser fotobox www-data

Neues Verzeichnis „private“ anlegen:

sudo mkdir private

Berechtigungen „private“ vergeben:

sudo chown -R www-data:www-data /var/www/html/private

Schreibrechte „private“ vergeben:

sudo chmod -R g+rwX /var/www/html/private

Besitzerrechte „private“ ändern:

sudo chown fotobox:www-data /var/www/html/private

Berechtigungen „config“ vergeben:

sudo chown -R www-data:www-data /var/www/html/config

Schreibrechte „config“ vergeben:

sudo chmod -R g+rwX /var/www/html/config

Durch eine Rückmeldung aus der Community habe ich den Hinweis bekommen, statt das Verzeichnis /var/www/html/custom den Ordner /var/www/html/private zu nennen. Dies hat den Vorteil, dass bei einem System Update das Verzeichnis „verschont“ bleibt.

via Andreas Blaesius

SD-Karte klonen:

Im Anschluss (nachdem alles eingestellt ist) möchte ich auf Nummer sicher gehen und eine zweite SD Karte als Klone anlegen. Warum? Stromausfall, Fehler der Speicherkarte und die Fotobox ist nicht einsatzbereit. Lieber kurz vor dem Event eine zweite Karte vorbereitet haben und diese dann als Backup in der Fotobox bereitlegen. Haben ist besser als brauchen! Wie ich den Klone angelegt habe könnt ihr in dem folgenden Blog lesen. Nachdem das kleine Tool über Homebrew installiert ist, reichen wenige befehle für eine einfaches Backup der Speicherkarte.

Identifizierung der Speicherkarte

diskutil list

Starten der Backup Erstellung (SD-Karte Original)

sudo gdd if=/dev/rdisk2 of=fotobox_backup.dmg status=progress bs=16M

Auswerfen der „Neuen SD-Karte“

sudo diskutil unmountDisk /dev/disk2

Starten des Backup Einspielen (SD-Karte Klone)

sudo gdd of=/dev/rdisk2 if=fotobox_backup.dmg status=progress bs=16M

Probleme mit der SSH Verbindung?

Wenn man den gleichen Raspberry mit wechselnden SD-Karten und Images nutzt, kann es sein dass der SSH-Key (Fingerprint) sich ändert. Dann wird aus Sicherheitsgründen die Verbindung nicht aufgebaut. Die Fehlermeldung lautet: „“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED““. Um dies zu beheben muss einmal der SSH-Key zurückgesetzt werden, damit alles wieder wie gewohnt laufen kann. Die Lösung hab ich in diesem Blog gefunden. Mit folgendem Befehl ist dies möglich.

Löschen der bisher bekannten Keys:

ssh-keygen -R fotobox.local

Daten der Fotobox aus USB-Stick kopieren:

Es ist einfach gelöst, dass die Photobooth Software die Fotos aus der Fotobox direkt auf einen USB Stick kopiert wird. Lediglich der korrekte Pfad oder der Name des USB Stick müssen bekannt sein. Letzteres lässt sich an jedem Computer ändern, und fertig ist die Einrichtung der USB-Stick Synchronisation. Wer jedoch auf Nummer sicher gehen möchte, der muss folgenden Fehler in der Konsole des Raspberrys eingeben, um ausführliche Informationen zu erhalten.

Auflistung aller Geräte inkl Namen und Eigenschaften

lsblk -f

To be continued…

18 Gedanken zu „Fotobox
mit photobooth
&8220;

  1. Hey und vielen Dank für die Anleitung und Vorstellung des Projekts!
    Anstatt in /var/www/html/custom sollten eigene Frames etc. besser in /var/www/html/private gepackt werden, da dieser Ordner über git ignoriert wird und somit bei einem Update der Photobooth über den Installer nicht im Wege stehen kann. Der „custom“ Ordner könnte bei einem Update Probleme machen.

    Viele Grüße

    Andi

    1. Hallo Andi.
      Vielen Dank für das Update bzw. deine Nachricht. Ich werde das berücksichtigen und gleich bei mir umsetzen! Freue mich schon auf die nächsten Erweiterungen und bleibe am Ball 🙂
      Viele Grüße David

  2. hallo.
    ich habe bzw versuche ich das alle wie von euch beschrieben umzusetzten..
    mein setup ist ein pi 3b+ und ein pi camera v3 die normale
    wenn ich das raspbien neu aufsetzte bekomme ich libcamera-hello ein ganz normales bild angezeigt. sobald ich die installation von photobooth.sh durchlaufen habe, habe ich keine möglichkeit mehr auf die kamera zuzugreifen. ich habe alles mögliche versucht einzustellen was ich im netz so finden konnte. irgenwo ist ein bug eingebaut was verhindert auf die standart kameras des pi´s zuzugreifen. nach der instalition von photobooth geht einfach nichts mehr. selbst die erst pi camera v1 geht nicht mehr an. vielleicht habt ihr hier ja noch eine idee was ich versuchen könnte. libcamera-hello sag das keine kamera angeschlossen ist. mit dem reinen sauberen image klappt noch alles. würde mich über eine nachricht sehr sehr freuen..
    raphael

    1. Hallo Raphael.
      Vielen Dank für deine Nachricht! Wir haben das Setup mit einer alten Spiegelreflexkamera und nutzen nicht die Raspberry Kamera. Vielleicht schilderst du dein Problem dem aktuelle GitHub Projekt.

      Bei der Installation von Photovoltaik.sh wird abgefragt, ob die Raspberry Kamera genutzt werden soll. Bitte prüfe vorab, ob du hier die Frage mit [Y] beantwortest. Ich hoffe das hilft dir bereits weiter.
      Viele Grüße

  3. Da sehe als einzige logische Erklärung: du hast an folgender Stelle mit Y geantwortet und nicht mit N:

    Do you like to install a service to set up a virtual webcam that gphoto2 can stream video to
    (needed for preview from gphoto2)? Your camera must be supported by gphoto2 for liveview.

    Note: This will disable other webcam interfaces on a Raspberry Pi (e.g. Pi Camera).

    Da hilft folgendes im Terminal eingeben und danach einmal Neustarten:
    sudo systemctl stop ffmpeg-webcam.service
    sudo systemctl disable ffmpeg-webcam.service
    sudo rm ‚/usr/ffmpeg-webcam.sh‘
    sudo rm ‚/etc/systemd/system/ffmpeg-webcam.service‘

    If unsure, type N.

  4. Hallo in die Runde,

    letztes Jahr habe ich eine Photobox basierend auf Windows aufgebaut, Darin war ein Notebook und zu Auslösesteuerung wurde ein Fußtaster eingesetzt.
    Die Ansicht des fertigen Bild wurde Vorne auf der Fotobox angezeigt. Der Bildschirm des Notebook diente zur Steuerung der Kamerasoftware, welche die original Canon ESO war. Das Mousepad diente während der Einrichtung. Danach wurde der Mousezeiger auf den „Auslösebutton“ in der Software gesetzt. Paralell habe ich an einem USB Anschluss eine Alte Mouseelektronik verwendet und statt der linken Mousetaste einen Fusschalter angeschlossen.
    Dir gersamte Funktion war problemlos. nur das Einrichten nicht unbedingt userfreundlich.
    Nun möchte ich gerne, basierend auf der Hardware sowas mit einem Pi 3+ realisieren.
    Grundlegend soll bleiben Fußtaster, Bildschirm Vorne, Speicher auf SD in Kamera und / oder auf USB Stick oder externer SD Karte.
    Ein automatischer Start nach Stromanschluss wäre wünschenswert, sodass nur noch der Fußtaster gedrückt werden muss und das Bild auf dem Monitor erscheint.
    Kann mir jemand helfen?

    1. Hallo Gerald.
      Schau dir gerne das Projekt bei Github an, dort wird viel erklärt und bei der Installation auf dem Raspberry werden die einzelnen Punkte abgefragt. Ich meine, dass es auch eine Einstellung für einen Hardware-Button gibt 🙂
      Ich habe es mir bei der Umsetzung „einfacher“ gemacht und ein ausrangiertes Tablet benutzt, um weder mit Tastatur und Maus, noch mit einem Hardware-Button arbeiten zu müssen.
      Viel Erfolg bei deiner Umsetzung.
      Grüße David

    2. Hey David!
      Wenn du magst, pass doch gerne den Link zum Projekt an.
      https://photoboothproject.github.io/ , dort gibt es auch den Link zum aktuellen Installer sowie aktuelle Instruktionen zum installieren – der alte Installer läuft ins Leere (oben verlinkt).

      Auf Telegram haben wir auch eine riesige Community, dort wird viel Support geleistet als auch die Entwicklung vorangetrieben.

      Viele Grüße

      Andi

          1. Guten Morgen Andi.
            Ich hab mich wieder mit dem Projekt und dem neuen Github Link beschäftigt. Leider habe ich mir mit dem Link meine bestehende Version 4.3.1 zerschossen!

            Habe später erst festgestellt, dass ich am Besten „stable4“ genutzt hätte als „dev“. Wäre sicherlich sinnvoll diese Option auch in der Anleitung aufzuzeigen.

            Mit dem angepassten Link (wget -O install-photobooth.sh https://raw.githubusercontent.com/PhotoboothProject/photobooth/stable4/install-photobooth.sh
            sudo bash install-photobooth.sh -username=‘‚) bricht die Installation ab, wenn es zum Down-/Upgrade für Node / NPM geht.

            Kannst du in der „install-photobooth.sh“ überprüfen ob das Script aktuell ist..?

            Wenn ich die „dev“ installiere habe ich gestern Abend die Version 4.99.0 installiert und das fühlt sich falsch an 🫢

            Wenn ich einfach einen anderen Link nutzen kann und ich einen groben Fehler gemacht habe, dann gib mir bitte ebenfalls eine Rückmeldung.

          2. Hey!
            Die stable4 erhält keinen Support mehr und ist daher nicht mehr erwähnt. Teile des Quellcodes müssen noch angepasst werden für das v5 Release… aber die Zeit fehlt aktuell etwas.

            Der Installer aus dem dev branch sollte eigentlich alle Voraussetzungen prüfen und umsetzen, sofern man

            Do you like to update your system and install/update needed software? [y/N]

            Mit „Y“ beantwortet.

            Welchen Fehler hattest du da genau ausgespuckt bekommen?

            Viele Grüße

          3. Hey! Danke für die Rückmeldung. Ich hab mich an dem Versionscheck gehalten, der mir die Version 4.4.1 als aktuelle Version verkauft hat. Deswegen bin ich mit der Version 4.99.0 aus dem „dev“ etwas irritiert gewesen und hab die 4.4.1 aus „stable4“ versucht zu installieren.

            Um einen Erfolg zu erzielen habe ich gestern die „dev“ mit 4.99.0 (=v5 ??) erfolgreich installiert, meine config hatte ich noch, sodass ich schneller war im Backup als alles im Filesystem zurückzudrehen.

            Kleiner Wunsch für ein neues Feature:
            – Export der Config und Private Files
            – Import der Config und der Private Files

            Besten Dank für die schnelle Antwort.

  5. Achso, sehe gerade du hast den Installer aus dem stable4 benutzt, der ist natürlich nicht up-to-date. Ich werde den aus dem branch entfernen oder die default branch da anpassen.

    Was meinst du mit „zerschossen“? Es ist jederzeit möglich auf den alten Stand zurück zu gehen, wenn auch mit etwas Handarbeit. Der Installer erstellt eine Backup-Branch auf die man zurück kann. Ggf müssen ein paar Verzeichnisse im Anschluss per Hand gelöscht werden, aber das sollte halb so wild sein. Npm und Node.js muss dann nur in einer alten Version installiert sein.

    1. Okay 👍🏼 Dann hat sich der Punkt geklärt. Das ist von außen nicht leicht zu erkennen gewesen.

      Hab die 4.3.1 mit der „dev“ updaten wollen und es gab einige Fehler. Habe sie mir gestern nicht notiert (leider!). Wollte auf die Schnelle ein Update einspielen und danach hab ich die SSD geflashed, neu installiert und meine Config rübergezogen. War mir nur bei der Versionsnummer 4.99.0 unsicher ob das wirklich die richtige ist!

      Scheint ja jetzt der Release Candidate für v5 zu sein.

      1. Die Version 4.99 markiert einfach als aktuelle development Version um bei der Prüfung mit der stable4 nicht im Konflikt zu liegen.

        Über das Adminpanel kannst du den uploader erreichen, damit kannst du bereits einfach viele persönliche Daten hochladen. PHP.ini muss nur ggf angepasst werden, da das Limit für die Dateigröße recht klein ist by default.
        Restore der config müsste man sich dann nochmal anschauen zum Release, aktuell können sich noch Felder ändern.

        Verbesserungen auch gerne als Pull request zur Verfügung stellen, dann kann ich sie reviewen und ins Projekt übernehmen.

        Viele Grüße

  6. Hallo zusammen,

    ich möchte die Fotobox so schon aufsetzen, aber ich würde gerne die gemachten Bilder ständig als „Bildschirmschoner auf einem großen TFT laufen lassen.
    wie würde ich die denn dann speichern, auf z.B einer Freigabe eines Notebooks was ich mit dem RAsp per Kabel verbinde. Würde das gehen?

    Wie wäre das den zu realisieren??

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert