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.

Was wird benötigt?

  • Raspberry Pi mit
  • 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)
  • Etwas Know How in HTML/PHP/CSS

Wie ist das Photobooth aufgebaut?

Wie funktioniert das Ganze? Wie agieren die Komponenten miteinander?

Raspberry Pi

Auf dem Raspberry ist ein Webserver installiert (Anleitung hier) .Nachdem der Webserver installiert ist, muss noch PHP GD für die QR-Code Ausgabe installiert werden. Dies geht so:

sudo apt-get install php5-gd

Auf dem Raspberry wird dann die Photobooth Application kopiert, die ich geschrieben habe. Der Code ist öffentlich auf Github zugänglich. Den Code kopiert ihr einfach nach /var/www/ auf dem Raspberry. Wichtig hierbei ist, dass der Code auf Github noch im Developer-Modus eingestellt ist. In der config.inc.php steht $config['dev'] = true. Das einfach auf false stellen. Danach könnt ihr die Applikation auf dem Raspberry anpassen. Also beispielsweise einen Hintergrund, welcher zur Feierlichkeit passt, die Farben, die Länge des Countdowns und so weiter. Hierfür werden aber etwas HTML-Kenntnisse benötigt.

Zudem muss Gphoto2 installiert sein. Das Ganze geht recht einfach, wenn ihr dem Tutorial hier folgt. (https://github.com/gonzalo/gphoto2-updater) Gphoto2 ist sozusagen ein Treiber, mit dem der Raspberry auf eure Spiegelreflex-Kamera zugreifen kann und dieser Befehle schicken und empfangen kann. 

Nachtrag zu Gphoto2:

Damit der Webserver-User www-data gphoto2 ausführen darf, muss man noch folgende Dinge tun

  • in /etc/sudoers muss folgende Zeile hinzugefügt werden www-data ALL=(ALL) NOPASSWD: ALL

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

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 ;)

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. Der Name der angezeigt, ist noch der von meinem Vater, also nicht wundern ;)


Kommentare

  • Mario
    Hi Andre
    Erstmal ein riesiges Dankeschön. Meine Box ist gerade am entstehen und ich würde gerne noch einen Funkbuzzer einbauen. Dazu möchte ich einen Arduino Micro verwenden, welcher einen "Enter" Befehl via emulierter USB-Tastatur sendet.
    Könntest Du mir sagen, wie ich den Fokus auf den Butten lege und dieser auf die Enter Taste reagiert? Geht das überhaupt?

    Beste Grüsse aus der Schweiz
    Mario
    Antworten
    • Andre Rinas
      Hallo Mario,
      das mit dem Enter-Button müsste recht einfach gehen.
      https://github.com/andreknieriem/photobooth/blob/master/resources/js/core.js#L201 Wenn du hier guckst, wird definiert, was ein Klick auf den Button für das Fotomachen macht. Hier könntest du den Inhalt kopieren und das Ganze auf den Enter Btn reagieren lassen.
      $(document).keyup(function(e) {
      if(e.keyCode == 13) { // Enter code see http://tools.andrerinas.de/get_js_keycode
      // hier der andere Code
      }
      });

      Das wars auch schon!
      Grüße André
      Antworten
    • Frank G.
      Alternativ sollte es auch mit folgendem Code gehen, den Du in Zeile 215 ff. einfügst:
      // .takePic when pressing Enter=13
      $(document).ready(function()
      {
      $(document).bind('keypress', function(e) {
      if(e.keyCode==13){
      $('.takePic').trigger('click');
      }
      });
      });
      Ich habe mir einen Li-Ion-betriebenen Funktbutton mit einem Teensy-LC und einem nRF24L01-Funkmodul als Sender gebaut. An meinem Windows 10 Tablet - über das ich das Webinterface aufrufe - ist ein Teensy 2.0 mit einem weiteren nRF24L01-Funkmodul als Empfänger angeschlossen, der das Enter-HID-Keyboard-Signal empfängt.
      In meinem Sketch nutze ich die Bibliothek RF24 von TMRh20, die ich über die Arduino Software auf die beiden Teensys hochgeladen habe,
      Antworten
    • Mario
      Besten Dank für eure Hilfe. Ich habe den Code von Andre eingebaut und gerade vorher meinen Funkempfänger getestet. Läuft perfekt.

      Muss nur noch einbauen, dass er jeweils auf die Startseite zurückspringt, wenn der Buzzer gedrückt wird.

      Danke nochmals und schönes Wochenende

      Mario
      Antworten
  • Jutsus
    Hallo, ich bin Leider relativ unerfahren und es kann gut sein, dass ich einiges Falsch gemacht habe...
    Zuerst einmal habe ich gphoto7.gd und nicht die 5er geht das auch?
    Ein weiteres Problem ist, dass meine Kamera nicht verbunden ist. (ist Kompatibel)
    Können sie mir helfen?
    Antworten
  • Tobias Häcker
    Hallo zusammen.
    Ich habe das Problem, dass keine Thumbnails angezeigt werden. Es sind nur leere Rahmen. Kennt jemand das Problem?
    Habe PHP 7 inkl. GD installiert.
    Danke für eure Antwort.
    Viele Grüße
    Antworten
    • Andre Rinas
      Hallo Tobias, das passiert tatsächlich eig. nur, wenn gd nicht richtig funktioniert oder php keine Rechte hat in den Thumbs Ordner Bilder zu speichern. Kommt denn eine Fehlermeldung, wenn du auslöst? Ansonsten check mal, ob der Ordner thumbs die rechte deines Webusers hat, meistens beim raspberyy www-data. Wenn er dort root oder pi hat, dann kannst du mit chown www-data:www-data thumbs den Ordner reparieren.
      Grüße André
      Antworten
  • Patrick
    Hallo erstmal vielen Dank für die tolle Arbeit. Kann mir jemand erklären wie ich selphy-go einrichte so dass der Canon Selphy 1200 läuft. Schon mal vielen Dank.
    Antworten
    • Bernd Brueckner
      Hallo Patrick,
      zuerst einmal benötigst du CUPS. Du findest genug Anleitungen dazu im Internet. Danach richtest du via CUPS deinen Drucker ein.
      In der config.inc.php muss du dann den Druckbefehl angeben. bei mir läuft derzeit ein Selphy CP1300.
      Dieser sieht wie folgt aus:
      $config['print']['cmd'] = 'sudo lp -d <dein CUPS-Drucker> -o landscape -o fit-to-page %s';
      Ich hoffe, ich konnte die weiter helfen.
      Antworten
  • Chris
    Hallo, erstmal vielen Dank für dieses tolle Projekt. Jedoch bin ich auf einProblem gestoßen und zwar kann ich die Bilder leider nicht ausdrucken. Wenn ich aber im Terminal. "sudo lp -d mein Drucker -o landscape -o fit-to-page Bildname" eingebe. Dann wird das Bild gedruckt. Ich weiß so langsam echt nicht mehr weiter. Ich hoffe ihr könnt mir helfen. MFG
    Antworten
    • Andre Rinas
      Hi Chris,
      hast du mal in der config.inc.php geschaut, ob der Druckbefehl da deinem entspricht? Soweit ich das sehe fehlt der Druckername in der default config.
      Grüße André
      Antworten
      • Chris
        Hi Andre, danke für die schnelle Rückmeldung. den o.g. Befehl habe ich auch so in der config drin stehen. lediglich %s habe ich eben zum testen mit dem Namen des Bildes geändert.
        Antworten
      • Chris
        Hi, danke für die schnelle Rückmeldung. Habe die o.g. zeile direkt aus der config kopiert. Lediglich %2 durch den Bildnamen ersetzt.
        Grüße
        Antworten
    • Frank G.
      So versucht?
      $config['print']['cmd'] = 'sudo lp -d DRUCKERNAME -o landscape -o fit-to-page %s';
      Antworten
  • Markus
    Hallo ,
    meine Nikon D löst aus und die Bilder werden auch im Image Ordner gespeichert aber dann kommt die Fehlermeldung " Es ist ein Fehler aufgetreten versuchen Sie es erneut" Was habe ich falsch gemacht ?
    Antworten
    • André Rinas
      Hi Markus, das hört sich nach nem Problem mit PHP-GD an, also der Bildbearbeitung von php. Haste mal apt-get install php-gd oder php7-gd gemacht, je nachdem welche PHP Version du hast?
      Grüße André
      Antworten
  • Markus
    Dankeschön für die tolle Anleitung. Hab aber irgendwas falsch gemacht und weiss nicht was. Wenn ich auf der Photobooth Startseite auf Foto erstellen klicke löst meine Nikon D aus und das Foto wird auch im Image ordner abgelegt allerdings kommt dann die Meldung Es ist ein Fehler aufgetreten versuche es erneut. Was habe ich übersehen oder Falsch gemacht ? Schon mal Danke für eure Antworten
    Antworten
    • Andre Rinas
      Hi Markus, hast du php-gd installiert und hat dein thumbs, bzw. dein image Ordner die richtigen Rechte?
      Grüße André
      Antworten
  • Nikolas
    Kann man das ganze noch eine Druckfunktion erweitern? Mit relativ wenig Aufwand? Hat jemand sowas vielleicht schon gemacht?
    Antworten
    • Frank G.
      Hierfür muss CUPS installiert und dein Drucker in CUPS eingrichtet werden.
      Google mal "Print-Server mit CUPS und AirPrint auf dem Raspberry Pi einrichten" und mach es genauso wie beschrieben. In der Anleitung wird auf HP-Linux-Treiber verwiesen. Wenn Du keinen HP-Drucker hast, musst Du ggf. erst nach einem passenden Linux-Treiber suchen.
      Mit lpstat -a wird Dir dann der Name von Deinem Drucker angezeigt. Diesen trägst Du dann in die config.inc.php ein. Gehe in den Abschnitt "Commands and Messages" (case 'linux':) und ändere die Zeile, die mit "$config['print']['cmd'] =" beginnt wie folgt:
      $config['print']['cmd'] = 'sudo lp -d DRUCKERNAME -o landscape -o fit-to-page %s';
      Antworten
  • Jan Hendrik
    Hallo Andre!
    Erstmal vielen Dank für die tolle Anleitung!!
    Ich habe es soweit umsetzen können; es werden Fotos gemacht und im Image-Ordner hinterlegt, jedoch bekomme ich auf dem Tablet keine Vorschau und auch in der Gallerie ist nichts zu sehen..

    Wo mache ich hier den Fehler?

    Vielen Dank und liebe Grüße
    Antworten
    • Andre Rinas
      Hallo Jan Hendrik, das hört sich an, als hättest du php-gd nicht installiert, oder in der falschen Version, oder dein Thumb-Ordner ist nicht schreibbar. Probiers mal aus. Du kannst in der phpinfo() gucken, ob du gd installiert hast.
      Grüße André
      Antworten
      • Jan Hendrik
        Hallo Andre,
        nachdem ich die Auflösung der Kamera reduziert habe, klappt es. Anscheinend waren die Fotos zu groß vorher. Für meine Zwecke sollten die jetzt eingestellten 4-6 MP aber reichen.
        Jetzt habe ich allerdings noch eine andere Frage: Wie kann ich ohne Internet vom Tablet auf die Photobooth Seite zugreifen? Habe schon viel gegoogelt, allerdings bisher keine Lösung gefunden.
        Vielen Dank für deine und eure Hilfe :)
        Antworten
    • Sepp
      Servus,
      probier mal, dass du das gd Paket mit sudo apt-get install php7.0-gd installierst.
      Hat bei mir geholfen, da ich gerade das gleiche Problem hatte.
      Viele Grüße
      Sepp
      Antworten
  • Thomas Sundermann
    Hallo Andre,
    vermutlich hast Du die Frage schon mal beantwortet, aber daich frisch auf deine Seite gestoßen bin und aktuell einen Hinweis finden: Gibt es die Möglichkeit auf dem Tablet den Kamera Live-View-Modus einzustellen, oder "nur" klassisch auslösen und dann sehen wie's geworden ist? Und wie wird ausgelöst? Fernauslöser oder Tablet mit Touch?
    Danke für eine Rückmeldung, Thomas
    Antworten
    • Andre Rinas
      Hallo Thomas,
      ich selber habe bisher keine Möglichkeit dafür eingebaut. An paar Benutzer haben das allerdings mit einer zusätzlichen PI Camera gemacht. Wie kann ich dir leider nicht sagen.
      Grüße André
      Antworten
  • Giuseppe
    Hallo Andre,
    ich habe mal eine kleine Frage. Ich habe deine Photo Booth getestet und bin begeistert. Nun habe ich auf dem Pi die Bilder gelöscht. Image sowohl Thumbs Ordner.

    Allerdings bekomme ich über dem Browser in der Galerie noch die Frames der Bilder angezeigt.

    Gibt es einen Trick wie ich das zurücksetzten kann?

    Vielen Dank.

    Giuseppe
    Antworten
    • Andre Rinas
      Hi, du musst noch die data Datei leeren oder gleich ganz löschen. Die dient als Datenbank Ersatz. Grüße
      Antworten
  • Michael
    Hallo an alle,
    Ich habe alles nach Anleitung eingerichtet und es funktioniert ohne Probleme. Echt tolles Projekt, danke dafür.
    Da der pi nicht so viel Speicher hat, habe ich in /var/www/html/storage einen USB-Stick gemountet und die Ordner images, thumbs und qrcodes in das Unterverzeichnis kopiert. In der config.inc.php habe ich $config['folders']['images'] = 'storage/images'; usw. geändert.
    Nach dem Auslösen bleibt die Anwednung im Verarbeitungsbildschirm stecken, allerdings werden Bild und Thumb korrekt abgelegt und in data.txt erscheint das Bild bebenfalls. Nach dem Neuladen wird nur ein Rahmen für das Bild in der Gallerie angezeigt, der Link verweist jedoch auf den ursprünglichen image Ordner.
    Habe ich irgendwas vergessen umzustellen? Bin eher der hardwarenahe Programmierer und ne Niete in PHP :P

    Ich hoff jmd kann mir helfen deshalb schonmal vielen Dank,
    Viele Grüße,
    Michael
    Antworten
    • Andre Rinas
      Hallo Michael, es kann sein, dass der Bilder-Ordner noch in irgendwelchen Dateien hart reingeschrieben ist. Dafür könntest du in die index.php und die core.js mal durchsuchen.
      Viele Grüße
      André
      Antworten
  • Lukas
    Hallo Andre,
    zunächst einmal vielen Dank für deine Anleitung für einen Photobooth. ich habe die von dir beschriebenen Schritte ganz genau befolgt, leider macht der Booth bei mir aber einen Screenshot, anstatt die Kamera auszulösen. Wenn ich im Terminal den gphoto2 Befehl zum Auslösen gebe, funktioniert es, mit deinem Script erstellt der Booth lediglich einen Screenshot :(
    Kannst du mir hier vielleicht weiterhelfen? DSLR Typ: Canon EOS 500D

    Vielen Dank.
    Liebe Grüße,
    Lukas
    Antworten
    • Michael
      Hallo Lukas, hast du in der config.inc.php die Variable $config['dev'] = true; auf false gesetzt? Ansonsten ist der Entwicklermodus noch an und dort wird nicht auf die Kamera zugegriffen, sonden das Hinergrundbild kopiert, was eine Art screenshot als Ergebnis hat.

      Vielleicht löst das dein Problem,
      Viele Grüße,
      Michael
      Antworten
  • Tom
    Ich habe mir dank ihnen ein Photobooth gebastelt, und möchte mich für die Arbeit die sie in dieses
    tolle Projekt investiert haben Herrzlich bedanken.
    Alles funktioniert Einwandfrei, bis auf ein kleines Problem.
    Wenn ich ein Foto über das Webinterface ausdrucken möchte wird der QR Code mit ausgedruckt.
    Kann mir jemand einen Tipp geben wie ich diese Problem beheben kann?
    MfG
    Tom
    Antworten
    • Andre Rinas
      Hallo Tom,
      da kann ich dir leider auch nicht helfen. Du könntest mal probieren, das CSS anzupassen und dann zu sagen @media print .qr display none.
      Grüße André
      Antworten
      • Rudi
        Die Funktion die für das einfügen des QR-Code zuständig ist, versteckt sich in der Datei print.php. Hier ist es die PHP-Funktion imagecopyresized die den QR einfügt.
        Wenn der QR Code nicht erscheinen soll und das Bild maximiert sein soll, empfehle ich 2 Zeilen zu ändern:

        1.)
        $newwidth = $width + ($height / 2);
        ändern in ->
        $newwidth = $width; // + ($height / 2);
        2.)
        imagecopyresized($print, $source, $width, 0, 0, 0, ($height / 2), ($height / 2), imagesx($code), imagesy($code));
        auskommentieren / ändern in ->
        //imagecopyresized($print, $source, $width, 0, 0, 0, ($height / 2), ($height / 2), imagesx($code), imagesy($code));


        Antworten
  • Dennis Henß
    Hi André,
    ich würde dir gerne eine Anfrage bezüglich einer Aktualisierung deines Artikels schicken, erreiche dich aber über deine Mailadresse nicht.
    Es wäre super, wenn du dich mal bei mir melden könntest.

    Danke und Gruß,
    Dennis
    Antworten
    • Andre Rinas
      Hallo Dennis,
      habe dir eine Mail geschickt.

      Grüße André
      Antworten
  • Dirk
    Hallo Andre,
    Die Fotobox läuft immer noch super. Ich habe mittlerweile einen "richtigen" Drucker, Studioblitz etc. integriert.

    Jetzt zu meiner Frage: Ich lade momentan gemachte Fotos per cronjob und shellscript alle 5 Minuten in die Dropbox hoch. Eleganter wäre es, wenn jedes neue Foto sofort einzeln in die Dropbox geladen würde. Ich habe versucht einen Befehl in die takePic.php zu schreiben, kriege es aber einfach nicht hin. Kannst Du mir mit Code nachhelfen?

    Gruß

    Dirk
    Antworten
    • soko1988
      Hallo Dirk,
      wieso postest du nicht dein Code in Gitlab, damit dir evtl. auch andere helfen?

      Viele Grüße
      soko1988
      Antworten
    • Andre Rinas
      Hallo Dirk,
      was kriegst du denn nicht hin? Ein Befehl, der im Cronjob läuft würde ich dann via shell_exec ausführen. Da ist dann die Frage, ob dein User genügend Rechte hat.
      Viele Grüße
      André
      Antworten
  • Tobias Bruer
    Hallo Andre,

    die Kamera wird über den Auslösebutton ausgelöst und das Bild wird auch in den "images"-Ordner geschoben, aber es wird nicht angezeigt. Außerdem erescheint die Fehlermeldung "Es ist ein Fehler aufgetreten, bitte versuchen sie es erneut." Ich greife direkt auf dem Raspi über die localhost-adresse auf den Webserver zu. Ich hoffe es hat jemand eine Idee...

    Gruß Tobias
    Antworten
    • Tobias
      Funzt !!! Weiß aber nicht warum, habe nichts verändert...
      Trotzdem Danke für das tolle Projekt !
      Antworten
  • Steffen
    hallo Andre,

    kann es sein, das komentare auf der seite fehlen?

    gruß
    Steffen
    Antworten
    • Andre Rinas
      Hallo, nein, habe die Sortierung angepasst und werde noch eine Paginierung einbauen. Die Seite hat zu viele Kommentare und die Ladezeit ist zu schlecht.

      Grüße
      André
      Antworten
  • Justus Jacoby
    Ich kann auf das Webinterface zugreifen und habe denke ich alles installiert. Aber die Kamera löst nicht aus ich finde nirgends etwas dazu ob bzw wie man die verbinden muss.
    Antworten
    • Kevin Bayer
      Erstmal vielen Dank für die Software. Habe heute meinen Drucker eingerichtet, funktioniert super!
      Eine Frage:
      Ist es möglich auch einen kurz "Progress Screen" einzublenden wenn man auf drucken drückt? Denn der User bekommt kein Feedback ob gedruckt wird. Ich habe die Befürchtung dass sonst alles 10 mal gedruckt wird.

      Hat da jemand eine lösung?
      Antworten
      • Rudi
        Ich habe das mit einem Progress Screen in 3 Schritten gelöst:

        I. Schritt================
        In die datei resources\css\style.css müssen zwei Einträge hinzugefügt werden:
        #print_mesg{
        position: fixed;
        display: none;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0,0,0,0.5);
        z-index: 10000000000;
        cursor: pointer;
        }

        #print_mesg_text{
        position: absolute;
        top: 50%;
        left: 50%;
        font-size: 40px;
        color: white;
        transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
        text-align: center;
        }

        II. Schritt ================
        Ausserdem müssen in der Datei resources\js\core.js zwei Stellen ergänzungen vorgenommen werden:

        1.)
        // Add Print Link
        $(document).off('click touchstart', '.printbtn');
        $(document).on('click touchstart', '.printbtn', function (e) {
        e.preventDefault();

        document.getElementById("print_mesg").style.display = "block";
        setTimeout(function () {
        $.ajax({
        url: 'print.php?filename=' + encodeURI(result.img),
        }).done(function (data) {
        console.log(data)
        setTimeout(function () {
        document.getElementById("print_mesg").style.display = "none";
        window.location = window.location.origin;
        },5000);
        })
        },1000);
        });

        2.)
        // print in gallery
        $(document).on('click touchstart', '.gal-print', function (e) {
        e.preventDefault();
        var img = pswp.currItem.src;
        img = img.replace('images/', '');

        document.getElementById("print_mesg").style.display = "block";
        setTimeout(function () {
        $.ajax({
        url: 'print.php?filename=' + encodeURI(img),
        }).done(function (data) {
        console.log(data)
        setTimeout(function () {
        document.getElementById("print_mesg").style.display = "none";
        window.location = window.location.origin;
        },5000);
        });
        },1000);
        });

        III. Schritt ================
        Und zu guter letzt muss noch ein Eintrag in die index.php (irgendwo im body) eingefügt werden:





        Bitte warten. Das Bild wird an den Drucker gesendet.

        Antworten
        • Rudi
          Der letzte Abschnitt ist hier in der Darstellung des Codes leider etwas unzureichend.
          Der III. Schritt muss Vollständig so aussehen (ohne die Vorangestellten //:

          III. Schritt ================
          Und zu guter letzt muss noch ein Eintrag in die index.php (irgendwo im body) eingefügt werden:

          //
          //

          //
          Bitte warten. Das Bild wird an den Drucker gesendet.
          //
          Antworten
          • Rudi
            letzter Versuch den fehlenden Code hier darzustellen:





            Bitte   warten. Das   Bild   wird   an   den   Drucker   gesendet.

            Antworten
          • Rudi
            Oder so - runde Klammern durch pfeile ersetzen
            "(" ersetzen mit "<" und ")" wird zu ">"

            fehlender Code:
            (!-- print_mesg --)
            (div id="print_mesg")
            (div id="print_mesg_text")Bitte warten.(br)Das Bild wird an den Drucker gesendet.(/div)
            (/div)
            Antworten
  • Ediz Schon
    Hallo zusammen,
    hat es hier jemand umgesetzt einen Taster an einem gpio port als auslösebutton für take Picture zu verwenden. Ich versuche das seit geraumer Zeit, komme aber zu keinem vernünftigen Ergebnis. Es wäre auch ein Ansatz einen ESP8266 zu verwenden und damit einen Wlan Auslösebutton zu realisieren, nur wie?
    Antworten
    • Reinhard Rebernig
      Hi,
      ich habe bereits privat unzählige Features implementiert und musste leider vom raspberry auf ein notebook wechseln. Der Grund ist meine LivePreview welche viele Schreib und Lesevorgänge auf der SSD Platte vornimmt. Einen Arcadebutton hatte ich ursprünglich via PHP und den GPIOs angesteuert mittlerweile verwende ich einen Arduino (da keine GPIOs am Notebook ;) ). Die Lösung zum ganzen du kannst einen AJAX Call zum Server machen, dort den Buttonstatus lesen und im anschluss den Status zurück senden. Via jQuery kannst du dann ein Click Event ausführen und so den Touch auf den Auslösebutton simulieren
      Antworten
      • Jan
        Hi Reinhard,

        auch hier nochmal meine Frage, da ich nicht weiß ob du sie oben schon gelesen hast: Würdest du den Code öffentlich zur Verfügung stellen? Ich wäre sehr daran interessiert.

        Viele Grüße
        Antworten
      • Ediz Schon
        Danke für die Reinhard,
        hab es jetzt aber anders gelöst.
        Ich verwende jetzt ein numerisches Bluetooth Keypad das ich in einen Buzzer eingebaut habe, beides aus Amazonien.
        Ich simuliere eine Tastendruck auf "Enter", somit alles Probleme mit Fernauslösung erledigt.
        Als Preview habe ich eine kleine Wlan-Spionwebcam eingebunden, als Router kommt ein mobiler Alcatel Router zum Einsatz, über den ich die Bilder in die Dropbox hochlade. Auch Drucken auf einen Canon Selphy 1300 funzt tadellos, auch mit eingeblendetem Text und Banner.
        Was ich noch nicht geschafft habe, einen USB Stick als Speicherort so einzubinden, das man den Stick wechseln kann. Sobald ich den gemounteten Stick abziehe und einen anderen Stick einstecke funzt der Pfad ja nicht mehr. (Syslink).
        Wenn jemand hierzu eine Lösung hat, wäre ich begeistert.
        Grüsse an alle hier, insbesondere Andre für das tolle Projekt
        Ediz
        Antworten
        • Dominik
          Hallo Ediz,
          den gleichen Gedanken mit der Webcam hatte ich auch, da ich ein Vorschau Bild möchte, aber nicht die Kamera mit Dauer-LiveView quälen möchte.
          Darf ich dich fragen wie du die Sache angegangen bist?
          Liebe Grüße,
          Dominik
          Antworten
          • Ediz Schon
            Hi Dominik,
            ich benütze eine Webcam und hab auf der Hauptseite den Stream eingebunden.
            Ich hoffe das hilft Dir weiter.
            Grüsse
            Antworten
            • Manuel
              Hallo Ediz,
              würdest du uns die Fertige Datei zur Verfügung stellen?
              Gruß Manuel
              Antworten
    • Ediz Schon
      Schade, scheinbar ist dieses tolle Projekt tot, jedenfalls passiert hier nichts mehr, obwohl so viele gute Ansätze für Erweiterungen vorhanden sind.
      :-(
      Antworten
      • Andre Rinas
        Hallo Ediz,
        das Projekt ist noch sehr aktiv, allerdings habe ich kaum Zeit fürs Projekt und andere kümmern sich mit um die Sachen. Ich hoffe, dass ich dafür in nächste Zeit mal wieder was programmieren kann.
        Grüße
        André
        Antworten
        • Ediz Schon
          Hi Andre, das wäre wirklich super,
          Grüsse
          Ediz
          Antworten
  • Michael
    Hallo,
    ich habe leider immer noch das Problem, dass der QR Code in der Gallerie auf meinem iPad nicht funktioniert. Wäre prima wenn mit jemand helfen könnte.

    Vielen Dank
    Antworten
  • steffen
    Hallo Boris,
    Das mit der Vorschau habe ich mit einer Webcam gelöst. Hab die Software motion installiert und das live Bild dann in die Startseite eingebunden.
    Eine link zur Anleitung für den Drucker findet man weiter oben.

    Gruß Steffen
    Antworten
    • Reinhard Rebernig
      Hi,
      ich mache eine Live Preview mit der DSLR (ca alle 10ms ein Vorschaubild welches ich in einem canvas wiedergebe). Funktioniert soweit ausreichend und liefert 1:1 das Bild das im Anschluss gemacht wird. Außerdem kann ich Filter über das Bild legen...
      Wie stelltst du das Bild der Webcam dar und liefert es das selbe Bild wie die DSLR?
      Antworten
      • steffen
        Hallo Reinhard,
        leider ist das nicht das 1:1 Bild der Cam. Sonder nur die Webcam die ich über die Software motion laufen lasse. Dann binde ich das Bild der "IPcam" in die Startseite ein.

        Gruß
        Steffen
        Antworten
  • Boris
    hallo zusammen,
    ich habe folgendes problem.
    die software läuft soweit, ausser das der pi kein auslösesignal an die eos sendet. es wird ein foto vom hintergrund des webinterfaces gemacht.
    hat jemand eine idee?
    canon eos 350d ist kompatibel und sie wird unter lsusb angezeigt
    danke im voraus
    boris
    Antworten
    • Andre Rinas
      Hallo Boris, da haste oben in der Anleitung was überlesen. Du musst in der config.inc.php dev = false setzen. Derzeit ist der Demomodus an. Grüße André
      Antworten
      • Boris
        Guten Morgen Andre.
        Du weißt damit handlich wer lesen kann ist im Vorteil genau daran lag es aber noch eine Frage kann ich irgendwie auf Vorschaubild also bevor das Foto gemacht das ich sehe was ich mache umstellen und wie bringe ich den Drucker zum laufen das hab ich noch nicht ganz verstanden ich benutze ein Canon selphy cp1200.
        Ich muss aber noch mal was loswerden Sau starkes Projekt also wie gesagt was mir jetzt noch fehlt ist das Vorschaubild kann ich das auch irgendwie über True oder false Antiviren? Und der Drucker reicht der Wende im WLAN Netzwerk eingebunden ist oder Muster am Russ parie angeschlossen sein? Und wie aktiviere ich den beziehungsweise wie Steuer ich den an
        Antworten
  • Steffen
    Hallo Andre,
    Danke für die Super Arbeit. Habe nun auch eine Photobooth, dank dir.

    Ich habe einen Live-View nachgerüstet.
    Dies habe ich per motion und einer alten Webcam umgesetzt.
    Der Livestream wird dann auf der Startseite angezeigt.
    Funktioniert eigentlich ganz gut und ist einfach.

    Gruß
    Steffen
    Antworten
  • Philipp
    Hi André,
    vielen Dank fürs Teilen - das spart wirklich mega Arbeit und es sieht echt nice aus, im Vergleich zu den Software-Lösungen da draußen.

    Ich habe noch ein Problem mit der Geschwindigkeit unter Windows. Es dauert schon so 20 Sekunden nach "Cheeeese" bis das Bild da ist. Ich habe es manuell in der Command Line ausprobiert, dort sieht man, dass jedes mal die Nikon D5300 als neue Kamera erkannt wird. Kann ich dem Tool irgendwie sage, dass er sich die Kamera merken soll und so ggf. Zeit sparen?

    Hat jemand Erfahrung?

    Grüße,
    Philipp
    Antworten
    • Andre Rinas
      Hallo Philipp, leider nicht wirklich. Ich habe es letzens auch mal unter Windows probiert. Das Programm, dass Bilder aufnimmt ist leider nicht so gut, wie gphoto auf dem Raspberry. Wenn du ne Lösung findest, dann lass uns gerne teilnehmen. Grüße André
      Antworten
      • Klaus
        Hallo,
        zuerst herzlichen Dank für die Anleitung und die vielen Ideen die hier eingeflossen. Damit bin ich dann auch schon an der Stelle wo meine Frage ansetzt. Ist es möglich die hier aufgeführten Ding auch als Komplettanleitung zu Posten. Ich weiß das es viel Arbeit macht, aber für mich als Pi-Laie ist es sehr schwierig das nachzuvollziehen. Mir persönlich würde schon reichen die Anleitung für einen Drucker am System zusätzlich sehen zu können. Da blicke ich ehrlich gesagt nicht mehr durch. Bitte nicht auf mich schimpfen, es ist nur ein Frage und nicht einmal ein Bitte. :) Wer noch Anregungen für die Fotobox braucht oder gar eine Zeichnung, da kann ich gerne behilflich sein. Selbst das Fräsen einer Box kann ich anbieten, die Pläne für eine Box 400 X 500 X 400 9mm dick in Siebdruckplatte habe ich fertig. :)
        Gruß Klaus
        Antworten
      • klaus
        Also, entschuldigung für meine Vorpost. Wer lesen kann ist klar im Vorteil. Auf Github steht doch Alles.

        Gruß Klaus
        Antworten
      • Frank G.
        Meine Lösung war Raspberry Pi Desktop for PC als Virtual Maschine in Virtualbox zu installieren.
        Über den Anschluss eines Pi Zero müsste dann auch ein Taster an dessen GPIOs angeschlossen werden können. Vermutlich einfacher und komfortabel über WLAN mittels Esp8266.
        Wird beim Drucken eigentlich immer noch der QR-Code mit ausgedruckt oder wird inzwischen im Vollformat gedruckt? Ich selbst hatte mir einen USB Buzzer mit dem Teensy 2.0 USB gebaut. Beim Drücken wird Enterbefehl weitergegeben. Damit dieser vom Webinterface verarbeitet werden kann, musste noch etwas Code ergänzt werden. Steht in den Kommentaren unten. Alternativ kann auch über Fernbedienung ausgelöst werden mit Zuhilfenahme von FLIRC.
        Kann jemand Mal den Code für Live Preview mittels USB Webcam und Webinterface-Anbindung veröffentlichen? Funktioniert dann wahrscheinlich ja auch über die interne Webcam des Laptops (unter Windows mit VM)...!?
        Antworten
  • Vincenzo
    Hallo Andre,
    Danke für die tolle Anleitung. Bei mir funktioniert fast alles einwandfrei.

    Ich hab nur ein Problem mit der Bildergalerie. Wenn ich auf die Bildergalerie gehe, dann sehe ich die Übersicht mit den geschossenen Bildern. Wenn ich jetzt auf eines klicke dann hängt es sich auf. Ich sehe also das Bild nicht in der vergrößerten Ansicht und kann auch nichts mehr machen/ klicken. Muss die Seite dann neu laden. Passiert sowohl auf nem Android Tablet (7") als auch auf meinem Android Handy.
    Habe es auch schon mit der SimpleLightBox probiert, ohne Erfolg.
    Auf meinem Windows-Rechner funktioniert alles einwandfrei.
    Ich hoffe du kannst mir helfen

    VG
    Vincenzo
    Antworten
    • Andre Rinas
      Hallo Vincenzo, du könntest mal den Pull-Request hier probieren:
      github.com/andreknieriem/photobooth/pull/24
      Wenn das besser wird, dann binde ich den Code in meinen ein. Grüße André
      Antworten
      • Vincenzo
        Hallo Andre,

        damit funktioniert es! Vielen Dank!
        Hab nur das Problem, dass sich nun von lauter rumprobieren der "Auslösebutton" nach rechts verschoben hat und nicht mehr mittig ist. Hab es versucht in ser style.css unter "takepic" zu korrigieren, allerdings ohne Erfolg.
        Wird das irgendwo anders noch bestimmt?

        Vg
        Vincenzo
        Antworten
  • Daniel
    Hallo,
    super Sache deine photobooth.
    Habe es auf meinen Raspberry Pi 3 laufen, habe momentan ein normales Display dran und ne maus. Bestellt ist ein Waveshare 13,3Zoll Touchdisplay.
    Soweit läuft im Zusammenspiel mit meiner Nikon D3000 alles wie gewünscht.
    Nur das Thema Liveview lässt mich nicht los, das fände ich noch spitze. Dafür habe ich eine Raspberry pi camera, die auch sweit läuft. Wenn ich das jetzt über motion machen und als Hintergrund einbinde habe ich aber eine sehr große Verzögerung ~ 8-9sec. So bringt das leider nichts. Hat einer eine Idee wie ich das Livebild schneller eingebunden kriege? Mit raspivid läuft es auf dem Monitor super, aber wie bekomme ich den stream in die Webseite als Hintergrund eingebunden, jemand ne Idee??

    Gruß Daniel
    Antworten
  • Daniel
    Hi,
    ich komme nochmal zurück auf das Thema Liveview. Meine Nikon D3000 hat kein Liveview, also möchte ich das ganze mit der Raspberry Pi camera machen. Die läuft auch soweit, wenn ich das mit motion gemäß dem pull request mache habe ich einen riesigen Lag, knapp 10sec Zeitversatz. So macht der Liveview keinen Sinn. Jetzt wollte ich direkt mit raspivid das ganze als Hintergrund einblenden, aber da scheitere ich total. Jemand ne Idee?
    Gruß Daniel
    Antworten
  • Michael
    Hallo,
    ich habe mit Photoswipe das Problem, dass dieses sich aufhängt, jedoch nur in Kombination mit meinem iPad und nach dem Absprung eines geschossenen Fotos direkt in die Galerie.
    Es wurde ja schon mehrfach über Problem in der Galerie bei Nutzung von Tablets berichtet. Leider finde ich keine Lösung.
    Weiterhin ist bei der Ansicht eines einzelnen Galeriebildes, das Bild auf dem iPad nicht im Vollbildmodus.
    Würde mich sehr über Antworten freuen, da die Box ansonsten super funktioniert.
    Danke für Rückmeldungen und DANKE an Andre für dieses geile Programm!!
    Viele Grüße Michael
    Antworten
    • Michael
      Hallo, konnte das Problem mit der einfrierenden Galerie auf dem iPad mittlerweile mit der Anleitung "Optimization for smaller devices and add to homescreen" beheben. Jedoch funktioniert der QR Code noch nicht in der Galerie. Anscheinend greift der QR Code innerhalb der Galerie beim iPad nur den "Tumbs" Ordner auf. Normalerweise müsste der QR Code auf den "Images" Ordner zugreifen.
      Kann mir dabei jemand einen Hinweis oder Hilfestellung geben.

      Vielen Dank im Voraus
      Antworten
      • René
        Hallo Michael,

        Wo findet man diese Anleitung 'Optimization for smaller devices and add to homescreen'? Ich habe nämlich das selbe Problem auf meinem Galaxy Tab A.
        Vielen Dank.
        Antworten
      • Fabian
        @Michael
        Wenn du den QR Code scannst bekommst du also nur ein kleines Bild, oder wie meinst du das genau?

        @Rene
        github.com/andreknieriem/photobooth/pull/24
        Antworten
  • Hendrik
    Hi Andre,
    ich habe jetzt schon einige Einsätze mit deiner Fotobox hinter mir und muss sagen sie kommt immer sehr gut an.
    Was mir jedoch auffällt ist, dass sie nach ein paar Fotos anfängt zu "laggen". Touch befehle werden dann teilweise nicht angenommen und man muss häufiger "clicken". Und der Count down ist auch nicht mehr flüssig sondern ruckelt.

    Woran kann das liegen?
    Nutze einen Pi 3+ gebootet und betrieben mit einer SSD über USB und ein Galaxy Tab A. (Trat auch normal über SD Karte auf, war der Grund zur Umstellung auf SSD, hat die Störung aber nicht behoben).

    Hat das schonmal jemand bemerkt?

    Auf jeden Fall vielen Dank für die Schöne Anleitung (nutze übrigens mitlerweile den aktuellen Code vom git).
    Antworten
    • Christian
      Hallo Hendrik,

      mir ist aufgefallen, dass die Seite deutlich weniger flüssig ist, wenn man Sie direkt auf dem PI laufen lässt. Ich hab andere Browser versucht, die weniger aufgebläht sind als der Chromium, das macht aber keine Unterschied. Ich hab überlegt, ob ein schlankeres OS ggf. dem entgegen wirkt, konnte aber nicht so recht eines mit GUI ausmachen. evtl. DietOS, aber da hatte ich noch keine Zeit für mich, einzuarbeiten.

      Lass ich die Seite auf einem PC oder Mac laufen, verschwindet die Perfomanceproblematik gänzlich. Vllt. muss man nochmal in Richtung Javascript Performance auf dem PI recherchieren.
      Antworten
    • Andre Rinas
      Hallo, ich hatte meinen Photobooth nun schon 3 mal im Einsatz und hatte noch nie ein Problem. Es ist auch nur ein Raspberry 2 mit SD Karte. Wenn die Oberfläche laggt, liegt das auch nicht an der Festplatte, sondern tatsächlich, wie der Christian sagt an der Javascript/Browser-Geschwindigkeit. Man könnte versuchen die CSS und Javascript Animationen auszubauen/zu minimieren, damit das laggen aufhört. Oder du schaust mal mit einem anderen Tablet.
      Grüße André
      Antworten
Aus Performance-Gründen werden derzeit nur die letzten 30 Kommentare angezeigt. Eine Paginierung folgt noch

Hinterlasse einen Kommentar

Antworten abbrechen

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

Kommentar wird gespeichert
Danke für deinen Kommentar! Sobald er freigegeben wurde erscheint er hier.