BitBastelei #251 – Raspberry Pi Fotobox selbst bauen (1/2)

BitBastelei #251 - Raspberry Pi Fotobox selbst bauen (1/2)

(256 MB) 00:57:05

2017-08-20 10:00 🛈

Vermutlich kennt ihr sie: Die Foto-Boxen, welche oft in Einkaufscentern o.Ä. zu finden sind. Auch auf Veranstaltungen lassen sie sich immer öfter finden. Wer jedoch selbst versucht hat eine solche zu mieten wird schnell feststellen, dass die Preise durch die professionelle Technik nicht gerade gering sind. Aber wir sind ja Bastler: Mit Raspberry Pi und etwas Zubehör ist schnell die eigene Fotobox gebaut und für die nächste Party bereit.

Den Code und eine Liste der Bauteile findet Ihr unter
https://github.com/adlerweb/fotobox

Die Komponenten für diese Fotobox wurden mir von Reichelt elektronik kostenfrei zur Verfügung gestellt.

53 Gedanken zu „BitBastelei #251 – Raspberry Pi Fotobox selbst bauen (1/2)“

  1. Hallo an Adlerweb,
    ich habe mich an der Fotobox probiert und leider nur einen Raspi2b zur verfügung. Habe nach anleitung versucht alle Programmkomponenten so wie Vorgeführt zu installieren, aber irgendwie bekomme ich nicht das Ergebnis wie im Video. Brauche auch nicht unbedingt Wlan, ssh läuft auch gut und die Bilder wollte ich danach eh auf CD brennen.
    Wenn ich den Raspi starte läuft alles durch bis dann ein Bildschirm erscheint mit Passwort, ok klar Passwort rein und dann habe ich einen dunklen Bildschirm mit schwarzer Maus und fertig. Leider bin ich absolut nicht der Linux Nerd mit erfahrung um jetzt den Fehler zu lokalisieren.
    Vieleicht könnte mir jemand dabei Helfen.
    Mit freundlichem Gruß
    Ralf

    1. Wenn du Esc drückst solltest du zum Desktop zurück kommen. Dort ein Terminal öffnen und „python3 ~/fotobox/fotobox.py“ per Hand starten. Im Terminal sollte dann die zugehörige Fehlermeldung erscheinen.

  2. Hallo Florian,
    erstmal ein !DICKEN! Daumen hoch für all deine Videos UND Projekte!
    Manches konnte ich auch schon umsetzen, wenn auch nur als Iddeenschmiede.

    Im Moment hänge ich an der Fotobox, die ich für meine Nichte & Co einrichte (remote). Ich bekomme es nicht hin die Bilder vom USB-Stick in der Gallery angezeigt (Als Server hab ich wie bei dir „beschrieben“ ngnix und ubergallery verwendet). Was muss ich wo eintragen das entweder ein DirektoryAlias oder SymLink funktioniert?

    Mit Apache oder lighttpd weiß ich was ich tun muss nur bei dem für mich neuen Server hab ich noch Probleme oder stell mich zu doof an… ;-(

    1. Ich hatte es bei mir der Faulheit halber (hatte bestehendes Setup kopiert) als bind-mount gemacht:
      mount -o bind /mnt/usb/ /srv/http/gallery/daten/
      oder so ähnlich. Alternativ mal nach der Fehlermeldung schauen, prinzipiell kann ubergallery auch direkt auf den USB-Ordner, da muss evtl. dann noch open_Basedir (/etc/php/php.ini oder sowass) um den Ordner ergänzt werden.

  3. Hallo Florian,
    ich bin begeistert von deinem Video über den Bau einer Fotobox.
    Ich habe soweit alles an Hard und Software fertig Installiert und versuche nunmehr seit 2 Tagen die Fotobox zum laufen zu bekommen.
    Der Raspberry Pi 3 Model B startet ohne Fehler und bleibt im Desktop stehen. Wenn ich die Fotobox Software mauell starte kommt folgender Fehler:
    Qt Error: QXcbConnection: Could not connect to Display
    Vielleicht hast du ja noch eine Idee was da nicht funktionieren könnte.
    Vielen Dank im Voraus
    Andre

    1. Desktop heißt, dass der Autostart nicht in Ordnung ist. Welcher Desktop wird denn angezeigt?
      Zum Manuell: Versuchst du das zufällig per SSH? Dann weiß er nicht auf welchem X-Display das angezeigt werden soll. Vorher ein export DISPLAY=":0" sollte da helfen. X muss am Raspi natürlich laufen.

      1. Hallo,
        die Fotobox funktioniert jetzt sei einem halben Jahr einwandfrei. Ich hab mitlerweile noch eine Fotolampe im Countdown eingebunden, einen Funk Fernauslöser installiert, der Camera eine besseres Optik verpasst und die Fotos über ein eigenes Fotobox-WLAN zum Download bereitgestellt.
        Perfekt wäre die Box jetzt noch mit einem Drucker. Gibt es dazu schon überlegungen wie man das realisieren könnte?
        Viele Grüße und vielen Dank
        für die super Anleitung
        Andre

    2. Hallo,
      die Fotobox funktioniert jetzt sei einem halben Jahr einwandfrei. Ich hab mitlerweile noch eine Fotolampe im Countdown eingebunden, einen Funk Fernauslöser installiert, der Camera eine besseres Optik verpasst und die Fotos über ein eigenes Fotobox-WLAN zum Download bereitgestellt.
      Perfekt wäre die Box jetzt noch mit einem Drucker. Gibt es dazu schon überlegungen wie man das realisieren könnte?
      Viele Grüße und vielen Dank
      für die super Anleitung
      Andre

      1. Eigentlich sollte es reichen nach installation des Druckers (CUPS) in der Fotobox einen Aufruf von „lp“ zu starten:
        lp -o landscape -o fit-to-page -o media=A4 /mnt/usb/letztesbild.jpg

  4. Hallo
    Ich habe so eben die Fotoboxen entdeckt.
    In ein paar Monaten steht ein großer Geburtstag an, und ich dachte die Box als Gadget wäre ganz lustig.
    Bis dahin sind es noch ein paar Monate.

    Ein paar Fragen hab ich

    Gibt es eine passende Kamera mit besserer Auflösung?

    Kann man das Fotobuch ausblenden? Ich finde es witziger wenn man das Ergebnis erst später sieht wenn die Fotos auf einer cloud zum anschauen liegen.

    1. Hallo,
      Zur Kamera: Soweit ich weiß fertig für CSI nicht. Eine Alternative wäre es eine professionelle Kamera, z.B. aus der Canon EOS-Serie, einzubauen und über gphoto2 anzusteuern. Da sollte es ein paar Projekte im Netz zu geben.
      Fotobuch ausblenden ist kein Problem, müsste man nur die Zeilen für den Menüpunkt/Taster löschen

  5. Hallo adlerweb,
    erstmal super das Du das Video gemacht hast. Finde ich toll.
    Habe das Projekt jetzt zum 4.Mal durchgeführt und bekomme immer wieder die selbe Fehlermeldung.
    Nach dem Ersten einrichten und neustarten kommt ein schwarz/grauer Bildschirm mit dem Mauszeiger. Nach dem deinstallieren von lightdm komme ich wieder auf die Konsole und führe “python3 ~/fotobox/fotobox.py” aus, dann kommt der Fehler Qt Error: QXcbConnection: Could not connect to Display obwohl ich direkt auf dem Raspi bin ohne SSH. Die autostart Datei liegt unter /home/pi/.config/openbox und ist auch so wie Du zeigst eingerichtet.
    xset -dpms &
    xset s off &
    python3 /home/pi/fotobox/fotobox.py

    Habe jetzt jessie light im Einsatz.
    Hast Du eine Idee wo ich ansetzen muss, bin schon etwas niedergeschlagen.
    Gruß
    Normen

    1. Das passt so auch nicht: Wenn du LightDM deinstallierst und auf der Konsole arbeitest hast du keine grafische Oberfläche gestartet. Ohne die lässt sich auch kein grafisches Programm starten. Versuch mal die Autostart-Datei zu löschen/verschieben, sodass du die grafische Oberfläche des Raspi bekommst. Dann dort ein Terminal öffnen und den Befehl versuchen.

  6. Hi,
    erstmal super Projekt und Anleitung!! Bei mir läuft alles soweit. Musste die Auflösung an meinen Bildschirm anpassen ( 1024 x 768). Mein einziges Problem ist jetzt nur noch das die Fotos nur mit oben genannter Auflösung gespeichert werden. Dran hängt eine v2 cam (8MP) . Bin mit meinem Latein am ende, bin auch noch ein rechter anfänger, konnt mich aber bis hierher durchboxen 😀 Gibts da ne Möglichkeit das Ich die irgendwie mit 8mp gespeichert bekomme? MfG Steffen

  7. Hi,
    Ich bin momentan dabei die Fotobox nach deiner Anleitung nach zubauen. Momentan hänge ich aber in dem Schritt wo die Einstellungen xset s off usw. eingegeben werden. Mit welchem Befehl oder Taste werden die Eingaben übernommen dami ich wieder in das Hauptmenü komme? Und was genau muss ich mit dem Code machen? Muss dieser auf einem Stick sein oder irgendwo eingefügt werden?

    1. Editor beenden kommt ganz drauf an welchen du verwendet hast. Bei Nano müsste das Strg+O, Enter, Strg+X sein. Vim wäre Escape :wq Enter. Was du mit „dem Code“ machen muss – nuja, welcher Code. Wenn du der Anleitung folgst liegt alles im Raspi-System selbst (also der SD-Karte). Der Stick wird nur für die Fotos genutzt.

  8. Servus,
    erst einmal Danke und großes Lob für dein Projekt. Ich habe es nachgebaut und die Funktionalität ist einwandfrei!
    Ich möchte allerdings das Layout noch ein bisschen anpassen, grau in grau ist mir ein bisschen langweilig 🙂 Hast du Tipps für mich wie ich das bewerkstelligen kann?

    1. Hallo, nicht so wirklich. Ich würde die Layout-Datei im QTDesigner bearbeiten und dann wieder umwandeln und anpassen. War aber auch eines meiner ersten Python-Projekte, vielleicht hat also jemand mit mehr Erfahrung in dem Bereich bessere Ideen.

  9. Hallo Adlerweb,
    super Fotobox, funktioniert super. Danke.
    hab Ubergallery installiert und hätte da eine Frage.
    Fotobox kann auf USB-Stick abspeichern. UberGallery kann aber nur Bilder aus dem var/www/Ubergallery-Verzeichnis/gallery-images anzeigen, weil die Pfadangabe relativ zum Ubergallery-Verzeichnis ist.
    Kannst du mir helfen, mit Uber auch Fotos vom Stick anzuzeigen? Finde in Google nichts dazu.
    Danke dir,
    Harry

    1. Ich hatte den Stick einfach ins www-Verzeichnis gehangen: „mount -o loop /media/usb0 /var/www/images“. Ist aber die Quick-and-Dirty-Variante. Für sauber müsste vermutlich open_basedir in der php.ini angepasst werden.

  10. Hallo adlerweb
    Die Anleitung ist super! Vielen Dank ! Als PI Anfänger konnte ich die Technik soweit aufbauen und installieren. Habe jedoch noch ein Problem:
    1. Beim starten wird die Anwendung nicht automatisch gestertet.
    2. Wenn es manuell gestartet wird: Kommt noch eine Fehlermeldung:
    :pi@photobox:~ $ sudo python3 ~/fotobox/fotobox.py
    libEGL warning: DRI2: failed to authenticate
    Die autostart datei existiert
    pi@photobox:~/.config/openbox $ ls
    autostart lxde-pi-rc.xml
    pi@photobox:~/.config/openbox $ tail autostart
    xset -dpms &
    xset s off &
    python3 ~/fotobox/fotobox.py
    Vielleicht hast du noch ein Tip?

  11. Hallo
    echt gutes Video hab alles zum laufen bekommen
    hab nur ein Problem wenn ich den Taster zum speichern drücke
    wird der Bildschirm schwarz das Bild nicht gespeichert,muss dann wieder
    neu Starten. Woran kann das hängen

    1. Ich schätze das ist ein Problem des aktuellen Raspian – damals(tm) war Jessie noch aktuell und bisher bin ich noch nicht dazu gekommen mit Stretch zu testen und ggf. Fehler zu beheben. An einfachsten dürfte es sein ein älteres Raspian Jessie herunterzuladen und es damit zu versuchen. Andernfalls nimm das Python-Script mal aus dem Autostart, starte auf der grafischen Oberfläche ein Terminal und von dort die Fotobox. Wenn der Fehler auftritt solltest du mit Alt+Tab auf das Terminal zurück kommen und die Fehlermeldung sehen.

      1. Ist tatsächlich ein Problem von Stretch. Ich hatte genau dasselbe Problem und mit Jessie hat es dann funktioniert.

  12. Hallo,

    vielen Dank für die klasse Idee und die super Anleitung!
    Im 2. Versuch startet die Box nun auch automatisch. 2 Erweiterungen würde ich gerne noch machen, wenn mal dafür Zeit ist.
    1. WebServer mit eigenem WLAN (PI als Access-Point) für eine Gallerie.
    2. zeitgesteuerte Aufnahme, wenn die Box keiner nutzt.
    3. Vorschlag: die Verzögerung als Parameter am python-script, wenn das geht.
    Mit dem USB-Mount und dem kopieren der Daten auf einen USB-Stick klappt es bei mir auch noch nicht richtig. Das habe ich erstmal mittels FTP-Server gelöst.
    Wir haben gerade die ersten 2 Einsätze mit viel Spaß hinter uns gebracht.
    Die Box hatte nun schon zwei Einsätze.

    Also nochmal vielen Dank und einen „DICKEN“ Daumen!

    ciao

    Henning

    1. Hallo Florian,

      ja – das ist mir bewußt. Ich wollte die Funktion nur zur Verfügung stellen. Ob sie dann genutzt wird ist die Entscheidung des jeweiligen „Veranstalters“, wenn ich es nicht bin 😉
      ABER! Ich bekomme es nicht hin. Nach dem Capture springt er immer auf den OK_Screen und ich weiß nicht warum.
      Ich habe die Automatik in einen eigenen „Zweig“ gelegt und rufe ihn aus MAIN mit Button 3 auf. Bin allergins in Python auch absoluter Anfänger.
      Es wird also an meinem Verständnis liegen. Vielleicht sollte ich es mal eine Weile zur Seite packen.
      Die Countdown-Zeiten für Shots übergebe ich jetzt übrigens als Paramter aus der Kommandozeile. Das führt natürlich dazu, dass ein Auto-Start nur noch wenig Sinn macht (vielleicht nur als Grundeinstellung).
      Bei mir hat die Kamera übrigens immer nur 1280×720 (glaube ich) aufgenommen. Ich habe vor dem Capture noch self.camera.resolution = (3280,2464) einbauen müssen für die volle Auflösung. Falls Du mal ein Bild möchtest, wie der Nachbau Deiner Idee aussieht, dann schreib kurz.
      Ich habe übrigens auch die Neopixel-Uhr schon nachgebaut. Auch sehr g…! Vielen Dank auch für dieses Video.

      ciao

      Henning

  13. Hallo,
    super Video und ein klasse Projekt. Hast du es eventuell ausgebaut einen Drucker hinzugefügt?
    Wie könnte man realisieren mit einen Drucker und Taster?

    1. Hallo,
      nein, Drucker habe ich keinen hinzugefügt. Prinzipiell müsste man den Drucker ganz regulär per CUPS einrichten und in dem Python-Script mit einem Knopf den Druck auslösen. Sollte z.B. mit „lpr -o landscape -o fit-to-page -o media=A4 dateinamevomletztenbild.jpg“ gehen.

  14. Vielen Dank für dieses Projekt, hat auf Anhieb nach Anleitung funktioniert.

    Nur das Bild ist bei mir immer spiegelverkehrt. Ich suche und suche und kapiere es einfach nicht wo ich das wie ändern kann…

    Danke!

  15. Ich habe die Fotobox nach Anleitung aufgebaut und auch installiert.
    Beim ersten Foto ist alles OK, doch wenn man Speichern will bleibt der Bildschirm schwarz und kommt erst beim erneuten drücken mit einem neuen Forto wieder. Auch der Button Abbrechen für zu einem schwarzen Bildschirm. Das Bild wird aber korrekt abgespeichert.

    Gibt es dazu ein Lösung?
    Weiß nicht wo ich suchen muss.

    Danke und Gruß Felix

  16. Hallo,
    die Fotobox funktioniert jetzt sei einem halben Jahr einwandfrei. Ich hab mitlerweile noch eine Fotolampe im Countdown eingebunden, einen Funk Fernauslöser installiert, der Camera eine besseres Optik verpasst und die Fotos über ein eigenes Fotobox-WLAN zum Download bereitgestellt.
    Perfekt wäre die Box jetzt noch mit einem Drucker. Gibt es dazu schon überlegungen wie man das realisieren könnte?
    Viele Grüße und vielen Dank
    für die super Anleitung
    Andre

    1. Moin..
      Das mit dem WLAN interessiert mich auch.
      Hast Du eine Anleitung oder könntest Du eine verfassen wie man auf dieser Fotobox das mit dem WLAN realisiert?
      Software und Verdrahtung habe ich fertig, klappt alles.
      Ich bin gerade dabei die Holzkiste zu machen.

      Danke vorab!

  17. Hallo Andre,

    könntest du mal kurz beschreiben, welchen Webserver du genommen hast und welche Gallerie zum Anzeigen/downloaden der Bilder über den access point auf der Fotobox und auf was man beim Installieren der Pakete achten sollte bzw. deren Konfiguration.

    1. Hallo,
      das mit dem WLAN funktioniert sehr einfach.
      Ich hab eine alte FritzBox an das Lan des Raspberry gehängt und beiden eine feste IP die nichts mit dem WLAN des Raspi und meines Heimnetz zu tun hat gegeben. Dann noch die Software Picapport auf den Raspi installiert und das wars. Für Picapport gibt es auch eine App fürs Handy oder einfach über den Browser die Adresse des Picapport Servers auf dem Raspberry (http:\\192.168.xxx.xxx:80/picapport) eingeben und ihr könnte die Bilder anschauen oder den Picapportserver configurieren.

  18. Moin.
    Ich kämpfe als Linux-Beginner noch mit der Einrichtung.
    Die Box läuft auf Raspian Dekstop (Buster), startet endlich auch sofort beim Hochfahren, ich kann den Stick zum Speichern benutzen, habe mit hostapd usw mit dem Pi ein eigenes WLAN aufgemacht zu dem ich mit einem Handy o.ä auch eine stabile Verbindung bekomme und hab dann den Apache2 mit PHP7 und mysql installiert.
    Apache zeigt mir im /var/www/html- ordner auch „it works“ an und mit info.php bekomme ich auch eine ANzeige. Ich kriege nur nicht ein Bild auf dem Handy angezeigt, mit Ubergallery nicht, mit Single File PHP usw nicht. Die zeigen nur „not found“ oder Forbidden.
    Die Rechte bei Linux nerven wirklich, vor allem wenn ich probiere dass der Apache den Stick als Bilderquelle nehmen soll.
    Hat da jemand eine Anleitung die halbwegs aktuell ist?
    Mit Anleitungen von 2008 oder 2013 ist das so ne Sache, (PHP5 is z.B. nicht mehr, GD-Library findet der nciht usw..)
    AUf dem Gebiet bin ich noch Newbie..

    P.S.
    Hab noch zusätzlich einen Taster an GPIO3 gegen Masse.. Eine Zeile in die boot.config mit rein, damit kann man dann den Pi mit einem Tastendruck runterfahren und wieder hochfahren. Das klappt gut.

  19. Hallöchen,
    ich habe gerade das ganze auf einem Raspi 4 nachgebaut, lief auch alles super, ich habe nur ein Problem. Ich nutze dafür einen Monitor mit einer Auflösung von 1360×768 das Template anpassen und wie im Video beschrieben die Auflösung war kein Problem.
    Sobald ich aber ein Foto mache und es speichere, bzw. auf Neuer Versuch gehe oder Abbruch, sprich im Script wieder auf die Ausgangsposition springe, wird mir der Livestream der Kamera nicht mehr in der eingestellten Größe von mir angezeigt.

    Auszug aus der config.py

    fotoboxCfg[‚cam-p-width‘] = 820
    fotoboxCfg[‚cam-p-height‘] = 616
    fotoboxCfg[‚cam-p-x‘] = 55
    fotoboxCfg[‚cam-p-y‘] = 160

    sondern das Livebild ist auf einmal viel größer und sprengt mein Layout. Wo finde ich die die Werte zum ändern, bzw. wo muss ich meine Werte mit eintragen, das das Livebild immer in der selben Größe und an der selben Stelle erscheint?

    Ich hoffe auf Rückmeldung.
    PS: super Anleitung hat sofort funktioniert DAUMEN hoch
    Habe die Anfrage schon auf Youtube gestellt, aber jetzt erst über den Blockeintrag gestolpert.

    1. Theoretisch sollte das an der Stelle reichen, die Kamera kann aber offiziell nur ein paar festgelegte Auflösungen. Versuch mal 800×600 und schau, ob es dann funktioniert.

    1. In der aktuellen Version sollte unter Zeile 60 (hflip) sowas möglich sein:
      self.camera.rotation = 90
      Allerdings ist das Bild dann auch im Hochformat.

      1. Moin.
        Danke.
        Ich habe die Kamera gedreht und sie durch ein Missgeschick geschrottet..
        Eine neue bestellt und gleich „richtig“ herum eingebaut.
        Die Bos ist jetzt komplett fertig, bis auf die Rechte mit dem Webserver und funktioniert an sich gut.
        Sie wird nächste Woche den ersten Einsatz haben.

  20. Moin Adlerweb,
    erstmal besten Dank für die super Anleitung. Die Fotobox läuft erst einmal.
    Mit der Anpassung an andere Auflösungen kämpfe ich zwar noch, vor allem weil mein QT Desinger mir keine größeren UIs als 640×480 machen lässt, warum auch immer.
    Viel wichtiger die Frage, warum mein Bild spiegelverkehrt ist und wie ich das beheben kann.
    Danke und Gruß
    Stefan

  21. moin, echt cool was du da alles so baust, mein problem ist, Nachdem das erste Foto gemacht wurde, wird der Bildschirm schwarz bis ich auf Speichern oder Neu Aufnehmen drücke.

    Dieses Verhalten wurde 2018 schon einmal hier beschrieben.

    Wurde das Problem mittlerweile gelöst?

  22. Hallo,

    ich versuche mich auch gerade an der Box. Leider hat sich seitdem einiges geändert. Ich bekomme die Pica nicht zum laufen. in raspi-config wird diese deaktiviert und das Ganze über libcamera gemacht…

    Ich hoffe die Box wird noch supported?!

  23. Hallo,

    ich habe die Fotobox nun zum Laufen gebracht. Das Problem mit dem schwarzen Bildschirm wurde ja schon öfter beschrieben (sobald Button „speichern“ gedrückt wird, wird Foto gespeichert/ Bildschirm komplett schwarz). Wenn ich den Speicherpfag auf z.B. /home/pi/BlaBla lege funktioniert alles. Wenn ich /media/usb0/ eingebe tritt der Fehler auf. USB stick ist gemountet, die Bilder können auch in der Galerie angeschaut werden. Ich versteh nur nicht warum das was mit dem Speicherpfad zu tun hat. Ist doch Wurscht ob Python auf einen Stick oder Lokal schreibt?!

Schreibe einen Kommentar zu Marcel Antworten abbrechen

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