BitBastelei #314: Fotobox Revamped: Installationsscript, eigene Designs & Co

BitBastelei #314: Fotobox Revamped: Installationsscript, eigene Designs & Co

(454 MB) 00:22:47

2018-12-23 11:00 🛈

Vor etwas über einem Jahr hatte ich meine DIY-Fotobox auf Basis eines Raspberry Pi gezeigt. Mit etwas Python konnte man auf Knopfdruck Selfies schießen und anschauen. Leider kam kurz darauf eine neue Version des auf dem Raspi genutzten Betriebssystems heraus, welches viele Dinge kaputt machte. Nun habe ich mich mal rangesetzt und die Codes auf einen aktuellen Stand gebracht: Automatische Installation, deutlich einfachere Möglichkeiten eigene Designs zu nutzen und für die Hardware-Ecke gibt es einen zusätzlichen Buzzer.

Inhalt

  • 03:04 Installation von Raspian Stretch
  • 04:57 WiFi und SSH vorab konfigurieren
  • 07:19 Erster Boot und SSH-Verbindung
  • 09:01 Installation der Fotobox
  • 10:46 Fotobox-Design anpassen & Bilder herunterladen
  • 14:08 Grobhandtaster als Auslöser

Code und Hinweise

https://github.com/adlerweb/fotobox

Teile der Hardware wurden mir seinerzeit von Reichelt Elektronik zur Verfügung gestellt.

27 Gedanken zu „BitBastelei #314: Fotobox Revamped: Installationsscript, eigene Designs & Co“

  1. Hallo,
    ich habe mir die neue Version der Fotobox installiert. Nun habe ich das Problem, dass ich keine Fotos speichern kann. Egal ob ich das Foto auf der SD Karte oder einem USB Stick speichern lasse, das Programm bricht ab und lande auf der Openbox Oberfläche. Als User Pi kann ich auf dem Stick schreiben.
    Hast Du einen Tipp für mich?
    Gruß
    Dirk

  2. Hallo und guten Tag…

    Super Video und super anleitung!!!

    Habe hier von den Video das nachgemacht:
    https://cdn.biba.adlerweb.info/BitBastelei/biba0314.webm?ptm_source=webplayer&ptm_context=home&ptm_request=caea946148ef&ptm_file=biba0314.webm

    Funktioniert alles super aber wie kann ich den auf den USB Stick speichern??

    In einen anderen Video bist du mal kurz drauf eingestiegen aber weiß nicht wie es genau geht.

    Bitte um Info

    Danke erstmals und lg aus Österreich

    Arthur

    1. Hallo,
      die Funktion für den USB-Stick hatte ich so nicht mehr beschrieben, lässt sich aber einfach einrichten: Erst usbmount installieren, dann wird der Stick beim Einstecken automatisch gemountet. Wenn er mit einem Windows-Dateisystem Arbeitet (z.B. FAT) muss in der Konfiguration noch angegeben werden, dass die User drauf zugreifen dürfen (https://www.elektronik-kompendium.de/sites/raspberry-pi/1911271.htm). Wenn alles klappt müsste der Stick unter /media/usb oder sowas liegen – der Pfad lässt sich dann in der config.py der Fotobox unter „fotoboxCfg[’save‘]“ eintragen.

      1. Hallo bins nochmals..
        leider bring ich den USB stick nicht zu laufen..
        bei den Link den ich befolgt habe in der nano….
        „Danach hat man als User auch schreibend auf die eingesteckten USB-Sticks Zugriff.

        Zum Testen einen USB-Stick einstecken, folgende Datei erzeugen und speichern.

        nano /media/usb/test.txt“
        Ich kann im Nano edit nichts speichern wenn ich hier etwas eintagen möchte zum Test kann das Y nicht bestätigen sondern nur N für no aber dann seh ich ja nicht ob der Stick eingebunden ist und ob was gespeiert wurde der Stick bleibt leer.

        Biite um deinen Rat
        THX
        Arthur

      2. hallo nochmals 🙂
        so habe deinen Link nochmals gemacht aber mit zusätzlichen befehl sudo mount /dev/sda1 /media/usb
        dann erst konnte ich test.txt speichern der auch auf den Stick geschrieben wurde.auch in der config.py habe ich den Pfad media/usb geändert (Save)
        reboot gemacht foto gemacht usb war drinnen bin auf speiern gegangen und der Bildschirm bleibt scharz und es tut sich nichts mehr :(.
        Bitte um deinen Rat.
        Danke Danke
        Arthur

  3. Hallo,
    echt alles toll beschrieben und auch das Speichern auf dem USB Stick funktioniert wie beschrieben.

    Was mich aber total wundert, ist das Ihr kein Problem mit dem Verlust der Anzeige hab, nachdem man bei erstelltem Foto auf Button 1 zum speichern drückt.

    Egal ob ich auf „Speichern“ oder „Abbruch“ drücke, danach springt die Anzeige für ca. 0,5s in die Hauptansicht und danach wird der Bildschirm schwarz. Betätigt man den button 1 erneut, erscheint erst wieder eine Anzeige, die das Cupture Bild zeigt. Es hängt also mit der Hauptansicht zusammen.

    Mehrfach erneute Installation hat keinen Erfolg gebracht. Hat jemand einen Tipp?

    Vielen DANK vorab!

  4. Hallo,

    tolle Beschreibung und auch das speichern auf dem USB Stick funktioniert nun.

    Was mich aber wundert ist, dass Ihr scheinbar keine Probleme mit der Anzeige der Hauptansicht habt.

    Sobald ich nach geschossenem Foto auf Button 1 (Speichern) oder 3 (Abbruch) drücke erschein für ca. 0,5s wieder die Hauptansicht und danach wird der Bildschirm schwarz. Wenn ich dann z.B. wieder Button 1 zum auslösen drücke, erscheint das Bild erst wieder mit dem img. capturing. Es hängt also offensichtlich mit der Hauptanzeige zusammen.

    Hat jemand das selbe Problem und weiß einen Rat?

    Vielen Dank vorab und Gruß

    1. Hm – das klingt fast so, als ob da eines der letzten Updates was kaputt gemacht hat. Ist nur das Kamerabild weg oder der komplette Bildschirm?

  5. Hallo Adlerweb,

    ich kann mich nur anschließen: Tolles Projekt mit spitzen Erklärungen.

    Ich habe nur ein riesen Problem, dass wenn nach auslösen der Camera der button 1 „Speichern“ oder Button 3 „Abbruch“ betätigt wird, die Hauptanzeige für circa 0,5s angezeigt wird und dann der Bildschirm schwarz wird. Bilder werden wie erwartet im image Ordner auf der SD Karte gespeichert und auch wenn ich bei schwarzem Bidschirm button 3 betätige komme ich in den Ansichtsmodus, der einwandfrei funktioniert. Es gibt also nur ein Problem mit dem Main Screen, der nach erster Cameraauslösung nicht mehr angezeigt wird.

    Ich hab vorerst nach dem ich curl bash ausgeführt habe soweit nichts angepasst.

    Hat jemand eine Idee bzgl. Abhilfe oder das selbe Problem?

    1. Selbe Vermutung wie im Kommentar oben drüber ;). Wird der komplette Bildschirm dunkel oder nur die Ecke, in der normal das Kamerabild ist?

  6. Zunächst einmal, Super Idee, Super Video. Habe die Fotobox nachgebaut und Funktioniert so weit einwandfrei.
    Würde gerne eine Button/ Taster dazu bauen, aber ich komm da einfach nicht weiter. Es war kein Problem die HTML Maske zu erweitern und ich dachte auch, dass ich die beiden Scripte config.py und fotobox.py soweit verstanden hab. Aber egal was ich auch Versuche es gelingt mir nicht den neuen Button mit einer Funktion zu füllen.
    Sobald ich auch nur eine Kleinigkeit am fotobox.py Script ändere geht gar nichts mehr. Noch nicht einmal eine einfache Message Box bekomm ich hin.
    Muss auch dazu sagen, dass ich noch nie mit Python Programmiert habe und vermutlich hab ich hier noch irgendeinen Zusammenhang nicht kappiert.
    Was muss man tun um einen weiteren Taster dazu zu bauen? Muss man das Script mit einem Speziellen Programm umbauen? Kann mir jemand helfen zu verstehn woran es happert?
    Danke im Vorraus! 🙂

    1. Spontan würde ich sagen, dass du da einen Python-Anfängerfehler begangen hast: Python nutzt die Einrückung um Blöcke zu erkennen. Wenn du etwas in einen Block hinzufügen willst, dann muss die Einrückung identisch sein – sowohl die länge als auch die verwendeten Zeichen (Leerzeichen/Tabs).

  7. Hallo,bekomme die Fotobox absolut nicht zum laufen.
    Hab allerdings auch keine Ahnung von der Materie .
    Die Installation hab ich durchgeführt ,der Fotoboxordner wurde auch runtergeladen.
    Habe nach dem Start nur einen Dunklen Bildschirm mit Mauzeiger.
    Scheint Openbox zu sein.Aber die Fotooberfläche lädt nicht.
    Kann mir BITTE jemand helfen.

  8. zunächst mal super Idee, hab sie nachgebaut, funktioniert tadellos, speichern auf usb stick klappt problemlos, jetzt wollte ich im speichern Screen noch eine Druckfunktion hinzufügen, Button wird auch angezeigt, jedoch komme ich in der fotobox.py nicht weiter, das er auch druckt.
    kann mir jemand einen tip geben, was ich da einfügen oder ändern muss

    Danke im Vorraus:)

  9. Moin!
    Ich möchte mir so eine Box bauen und im November für meine Hochzeit nutzen.
    Ich hab als Anfänger mit Raspi und Linux das Ganze mal nachgemacht und ne Weile gebraucht.. mit der Linux-Kommandozeile isses zäh, wenn man nicht mit Linux so verbunden ist.
    Mit dem Curl-Link ging das alles ganz gut und die Box läuft.
    Zum Spass habe ich mal mit einer anderen Karte Raspbian Desktop installiert (später mehr Möglichkeiten ) und dann mit der Konsoleneingabe die Setup-Liste abgearbeitet. Die Box läuft da auch, startet aber nicht automatisch.
    Ich muss jedesmal die IDE bemühen um das Prog zu starten.
    Woran kann es liegen dass das Teil nicht automatisch startet? (.config/openbox/autostart) ist vorhanden.

    Bei beiden Versionen (Raspbian Desktop und Raspbian Lite) habe ich das Problem dass das Bild auf dem Kopf steht. Hflip kann man anpassen, Vflip gibt es da nicht.. Kann die Cam auch drehen, aber wie geht das per Software?

    Auf den Stick speichert das Programm auch nciht (32 GB Stick, Fat32), beide Varianten nicht.

    Auf einer 3. Karte habe ich die Photobooth von Jack Barker (Nutzt Raspbian mit Desktop) installiert. Die klappt gut, ist vom Funktionsumfang aber nicht so dolle (nur 1 Taster und keine Möglichkeit zu blättern, keine Galerie). Ich würde daher gerne Eure auf meiner Hochzeit entjungfern 🙂

    Wäre für Tips dankbar.

    Gruss aus´m Pott von
    Micha.

    P.S.
    Die Videoanleitung ist gut, jedoch an manchen Stellen zu schnell für Linux-Beginner.

    1. Mit dem Start hab ich so direkt keine Idee. Schau mal nach dem Start, ob eine fotobox.log mit aktueller Zeit existiert und ob da etwas drin ist.

      vflip ist nicht in der Config, kann aber einfach in der fotobox.py (~Zeile 60) eingefügt werden:
      self.camera.vflip = True

      Stick kann ich ohne weitere Infos nicht viel zu sagen, da gibt es viele Stellen, an denen es hängen kann. Ich schätze du hast die alte Anleitung mit usbmount genutzt, oder? Im aktuellen ist ja nichts mit USB-Stick drin. In dem fall schaue nach dem einstecken mit „mount“, ob der Stick (/dev/sda oder sowas) eingehangen ist. Wenn nein ist der Fehler bei usbmount zu suchen, z.B. kann es sein, dass du die Config für fat32 anpassen musst, da dort eigentlich vfat erwartet wird. Wenn das einhängen klappt sollte es reichen in der config den Speicherpfad passend zu setzen.

      1. Moin. Danke für die Antwort.
        Vflip funktioniert nun.
        Den Stick habe ich mit usbmount eingebungen und kann vom Desktop auch drauf schreiben und speichern.
        Die Box bricht jedoch beim Speichern des 1. Fotos ab.
        In der IDE bekomme ich die Fehlermeldung „Die Operation ist nicht erlaubt: ‚/media/pi/MICHAS_32er/Fotos/2019-09-04….jpg‘
        Dann bricht die Box ab.
        Der Autostart funktioniert auch noch nicht.
        Inzwischen habe ich es geschaftt (*als Linux-Anfänger stolz bin*) dass der Pi ein eigenes WLAN (ssid Fotobox) aufmacht und ich mich mit dem Handy verbinden kann.
        Eine Galerie bzw eine Website die man dann auf dem Handy sehen kann, muss ich noch basteln und suche ne Anleitung dafür.
        Gruss,
        Micha.

      2. Moin.
        Ich kriege langsam die Pimpernellen..
        Bei der Box ohne Desktop funktioniert VLflip und Autostart nun, aber ich bekomme den Stick nicht eingebunden.. USBmount usw ist alles installiert, die Verzeichnisse angelegt usw..

        Bei der Box mit Desktop funktioniert Vflip und der USB-Stick wunderbar, aber der Autostart absolut nicht.
        mit .dekstop-Datei nicht, mit LXDE-pi/autostart-Eintrag usw auch nicht, mit Cronjob auch nicht.. ich hab keine Idee mehr nach 3 Tagen googeln, probieren und entnervt sein.
        Zwischenzeitlich habe ich die Karte neu geflasht und von vorn alles gemacht.. Die Box läuft nur wenn ich sie manuell starte.
        Warum ist das bei Linux so bescheuert und umständlich gemacht?
        Wenn der Autostart mal laufen sollte, probiere ich wieder mit dem WLAN und der Galerie weiter.

  10. Moin..
    Nochmal ich.
    Auf meiner Hochzeit oder auch später bei anderen Parties wird nicht unbedingt WLAN frei verfügbar sein.
    Gibt es eine Möglichkeit den Pi als Wlan-Sender zu nutzen, so dass sich die Leutz die gewünschten Bilder runterladen können?
    Oder auch über Bluetooth, hat der Pi ja auch drin.

    Der gerade über Bluetooth verbundene Gast muss ja nur Zurgriff auf den Image-Ordner bekommen und kann sich rüber kopieren was er mag.
    Das wäre ein super Feature!

    Gruss,
    Micha

    1. WLAN ist prinzipiell mit hostapd möglich: https://www.elektronik-kompendium.de/sites/raspberry-pi/2002171.htm. Dazu bräuchte man dann einen Webserver mit Gallerie (z.B. UberGallery). Als Bonus würde ich in DNSMasq alle Domains an die Gallerie umleiten.
      Bluetooth kenne ich so nur OBEX, da muss aber die Fotobox aktiv eine Datei schicken. Einen Browser o.Ä. gibt es da mWn nicht. In dem Fall muss man aber in der Fotobox ein weiteres Menü schaffen um das Zielgerät auszuwählen.

    2. Moin.
      Ich habe es endlich geschafft bei der Desktop-Variante den Autostart zu aktivieren. Diese (aktuelle) Raspian-Dektop-Version ist offenbar anders als die mit der ihr diese Box gemacht habt.
      Alle Google-Seiten beschreiben 5 Varianten von denen keine so wie beschrieben funktioniert.
      Ich habe mir nun Eure Autostart-Befehle „Xset s noblank“ Xset.. usw in eine Datei geschrieben und als /home/pi/fotobox.sh gespeichert.
      Zusätzlich habe ich die sh auch in /usr/local/bin gespeichert
      Aufrufen der SH mit /etc/xdg/lxsession/LXDE-pi/autostart
      Da drin eine Zeile eingefügt:
      bash fotobox.sh
      Das funktioniert (wobei ich mir nicht sicher bin welche von den fotobox.sh jetzt ausgeführt wird)

      Bei der Box habe ich also nun Desktop, Vflip, Autostart und den Stick fertig.
      Jetzt noch WLAN und Galerie, hoffe das wird nicht so ein K(r)ampf.

      Den Grobhandtaster baue ich auch noch dran.
      Gruss,
      MM

  11. Moin.
    Ich hab jetzt alles nach langer Pause in die Kiste gebastelt.
    Die Kamera liess sich wegen des Kabels nur um 90 Grad verdreht montieren. Wie kann ich in der Software das Bild um 90 (oder 270) Grad drehen?

    Gruss,
    Micha.

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

  12. Hallo,
    ich muss vorausschicken, dass ich Raspi-/Linux-Neueinsteiger bin, also ein nur sehr rudimentäres Wissen über den Raspi und die dazugehörige Software habe. Aber gut, immerhin konnte ich Ihrem Projekt „folgen“ und es auch umsetzen, wobei mir, nach wie vor und auch im Vergleich mit anderen Fotobox-Projekten, die Idee, einen alten Monitor zu verwenden, immer noch am besten gefällt. Na gut.

    Ich bin allerdings der Ansicht, dass der eigentliche Gag einer Fotobox der sofortige Ausdruck ist; es wäre also toll, wenn man den Raspi mit einem Fotodrucker verbinden und die Fotos sofort ausdrucken könnte.

    Als Drucker bzw. Software dazu schwebt mir der Vorschlag Seb. Müller vor (https://github.com/sebmueller/Photobooth), allerdings ist’s mir völlig schleierhaft, wie ich Ihre Fotobox und die Software/die „Taster“ aus dem Projet von Seb Müller „verbinden“ kann, denn, siehe oben, ich bin Linux/Raspi-Neueinsteiger.
    Wenn Sie es mir (aber wahrscheinlich nicht nur) Schritt für Schritt erklären/aufschreiben könnten, wäre ich Ihnen wirklich dankbar (allerdings bin ich da wohl nicht allein…).

    Erst mal vielen Dank für Ihre Aufmerksamkeit und in der Hoffnung auf Unterstützung!

    Heinz

    1. Hm, ich bin kein großer Freund von Papierverschwendung, zudem sind aktuelle Drucker einerseits ein Krampf einzurichten und andererseits nach wenigen Wochen meist schon reif für den Schrott. entsprechend steht das nicht auf der Todo-Liste. Prinzipiell sollte das mit CUPS bei überschaubarem Aufwand machbar sein, ohne Python-Kenntnisse wird das aber eher schwer. Die Software von Seb ist komplett eigenständig und hat soweit ich sehe keine Druckfunktion, die man extern ansprechen könnte, da lässt sich also eher nichts verbinden.

  13. Servus,
    vielen Dank für deine Mühen, die Box als Tutorial zur Verfügung zu stellen. Habe diese nach langer Suche gefunden und für meine Hochzeit nachgebaut. Hierfür habe ich verschiedene grafische Anpassungen gemacht (auf den verwendeten Monitor abgestimmt, Hintergrundbild geändert., Position der Buttons angepasst. Leider habe ich beim justieren der Vorschau ein gravierendes Problem, welches mich gerade verzweifeln lässt: Zwar kann ich die Preview für den Start wunderbar in Größe und Position anpassen, wie auch die Ansicht der aufgenommenen Bilder. Das Problem was ich habe liegt darin, dass nachdem ich in einem Untermenü (nach Aufnahme oder Galerie) auf den Mainscreen zurückkehre, die Vorschau mit einem mal eine andere Positionierung und Größe hat als beim ersten starten. Wenn ich die Werte am-p-width etc. in der config.py anpasse, verschieben sich bei Vorschaufenster um die gleichen Werte, jedoch immer noch versetzt. Hast du irgendeinen Tipp, wo ich das noch justieren kann oder wo mein Fehler liegt?

    Vielen Dank,Christian

Schreibe einen Kommentar zu Arthur Antworten abbrechen

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