Création d'un photobooth, 1er projet Raspberry et besoin d'aide sur certains points

Bonjour,

Je me suis lancé dans la création d’un photobooth pour un mariage en juin (et qui sera bien-sûr réutilisé à d’autres occasions…

Ceci étant mon premier projet avec un Raspberry, je manque de certaines connaissances et crée donc un sujet dans l’objectif d’obtenir des réponses à mes questions. Cela évitera de créer un nouveau sujet à chaque question, et me permet également de tenir un petit « carnet de route », qui pourrait même, pourquoi pas, servir de tuto complet pour débutant.

Etape 1 : Ecran, OS et logiciel Photobooth

Sur un Raspberry Pi 5, j’ai installé Rasberry Pi OS ainsi que ce logiciel Photobooth : https://photoboothproject.github.io.
Le logiciel démarre automatiquement à l’allumage de la carte, et se mets en mode kiosque (plein écran, sans curseur).
Il est ensuite possible de personnaliser l’interface, mais je verrai ça plus tard, à l’étape de finalisation.
En ce qui concerne l’écran, il me restait une dalle 18" de PC portable parti en déchèterie. J’avais également acheté un contrôleur sur AliExpress permettant de faire de la dalle un écran PC/TV.
Je n’ai pas spécialement rencontré de difficulté sur ce point, je suis donc passé à l’étape suivante.

Matériel :

  • Raspberry Pi 5 (8Go Ram)
  • Alimentation 27W USB-C
  • Ventilateur dissipateur thermique (Ventirad)

Etape 2 : Prise de vue

J’ai choisi le module caméra v3 à angle standard, en espérant que cela convienne…
Petite difficulté cette fois puisqu’il y a un paramétrage à faire sur l’app photobooth, pour prendre la photo mais également pour afficher un aperçu lors du compte à rebours.
J’écris ce sujet de mémoire et ne me souviens plus des paramètrages à faire. Je reviendrai donc compléter ici lorsque je pourrai vérifier tout ça.

Matériel :

  • Module caméra v3 (angle standard)
  • Nappe CSI/MIPI caméra Pi5

Etape 3 : Commandes :exclamation: J’en suis là :exclamation:

Pour commander le photobooth (i.d. prendre une photo, lancer une impression ou annuler, etc…), il faut pouvoir interagir avec l’appli. On peut alors opter soit pour un écran tactile, une télécommande, un codeur rotatif, ou encore des boutons GPIO. Comme vous l’avez compris, c’est cette dernière solution que j’ai choisi.
La documentation pour la connexion des boutons aux ports GPIO se trouve sur la FAQ du photobooth.

Je pensais donc prendre ces boutons : EG Starts 5x 30mm Arcade LED Lights Push Button Built-in Switch 5V Illuminated Buttons For Arcade Machine Games DIY Kit Parts Jamma Mame Raspberry Pi 1 2 3 ( Each color of 1 Piece ) & 5 Colour : Amazon.fr: Jeux et Jouets.
J’ai donc une première question, comment les connecter ? J’imagine qu’il existe de fils avec d’un coté une fiche adaptée aux pattes du boutons, et de l’autre au pin GPIO ? Ou faut-il un matériel particulier ? Et comment/où puis-je trouver tout cela ?

Matériel :

  • Boutons :question:
  • Connecteurs :question:

Etape 4 : Flash

Il faut intégrer un flash et là, je n’ai pas la moindre idée de comment m’y prendre (quel matériel, etc).
La documentation du photobooth propose de connecter une source lumineuse à un port GPIO, à creuser. Je veux bien des indications sur ce point également si vous avez des idées.

Matériel :

  • Source lumineuse :question:
  • Conectique :question:

Etape 5 : Impression

Il faudra ensuite imprimer les photos, et donc trouver une imprimante. Le plus pratique (rapide et efficace) semble être les imprimantes à sublimation thermique. La contrainte, c’est qu’il est prévu une bonne centaine d’invités au mariage. Il faut donc prévoir, je pense, environ 400 photos.
L’idéal serait donc idéalement une imprimante à rouleaux comme la DNP QW410, mais le tarif pour ce genre d’imprimante débute aux alentours des 700€. Autant dire que ce ne sera pas possible pour une utilisation perso.
L’autre possibilité est de se diriger vers les imprimantes photo tout publique comme la Canon SELPHY CP1500. Celle-ci semble avoir un réservoir de 18 feuilles, il faudrait donc la recharger une 20 aine de fois sur l’évènement. Il me semble que l’ancre permet une centaine d’impressions, mais c’est à vérifier.
Je pensais sélectionner ce dernier modèle, et la poser en libre accès à côté du photomaton, avec éventuellement une petite feuille explicative pour recharger en feuilles et ancre, si ce n’est pas trop compliqué. Sinon, je m’occuperai moi même des recharges.
Il faudra ensuite se pencher sur la question de la communication entre le photomaton et l’imprimante (pilote, liaison, etc).

Matériel :

  • Imprimante :question:
  • Conectique :question:

Etape 5 : Boitier

Dans mon cas, le boitier sera fait en bois par une tierce personne.

NB : Je comptais mettre des liens vers tous les éléments de matériel mais je ne peux malheureusement pas, étant « nouvel utilisateur »

Bonjour

Pour répondre à certaines de tes interrogations concernant la partie matérielle :

J’ai confectionné un photobooth de la manière suivante :
lien photos

Pour le logiciel, j’ai préféré adapter un de mes programmes en y ajoutant des fonctionnalités spécifiques au photobooth.
J’ai la possibilité d’imprimer directement sur une imprimante, mais je préfère de loin enregistrer les photos dans un dossier « capture ». Ainsi, elles peuvent être affichées en boucle dans un diaporama et récupérées via un QR code.

Pour piloter le photobooth avec le logiciel, on peut utiliser les GPIO, mais également un encodeur USB pour contrôleur de jeu d’arcade.
C’est d’ailleurs cette solution qui est utilisée ici :lien photos

Bonjour, merci pour les infos :slight_smile:
En ce qui concerne l’enregistrement des photos, ça sera complémentaire à l’impression. L’impression permet à chacun de repartir avec ses photos, ou de les afficher sur un tableau à épingles à disposition dans la salle. L’enregistrement permet aux mariés de garder les photos (et/ou d’en envoyer une copie aux invités qui le souhaite).

J’aimerais faire un photobooth assez compacte pour l’intégrer facilement dans les salles, je préfère donc rester sur les boutons GPIO, d’autant plus que l’app est prévue pour.

Enfin, je ne développe pas l’app car il y a de l’existant satisfaisant et je n’ai pas de temps à accorder sur une réinvention de la roue. En plus de celle susmentionnée, j’en avais d’ailleurs trouvée une autre qui semblait sympa, mais je n’ai plus le lien.

salut salut, merci beaucoup pour ton lien photobooth, ca fait 1 semaine que je cherche comment en monter un et les tuto sont généralement vieux et obsolète. Je viens de monter ton lien, c’est pas mal, il me reste a régler le problème de camera qui ne fonctionne pas sur l’app.

les boutons GPIO personnellement j’ai commandé ca : bouton livraison 1 semaine. pour la connexion j’ai utilisé les pin 12-14 18-20 et 34-36 le but est d’utilisé un gpio ground et un autre gpio cote a cote. tu peu également utilisé 1 seul ground, tout dépend de ton montage.

bonne soirée

Oui c’est vrai que les tutos sont obsolètes… Je n’étais même pas sûr que ça fonctionne sur le Pi5.
Pour la caméra, il faut voir du coté de la FAQ, j’ai mis un peu de temps à comprendre…
https://photoboothproject.github.io/faq/#is-pi-camera-supported
Ici ils indiquent comment faire fonctionner la caméra, chez moi ça fonctionnait avec libcamera il me semble… Mais au final, lorsque j’ai voulu ajouter l’aperçu lors du compte à rebours, j’ai du utiliser une autre commande également pour la prise de la photo. Il me semble que j’utilise cette solution : FAQ - Photobooth Project mais je ne me souviens plus bien, je peux vérifier ce weekend si j’y pense…

Concernant les boutons, il me semble que la doc indique les ports GPIO à utiliser et qu’il n’y a qu’un GND. Il faut donc connecter le noir de tous les boutons au même port ? Si oui, comment ? Et où puis-je trouver les fils avec les bonnes conectiques ? Je en sais même pas quel nom taper pour chercher ça…

je crois etre dans ton cas, la camera n’est pas reconnu mais fonctionne avec libcamera , je vais jeter un oeil sur ton lien pour trouver une autre commande.

en montage temporaire pour les test tu peux utiliser une breadboard
pour les fils c’est des jumpers cables
pour mes boutons j’ai du acheter au magasin des mini cosse comme ca, les plus petite

sinon pour une utilisation fixe, je coupe les fils, je soude un autre fil pour aller jusqu’à l’emplacement final. c’est tout.

j’ai regardé le tuto vidéos mais il utilise en plus un PICO car d’après se qu’il dit il y a un problème de gpio sur les dernières version, j’ai pas tout compris.

Je n’ai pas eu le temps de vérifier les commandes ce week end (déménagement), mais j’avais aussi eu quelques difficultés pour faire fonctionner la caméra. Il me semble avoir installé un truc du style « gphoto2 » au moment de l’aperçu au compte à rebours, mais normalement la commande libcamera-still doit suffire à prendre une photo. Il y a également une commande pour tester la caméra que j’avais utilisé dans le teminal en premier lieux (pour vérifier le branchement avec la nappe). Je crois que c’est libcamera-hello…

Merci beaucoup pour les infos sur les fils. J’ai déjà une boite de cosses avec une pince à sertir, il faut que je voie s’il y a la bonne taille dedans.

Enfin, concernant le pico, j’ai effectivement lu quelque pars à propos d’un problème avec les ports GPIO sur pi5 avec raspbian, mais je n’ai pas tout compris non plus. J’espère que ça se passera bien de ce côté…

Du coup j’ai commandé ces fils, 0.99€ avec une promo pour 120 câbles (40 de chaque j’imagine) :

Je viens de voir que je ne peux plus éditer post principal… Surement parce qu’il a des réponses… Dommage

effectivement il faut vérifier que la vidéo fonctionne avec libcamera-vid, installer go2rtc, pour ensuite utiliser les commandes url(« http://localhost:1984/api/stream.mjpeg?src=photobooth ») – et capture %s
Pour moi les photos fonctionne mais aucune prévisualisation, j’ai tester avec une webcam pareil, je vais me pencher dessus.
pour ce qui est des GPIO normalement sur Bullseye pas besoin de pico, je vais donc tester une réinstallation.

Attention, pour la prévisualisation, url(« http://localhost:1984/api/stream.mjpeg?src=photobooth ») n’est pas une commande. C’est dans un champs « preview url » il me semble de mémoire. C’est très probablement utilisé tel quel en CSS. On peut vérifier le fonctionnement en allant sur l’url avec un navigateur (depuis le rasp, c’est du local).

Il me semble avoir déjà Bullseye, à vérifier…

salut, ou en es tu ? pour ma par impossible de faire fonctionner les boutons, pour ce qui est du preview … j’ai changé pour Pibooth tout ca pour me rendre contre que c’était pareil, et après plusieurs commande toujours écran noir.
après plusieurs heure de recherche en faite … l’aperçu ne fonctionne pas via VLC, mais avec un écran c’est niquel …
du coup je relance photobooth que je trouve mieux pour tester

Je viens de vérifier mes réglages.
Donc dans « Prévisualisation », j’ai :

Et dans « Les commandes » :

  • « Prendre une photo » : « capture %s »

Je ne me souviens plus de l’installation de gphoto par contre, il me semble que le « photobooth » du src de l’url est un paramètre mais je ne sais plus.

Pour les boutons, je n’ai pas encore essayé, j’attends de recevoir les fils (Aliexpress).

Bonjour à tous,
Je me suis lancé également dans la création d’un photobooth, j’ai même d’ailleur découvert l’existance de ce projet grace au sujet ouvert ici.
J’ai l’impression d’avoir bien avancé et tout est fonctionnel, j’apprends beaucoup: raspberry pi4 ,raspicam, esp32 qui pilote mes LED WS2812 pour créer un flash.
J’utilise beaucoup l’IA qui m’a créé mes scripts python et ESP32

je n’ai vraiment pas le reflexe de l’IA je ne savais même pas que l’on pouvais faire ca.

Pour ma par le projet est fini mais en utilisant PIBOOTH du coup, beaucoup plus simple a mettre en place (20min). tout fonctionne, bouton, ecran, camera, previsionage, j’ai meme rajouté une sauvegarde automatique des photos, une galerie web et un hostpost.

pour ce qui est du visionage … ne pas faire la meme erreur que moi, sur vnc cela ne fonctionne pas, il fait se connecter avec un vrai ecran sinon la camera n’apparait pas.

Merci pour le retour, je tenterai peut etre Pibooth également, j’aime bien les interfaces, et si c’est plus simple…
Comment avez vous fait pour le flash ? (quel matériel etc ?)
Et pour l’impression ?

En ce qui me concerne, le flash est (sera) composé de 2 anneaux de LED comme celui ci au milieu duquel se trouve la raspicam:

D’un ESP32:
https://www.ebay.fr/itm/394402138531?var=662939332700

et d’un ruban de LED qui sera tout au tour de la boite quand celle ci sera terminée

J’ai un script pour l’ESP32 qui permet au LED d’afficher un arc en ciel lors de l’attente. Au déclenchement d’une photo,il y a un compte à rebours qui fait se colorer les LED en différentes couleurs puis pendant la prise de la photo, toutes les LED s’éclairent en blanc pendant 2 secondes.

Pour l’imprimante, je viens de commande une DS-RX1 HS qui sera branchée en USB

Merci pour les infos.
Pour le flash :

  • Pourquoi ajouter un ESP32 ? Les GPIO du rpi ne suffisent-ils pas à piloter les leds ?
  • N’ayant pas d’imprimante 3D, il me faudra trouver un profilé diffusant, je vais regarder ça…
    Pour l’imprimante : Clairement hors budget pour moi x)

A la base, mon projet devait se faire avec un Pi5 et il semble que la bibliotheque n’est pas compatible avec ce dernier. Finalement, j’ai mis la main sur un Pi4 qui fait très bien l’affaire. Je me dis que l’ESP dechargera le Raspberry de cette partie là.

J’ai modifié et reimprimé mon support de LED, j’ai aussi pu récupérer le disque pour poser devant.
Si tu n’as pas d’imprimante, tu pourrais utiliser ce genre de panneux de LED WS2812B RGB LED numérique Flexible adressable individuellement panneau lumineux WS2812 8x8 16x16 8x32 Module écran matriciel DC5V - AliExpress

et poser devant un morceau de plexiglass en ajoutant un adhesif pour l’opacifier

Bon, je viens d’essayer de mettre un premier bouton pour prendre la photo (avec led intégrée).
J’ai utilisé cette illustration pour me repérer : https://cdn.shopify.com/s/files/1/0195/1344/2404/files/7_5_5c4a976d-c917-4049-ba8f-85bb33d52568_1024x1024.png?v=1721153056

J’ai donc connecté le + du bouton sur le GPIO 21 (tout en bas à droite, numéroté 40 sur l’illustration), le - sur le GND d’en face (39), le + de la led sur le GPIO 19 (35) et le - sur le GND le plus proche (34).

J’ai bien activé le bouton et la led dans l’admin du photobooth, pour autant, ça ne fonctionne pas… Quelqu’un aurait une idée ? C’est parce que c’est un Pi 5 ?

En fait ca ne semble pas tant lié au Pi5, c’est plutot lié au noyaux de linux.
Sur la FAQ du projet, il est écrit:
Broken support on Linux 6.6 Kernel (April 2024): While PiOS now comes with a Linux 6.6 Kernel Photobooth is not able to handle the GPIO buttons via sysfs. If you’re able to downgrade to a Linux 6.1 Kernel you can continue reading and set-up your Raspberry Pi.

qu’on peut traduire:
« Support cassé sur le noyau Linux 6.6 (avril 2024) : Bien que PiOS soit maintenant livré avec un noyau Linux 6.6, Photobooth n’est pas en mesure de gérer les boutons GPIO via sysfs. Si vous pouvez rétrograder à un noyau Linux 6.1, vous pouvez continuer à lire et configurer votre Raspberry Pi. »

Ah zut, ok merci, je vais essayer de trouver comment mettre une ancienne version de linux… Mais ça veux dire reinstaller complètement le projet j’imagine ^^"