<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>gphoto2 Archive - Das ist die Welt von Thomas</title>
	<atom:link href="https://www.schiffler.eu/thema/gphoto2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.schiffler.eu/thema/gphoto2/</link>
	<description>meine Gedanken, mal strukturiert, mal nicht ...</description>
	<lastBuildDate>Fri, 24 Apr 2026 05:39:29 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.schiffler.eu/wp-content/uploads/2025/07/cropped-Profilfoto_2024-32x32.png</url>
	<title>gphoto2 Archive - Das ist die Welt von Thomas</title>
	<link>https://www.schiffler.eu/thema/gphoto2/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Wie ein Python-Lernprojekt zur Fotobox wurde — die SmileCube Story</title>
		<link>https://www.schiffler.eu/wie-ein-python-lernprojekt-zur-fotobox-wurde-die-smilecube-story/</link>
					<comments>https://www.schiffler.eu/wie-ein-python-lernprojekt-zur-fotobox-wurde-die-smilecube-story/#respond</comments>
		
		<dc:creator><![CDATA[Thomas Schiffler]]></dc:creator>
		<pubDate>Fri, 01 May 2026 07:15:00 +0000</pubDate>
				<category><![CDATA[eigene Projekte]]></category>
		<category><![CDATA[Fotobox]]></category>
		<category><![CDATA[gphoto2]]></category>
		<category><![CDATA[Maker]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[SmileCube]]></category>
		<guid isPermaLink="false">https://www.schiffler.eu/?p=2924</guid>

					<description><![CDATA[<p>Ich bin Java-Entwickler. Seit über 20 Jahren. JEE, Spring, Enterprise-Architekturen — das ist meine Welt. Python war für mich ein &#8230; <a href="https://www.schiffler.eu/wie-ein-python-lernprojekt-zur-fotobox-wurde-die-smilecube-story/" class="more-link">More <span class="screen-reader-text">Wie ein Python-Lernprojekt zur Fotobox wurde — die SmileCube Story</span> <span class="meta-nav">&#8594;</span></a></p>
<p>Der Beitrag <a href="https://www.schiffler.eu/wie-ein-python-lernprojekt-zur-fotobox-wurde-die-smilecube-story/">Wie ein Python-Lernprojekt zur Fotobox wurde — die SmileCube Story</a> erschien zuerst auf <a href="https://www.schiffler.eu">Das ist die Welt von Thomas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Ich bin Java-Entwickler. <a href="https://www.schiffler.eu/thomas-schiffler-it-architekt-java-jee-spring-python/" type="page" id="45">Seit über 20 Jahren.</a> JEE, Spring, Enterprise-Architekturen — das ist meine Welt. <a href="https://www.schiffler.eu/thema/python/" type="post_tag" id="129">Python</a> war für mich ein Fremdwort. Aber ich bin neugierig, und ich lerne gerne Neues. Am liebsten aber nicht mit irgendeinem Tutorial, sondern an einem echten Projekt. Etwas, das am Ende auch wirklich genutzt wird. Denn mal ehrlich: Ein Proof of Concept, der in der Schublade verschwindet, beweist gar nichts. 2016 planten Sarah und ich unsere Hochzeit. Eine Fotobox war gesetzt — die Gäste sollten Spaß haben und echte Abzüge mit nach Hause nehmen. Also schauten wir uns um. Und waren enttäuscht. Webcams in hübschen Gehäusen, matschige Bilder, langsame Drucker. Für viel Geld. Da kam beides zusammen: Ich wollte Python lernen, und ich wollte eine Fotobox, die unseren Ansprüchen genügt.</p>



<h2 class="wp-block-heading">Raspberry Pi, Canon DSLR und los</h2>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<p>Die Basis war schnell definiert: Ein Raspberry Pi als Herzstück, eine Canon Spiegelreflexkamera für vernünftige Bildqualität und&nbsp;<a href="http://www.gphoto.org/" target="_blank" rel="noreferrer noopener">gphoto2</a>&nbsp;zur Kamerasteuerung. Die GUI habe ich mit Tkinter gebaut — nicht hübsch, aber funktional. Den Druck steuere ich über den Unix-Druckerpool (CUPS), angebunden ist ein professioneller Thermosublimationsdrucker. Das Ganze einmal das komplette Klavier von vorne bis hinten durchgespielt.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="683" src="https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_1-1024x683.jpg" alt="" class="wp-image-2925" srcset="https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_1-1024x683.jpg 1024w, https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_1-300x200.jpg 300w, https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_1-768x512.jpg 768w, https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_1.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>
</div>



<p>Aber bei der Kamera und dem Druck hört es nicht auf. Das Betriebssystem musste gehärtet werden, damit die Box nicht einfach hackbar ist. Eine Administrationsoberfläche zur Konfiguration musste her. Ein Buchungssystem zur Abwicklung. Automatische Prozesse, die nach dem Event die Bilder in eine Online-Galerie übertragen oder per Dropbox an die Kunden verteilen. Für die Online-Galerie hatte ich mit meinem&nbsp;<a href="https://www.portrait-service.com" target="_blank" rel="noreferrer noopener">Portrait-Archiv</a>&nbsp;bereits die perfekte Basis. Was als &#8222;ich schau mir mal Python an&#8220; anfing, wurde ziemlich schnell ein komplettes Ökosystem.</p>



<h2 class="wp-block-heading">Vom Labor zum Kunden</h2>



<p>Auf unserer Hochzeit 2017 war der SmileCube dann zum ersten Mal im Einsatz. Und er war der Hit. Danach fragten Freunde, ob sie die Box leihen können. Dann Kollegen. Dann Bekannte von Bekannten. Plötzlich war man an Wochenenden ausgebucht.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="683" src="https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_2-1024x683.jpg" alt="" class="wp-image-2926" srcset="https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_2-1024x683.jpg 1024w, https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_2-300x200.jpg 300w, https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_2-768x512.jpg 768w, https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_2.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<p>Mit echten Buchungen kommen echte Feedbacks — positive wie negative. Man muss sich der Sache stellen. Und genau das ist der Punkt, den ich bei jedem Lernprojekt predige:&nbsp;<strong>Maker ohne Produktion ist nichts.</strong>&nbsp;Solange etwas nur im Labor funktioniert, weißt du nicht, ob es wirklich funktioniert. Der Unterschied zwischen einem funktionierenden Prototyp und einem Produkt, das beim Kunden bestehen muss, ist riesig.</p>
</div>
</div>



<h2 class="wp-block-heading">Die Software lebt</h2>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<p>Sowohl bei Hardware als auch Software passiert regelmäßig etwas. Neue Collagen-Layouts, Fotostreifen im Retro-Look, ein Fußauslöser für freie Hände, andere Blitze für bessere Ausleuchtung. Man spielt rum, verbessert, optimiert. Die Python-Software, die damals als Lernprojekt entstand, ist heute ein stabiles, ausgereiftes System, das zuverlässig auf Events läuft.&nbsp;</p>



<p>Der tägliche Aufwand? Minimal. Das System ist maximal automatisiert. Der meiste Aufwand steckt darin, die Boxen vor einem Event zu konfigurieren und zu testen. Das ist aber inzwischen so rund, dass es nebenbei läuft — oder von meiner Frau Sarah erledigt wird.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="683" src="https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_3-1024x683.jpg" alt="" class="wp-image-2927" srcset="https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_3-1024x683.jpg 1024w, https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_3-300x200.jpg 300w, https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_3-768x512.jpg 768w, https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_3.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>
</div>



<h2 class="wp-block-heading">Ehrlich gesagt</h2>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="720" height="480" src="https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_4.jpg" alt="" class="wp-image-2928" srcset="https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_4.jpg 720w, https://www.schiffler.eu/wp-content/uploads/2026/04/smilecube_4-300x200.jpg 300w" sizes="auto, (max-width: 720px) 100vw, 720px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<p>Ich wollte schon ein paar Mal Schluss machen. Die Software läuft, es gibt nichts Spannendes mehr zu entwickeln, es wird langweilig. Sarah motiviert mich dann aber weiterzumachen — immerhin verdienen wir den ein oder anderen Taler damit dazu. Und sie hat recht. Denn was mich wirklich überrascht: Nach fast 9 Jahren ist die Fotobox nach wie vor gefragt. Die Boxen werden gebucht, sind auf Hochzeiten, Firmenjubiläen und Geburtstagen gesetzt und werden gut angenommen. Ich hätte damals gedacht, dass der Hype irgendwann vorbei ist. Ist er aber nicht.</p>
</div>
</div>



<h2 class="wp-block-heading">Was ich daraus gelernt habe</h2>



<p>Python habe ich gelernt — das war das ursprüngliche Ziel. Aber die eigentliche Erkenntnis ist eine andere: Wenn du eine Technologie wirklich verstehen willst, bau etwas Echtes damit. Kein Tutorial, kein PoC, kein Spielprojekt, das nach zwei Wochen in der Schublade verschwindet. Bau etwas, das Menschen nutzen. Etwas, das funktionieren muss, wenn der Kunde am Samstag um 18 Uhr auf seiner Hochzeit steht und erwartet, dass alles läuft. Das zwingt dich, Probleme zu lösen, die in keinem Lehrbuch stehen. Und genau da lernst du am meisten. Der <a href="https://www.smilecube.de" target="_blank" rel="noreferrer noopener">SmileCube</a> ist heute ein kleines, feines Produkt. Regional, persönlich, zuverlässig. Was als Python-Lernprojekt begann, ist ein echtes Business geworden — mit vielen unterschiedlichen Events, zufriedenen Kunden und einer 4,9-Bewertung auf Google (man kann es nie allen recht machen &#8230;). Nicht schlecht für ein Spielprojekt.</p>
<p>Der Beitrag <a href="https://www.schiffler.eu/wie-ein-python-lernprojekt-zur-fotobox-wurde-die-smilecube-story/">Wie ein Python-Lernprojekt zur Fotobox wurde — die SmileCube Story</a> erschien zuerst auf <a href="https://www.schiffler.eu">Das ist die Welt von Thomas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.schiffler.eu/wie-ein-python-lernprojekt-zur-fotobox-wurde-die-smilecube-story/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Object Caching 43/51 objects using APC
Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Minified using APC
Database Caching 15/23 queries in 0.001 seconds using APC

Served from: www.schiffler.eu @ 2026-05-02 00:05:26 by W3 Total Cache
-->