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

  • Michael
    Guten Tag, erst einmal vielen Dnak für dieses Hammer Projekt finde ich klasse. Nun zu meiner Frage welche Datei muss ich abändern um das Design auf dem Tablet anzupassen?
    Antworten
  • Kevin
    Hallo echt Klasse Projekt Hut ab, nur eine Frage die mir offen bleibt beim Ausdruck von den Bildern.... ist es möglich ein Fotostempel direkt mit zudrucken oder einen Namen?

    Wie kann man das irgendwie integrieren, hat jemand ne gute Lösung für mich?

    LG Kevin
    Antworten
  • Marc
    Hallo Andre,
    erstmal vielen Dank für deine super Arbeit und Beschreibung von deinem Tutorial.

    Da Projekt läuft bei uns einbahnfrei.
    Allerdings haben wir nur eine Frage und zwar bei unserer Photobooth Box habe wir ein Tablet eingebaut in der Horizontalen nun ist unsere Frage an dich wie kann man den TAKE PIC Button etwas nach Oben platzieren damit er nicht mehr so am unteren Rand vom Tablet sich befindet.

    Vielen Dank im vorraus
    Lg aus Luxemburg
    Antworten
    • André Rinas
      Hallo Marc,

      dafür müsstest du nur in der style.css in Zeile 315 den Wert bottom erhöhren. Dieser liegt gerade bei 50px.

      Grüße
      Antworten
  • Gabriela
    Hallo,
    ich habe die Photobooth nun schon auf einigen Feiern im Einsatz gehabt und sie hat immer für Stimmung gesorgt.
    Nun haben sich meine Kinder gedacht, sie schenken mir zum Geburtstag einen programmierbaren USB Buzzer. :-)
    Und da beginnen meine Probleme, wie bekomme ich ihn zum auslösen?
    Wenn ich die Weboberfläche unter Windows aufrufe und den Buzzer drücker funktioniert es schon mal. Ich wollte aber nicht auch noch einen Windows PC in meine Box bauen. Sicher gibt es eine Möglichkeit den Buzzer an den Raspi zu hängen und auslösen zu lassen. Ich wäre euch echt sehr dankbar, wenn ihr mir da Tipps geben könnt. Danke schon mal.
    Liebe Grüße
    Gabriela
    Antworten
    • Reinhard Rebernig
      Hi, habe meine Fotobox auch basierend auf das tolle Projekt nun schon ein dreiviertel Jahr im Einsatz und betreibe das ganze aus Performance Gründen auf einem Ubuntu Netbook da ich einige Erweiterungen eingebaut habe. Zum Buzzer kann ich nur sagen, es gibt auf Amazon Gamepad Platinen welche du mit USB anschließen kannst. Den Buzzer habe ich auf einen Knopf der Platine gelötet und mit gamepad.js (eine JavaScript Library) angebunden (ist somit Betriebssystem unabhängig)
      Antworten
  • Mario Guidone
    würde die photobox auch mit der picam v2 funktionieren? danke im vorraus
    Antworten
    • André Rinas
      Hallo Mario,

      ich denke schon. Dafür müsstest du den Befehl den du brauchst um mit der PiCam ein Bild zu machen einfach in der config Datei ergänzen. Dann könnte es schon fast gehen.

      Grüße André
      Antworten
  • Steffen
    Hallo,
    vielen Dank an Andre Rinas für das klasse Projekt. Es läuft sehr gut und stabil bei mir. Ich habe einen Canon Selphy CP 1300 eingebunden, der auch prima druckt. Problem ist nur, dass nach Auslösen des Druckbefehls auf dem Bildschirm keine Meldung "Foto wird gedruckt" oder ähnliches erscheint. Das hat den Nachteil, dass ungeduldige Benutzer mehrmals drücken und dann reihenweise das selbe Bild gedruckt wird.
    Kann mir jemand einen Tipp geben, wie ich eine Funktion für eine Meldung "Foto wird gedruckt", die kurz erscheint einbinden kann?
    Vielen Dank und beste Grüße
    Steffen
    Antworten
    • steffen
      Hallo Steffen,

      ich habe das übber cups gelöst. Das Problem hatte ich auch. Nach einer Feier waren 400 Druckaufträge in der Warteschlange. Habe im Cups die Warteschlange auf 1 gestellt.
      Dann ist immer nur ein Auftrag drin.

      gruß
      Steffen
      Antworten
      • Jürgen
        Hallo Steffen,
        ich habe das gleiche Problem mit den Druckauftägen, weil der Drucker erst nach einer kurzen Wartezeit zu drucken beginnt.
        Kannst Du kurz erläutern, wie und wo die Warteschlange der anstehenden Druckaufträge begrenzt werden kann?
        Danke!
        Lg Jürgen
        Antworten
  • 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
    • Daniel
      Hallo Tobias. Bei mir hat der thumbs Ordner schlichtweg gefehlt. Nachdem ich ihn händisch unter /var/www/html angelegt und ihm die benötigten Rechte gegeben hatte, funktionierten die Thumbnails.
      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
    • Thomas
      Hallo Michael, hallo Andre,
      ich stehe vor dem gleichen Problem. Würde gerne die Bilder auf einen gemounteten Stick schreiben. Hat einer von Euch schon gefunden in welchen Dateien die Pfade noch angepasst werden müssen. Würde mich über Antwort freuen.
      @Andre: Danke für das tolle Projekt, soweit funktioniert alles einwandfrei.
      VG
      Thomas
      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
        • Reinhard Rebernig
          Hi sorry die späte Meldung, hatte im Oktober meine Hochzeit für die ich die Fotobox gebastelt habe und habe auch neue Erkenntnisse gemacht. ich habe einen Gamepad Controller von Amazon bestellt und den per USB angesteckt. den Button kannst du auf die Platine löten und das ganze mit gamepad.js als "Knopfdruck" einbinden ;)
          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
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.