Tutorials

Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.

Zurück zur Übersicht

Raspberry Pi: Einen DSLR Wedding/Photobooth erstellen

#Tutorials#Raspberry

Für meine Hochzeit habe ich mit einem Raspberry Pi, einem Tablet und unserer Spiegelreflex-Kamera einen Photobooth gebaut.

Mitlerweile ist das Projekt gewachsen, sodass es nun auch für diverse Platformen funktioniert. Unterstützt wird:

Was wird benötigt?

  • Raspberry Pi/Unix/macOS/Windows PC mit
    • Webserver (
      • PHP
      • PHP GD für QR-Code/Thumb Generierung
    • Gphoto2
    • ggf WLAN Dongle (siehe Wlan Router)
  • Ein Tablet (Egal ob iPad, Android oder Windows Tablet, hauptsache mit Wlan)
  • Wlan Router (falls der Raspberry kein Wlan hat, damit das Tablet und der Rapsberry kommunizieren können)
  • Eine Digitale Spiegelreflexkamera mit USB Anschluss (bitte prüft vorher, ob eure Kamera von Gphoto2 s.o. unterstützt wird. Hier die Liste: http://gphoto.org/proj/libgphoto2/support.php) oder eine USB Kamera für euer Gerät. Am besten dann eine pi-Camera
  • Etwas Know How in HTML/PHP/CSS

Wie ist das Photobooth aufgebaut?

Wie funktioniert das Ganze? Wie agieren die Komponenten miteinander?

Raspberry Pi/Windows PC/Linux System/macOS Gerät

Auf diesem Gerät läuft ein Webserver, der den Code ausführt und die "Web-Applikation" ausführt.

Wlan Router

Der Wlan Router ist an den Raspberry angeschlossen und erstellt ein lokales Wlan. Ich habe meins damals Photobooth genannt und es öffentlich gemacht. Dadurch konnte man sich mit Smartphone in das Wlan einloggen und via QR-Code die Bilder herunterladen.

Tablet

Das Tablet ist via Wlan mit dem Router, bzw dann mit dem Raspberry verbunden. Über einen Webbrowser in Fullscreen Ansicht kann man auf den Raspberry kommen. (Dafür braucht ihr die IP des Raspberries, https://www.raspberrypi.org/documentation/remote-access/ip-address.md). Dadurch wird die von mir geschriebene App (Webseite) ausgeführt, die auf dem Raspberry Webserver läuft. 

Spiegelreflexkamera/Pi-Camera

Die Kamera ist via USB an den Raspberry angeschlossen und empfängt das Auslöse-Signal und schickt dann das gemacht Bild an den Raspberry zurück.

Der Ablauf

Auf dem Touchscreen-Tablet wird der "Foto Machen"-Button geklickt. Danach zählt ein Countdown runter, damit man sich fertig machen kann. Sobald der Countdown bei 0 ist, schickt der Raspberry das Signal an die Kamera, dass ein Bild gemacht werden soll. Die Kamera macht direkt ein Bild und schickt es an den Raspberry zurück. Dieser legt das Bild in den "Images" Ordner ab, erstellt ein Vorschau-Bild für die Galerie, fügt das Bild der Galerie hinzu und schickt das Bild dann über Wlan zurück an das Tablet, auf dem das Bild dann angezeigt wird. Der Ganze Ablauf dauert je nach Bildgröße, Raspberry Pi Model und Wifi Verbindung 3-10 Sekunden. Ich hatte meine Kamera auf 3MP eingestellt und einen Raspberry Pi 2 und es hat so 4-5 Sekunden gedauert.

Bilder des Photobooth

Fragen? Anregungen?

Schreibt einfach Kommentare hier, oder macht Issues bei Github auf, falls ihr noch etwas braucht ;)

Die kompletten Anleitungen findet ihr auch im Github-Projekt:

https://github.com/andreknieriem/photobooth/wiki

 

Mir einen Kaffee spendieren? Einfach auf folgenden Button klicken!

Wem das Projekt gefällt und mir gerne mal einen Kaffee ausgeben nöchte, kann dies einfach mit dem Paypal Button tun.


Kommentare

  • Daniel Raab
    Hallo,

    zuerst einmal vielen Dank für die Implementierung dieser tollen Software zur Steuerung meiner Fotobox. Soweit funktioniert auch alles einwandfrei, jedoch habe ich folgendes Phänomen entdeckt:
    Ich nutze als Tablet ein Lenovo YogaTab (Android 6, somit nicht mehr das neuste) und mir ist aufgefallen das beim Drücken der Buttons diese manchmal hängen bzw. erst durch ein festeres Drücken betätigt werden. Dies ist im Prinzip nicht weiter schlimm, jedoch sprachen mich schon einige im Freundeskreis darauf an dass es doch etwas nervig ist.

    Hat einer hier ein ähnliches Problem und weiß zufällig Abhilfe?

    Viele Grüße

    Daniel
    Antworten
  • Tobias Behn
    Hallo,

    noch eine kleine Frage. Gibt es schon Fortschritte bei der DLSR Preview?

    Viele Grüße,
    Tobias
    Antworten
    • Andi
      Hey Tobi,

      Es gibt tatsächlich kleine Fortschritte, schau gerne Mal auf github vorbei: github.com/andi34/photobooth/pull/131

      Beste Grüße

      Andi
      Antworten
  • Tobias Behn
    Hallo,
    erstmal vielen Dank für dieses tolle Projekt!
    Ich habe ein Problem mit der Bildverarbeitung des Programms. Ich habe den Eindruck, das während der Verarbeitung sich die Qualität verschlechtert und die Bilder vor allem dunkler werden. Kann ich das irgendwie abstellen?
    Zunächst habe ich versucht Bilder mit der Raspberry Pi HQ Camera mit 6mm Weitwinkel aufzunehmen, leider wurden die Bilder nicht besonders toll. Ich habe jetzt auf eine Nikon D300 mit autofokus gewechselt und die Bilder werden auch durch bessere Beleuchtung deutlich besser, allerdings bleibt das Problem bestehen.

    Viele Grüße,
    Tobias
    Antworten
    • Andi
      Hey Tobias,

      du musst über github über die "master" branch installieren und im Adminpanel die Jpeg Qualität auf -1 setzen, ansonsten schau Mal im data/tmp, dort liegen die Original Aufnahmen.

      Beste Grüße

      Andi
      Antworten
  • Alex
    Hallo,
    meine Canon EOS600D löst nicht über die Photobooth Oberfläche aus. Wenn ich mich allerdings direkt per ssh auf den Raspi einwähle und dort "gphoto2 --capture-image-and-download" eingebe, funktioniert alles. Der selbe Befehl ist auch in der Photobooth Oberfläche eingetragen. Was kann ich da tun? Weiß nicht mehr weiter. Kann ich mir irgendwo den kompletten Code der Fotobooth Software angucken?
    Viele Grüße
    Alex
    Antworten
    • Andi
      Hey Alex!
      Setz nochmal die Berechtigungen, am gphoto-Befehl brauchst du normalerweise nix ändern im Adminpanel, wichtig ist dort auch den Dateinamen und -pfad mitzugeben (.--filename=%s).

      Der Quellcode ist auf GitHub, einfach dem Link unter "Fragen? Anregungen?" folgen .

      Berechtigungen nochmal setzen, danach einmal neustarten:
      sudo chown -R www-data:www-data /var/www/
      sudo gpasswd -a www-data plugdev
      sudo chmod -x /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
      reboot

      Ansonsten noch weitere Fehlerquellen:
      Kamera hat WLAN?
      Gphoto mag es teilweise nicht, wenn das WLAN an der Kamera eingeschaltet ist.

      Speicherkarte eingelegt?
      Gphoto kann teilweise nicht auslösen, wenn keine Speicherkarte eingelegt ist.

      Probleme mit dem Autofokus? Ggf. Testweise den Autofokus ausschalten.

      Anderes Aufnahmeprogramm der Kamera getestet? Ggf. wird die Aufnahme nicht in allen Modi unterstützt?

      Beste Grüße

      Andi
      Antworten
  • Florian
    Moin, gibt es auch die Möglichkeit das die Bilder direkt auf usb gespeichert werden statt auf der sd karte ?

    Gruß
    Florian
    Antworten
    • Andi
      Hey Florian,

      Eine Implementierung ist gerade WIP, welche die Daten auf einen USB Stick kopiert, fehlt noch der Eintrag fürs Admin Panel. Denke in den nächsten 2 Wochen wird es fertig sein.
      github.com/andi34/photobooth/pull/115

      Beste Grüße

      Andi
      Antworten
  • Florian
    Hallo, könnt ihr mir den standert admin nehme vill sagen. Hab den leider vergessen und komme da nicht mehr rein.

    Gruß Florian
    Antworten
    • Andi
      Standard Name fürs Login?
      Photo

      Steht in der config/config.inc.php ;)

      Viele Grüße

      Andi
      Antworten
  • Tom
    Hallo! Gibt es die Möglichkeit mit einer Hardware Taste auf die index.php zu wechseln, wenn man sich gerade auf der chromakeying.php befindet? Oder mit einer Timeout funktion?
    Ich suche schon einige zeit nach einer Lösung leider sind meine Programmierkenntnisse aber sehr beschränkt :D. MfG Tom
    Antworten
  • Peter
    Schade. ich immer noch auf der 2.1.0 udates oder Neuinstallation läuft nicht Verbindungsaufbau zu raw.githubusercontent.com (raw.githubusercontent.com)|151.101.112.133|:443 … fehlgeschlagen: Das Netzwerk ist nicht erreichbar. kann mir jemand helfen bitte? ich bezahle auch dafür
    Antworten
    • Andi
      Hey Peter,
      schau doch gerne auf Telegram in der Photobooth Gruppe vorbei und wir schauen nach einer Lösung auch ganz ohne Bezahlung: t.me/PhotoboothGroup

      Beste Grüße

      Andi
      Antworten
  • Peter
    Hallo Andi.
    Ich bin erstmal begeistert von deinem Projekt.
    Es passt super zum 18en Geburtstag von meinem Sohn.
    Meine Fragen: Kann man sich vorher im Bildschirm sehen bevor der Button gedrückt wird?
    Und kann man einen externen Taster an den Raspberry anschließen um dierekt von weiter weg den Auslöser zu betätigen?
    Lieben Gruß
    Peter.
    Wenn ich fertig bin bekommst du eine ganze Kanne Kaffee ;-)
    Antworten
    • Andre Rinas
      Hi Peter,
      zu deinen Fragen. Ja es geht beides. Der Fork von Andi ist etwas weiter als mein Hauptprojekt, weil ich in letzter Zeit nicht die Zeit finde, an dem Projekt weiterzuarbeiten.
      Deine Fragen werden aber im Wiki auf Github beantwortet:
      https://github.com/andi34/photobooth/wiki

      Viel Spaß damit!
      Antworten
      • Peter
        Also bei mir klappt das alles hinten und vorne nicht...
        Wie ich gesehen habe, habe ich die Version 2,1,0 installiert.
        Es gibt aber schon die 2.9.0.
        Leider habe ich keinen blassen Schimmer wie ich die installieren / updaten kann...

        Kannst Du mir unter die Arme greifen?

        LG
        Peter
        Antworten
        • Peter
          Leider sind die updare server nicht erreichbar
          Antworten
  • Patrick
    Servus,

    Mega tolles Photobooth bin begeistert hab nur ein Problem ich nutzte zum anzeigen ein ipad da ist der hintergrund nicht ein Foto sondern orange obwohl ich das umgestellt hätte im adminpanel auf ein bild und stattdessen nimmt er am ipad nur die primary color her! Kann man das iwie ändern?
    Antworten
    • Andi
      Hey Patrick!
      Versuch Mal den Pfad voll anzugeben und nicht relativ:
      url(/resources/img/bg_bluegray.jpg)

      Beste Grüße

      Andi
      Antworten
  • Alex
    Erstmal danke für Deine großartige Arbeit!
    Nutze einen Raspi mit 7Zoll Display...daher würde ich gerne den Countdowntimer/Cheesee vergrößern bzw. evtl. auch diesen Effekt beim Herunterzählen ausschalten. Leider habe ich noch nicht den richtigen Punkt in der style.css gefunden was ich da ändern muss. Hat hier evtl. jemand die Lösung für mich? Dankeschön