KALO' MATON Photomaton automatique à base de Raspberry Pi


Author avatarTristan | Last edit 9/12/2019 by Clementflipo

KALO' MATON Photomaton automatique à base de Raspberry Pi IMG 2065.JPG
Le projet "KALO' MATON", est un photomaton automatique à base de Raspberry Pi. Relié à un appareil photo et à une imprimante, il permet de prendre une photo après avoir pressé le bouton d'arcade (qui est lui même relié par un port GPIO) qui est ensuite imprimé en direct en quelques secondes.

Introduction

Pour ce tutoriel, il vous faut le même Raspberry (Raspberry Pi 3 B+) ou un modèle au-dessus.

J'ai eu beaucoup de problèmes de mon côté car je suivais d'anciens tutoriels. Il se trouvait que les commandes pour le terminal était sous Python 2, alors que Python 3 était sorti. Qu'est-ce que Python me direz-vous, si c'est votre première sur un Raspberry : "Python est un langage de programmation interprété, multi-paradigme et multiplateformes. Il favorise la programmation impérative structurée, fonctionnelle et orientée objet".

Pour expliquer avec des mots plus simple, le python est le langage utilisé par le Raspberry (et d'autres appareils) pour recevoir, donner et classés les données. C'est à dire, que pour donner un "ordre" à l'appareil, comme par exemple installer un logiciel, il vous faudra lui parler en python. Par exemple : "sudo apt-get install Python 3". Apt-get est un outil logiciel à utiliser en ligne de commande.

Il permet d'effectuer l'installation et la désinstallation de paquets en provenance d'un dépôt APT.

Materials

  • 1 Raspberry Pi 3 Model B+ (Pour suivre ce tutoriel sans problème)
  • 1 Carte SD (Pour le Raspberry)
  • 1 Câble micro USB + 1 Adaptateur de 5V et de 2A (Pour le Raspberry)
  • 1 Module de caméra (Pour le Raspberry)
  • 1 Imprimante photo compatible Raspbian (Canon SELPHY CP 1300)
  • 1 Bouton d'arcade avec LED
  • 1 Transformateur 12V pour bouton LED
  • 1 Écran d'ordinateur
  • 3 Spots

Tools

  • Scie Sauteuse
  • Scie à bois
  • Visseuse
  • Perceuse

Step 1 - Installer Raspbian

Pour commencer ce tutoriel, vous allez avoir besoin d’un ordinateur sur lequel vous allez installer Balena Etcher : https://www.balena.io/etcher/, qui est un logiciel libre de gravure d’images pour différents supports (clé USB, carte SD) pour GNU/Linux, Windows et MacOS. (Voir photos)

Insérez votre carte SD dans un adaptateur USB qui lui est branché dans l'ordinateur avec lequel vous avez installé Etcher, puis cliquez sur "Select Image" et choisissez le Full.zip de Raspbian précédemment installé.

Le disque dur sera normalement déjà sélectionné, mais si besoin, changez, et mettez votre adaptateur USB.

Puis cliquez sur "Flash!" et attendez la fin du chargement. (J'ai du recommencer une autre fois, pour je ne sais quelle raison le premier essai fût un échec).

Step 2 - Configurez votre Raspberry Pi

Une fois que vous avez installé Raspbian sur votre carte SD, il ne vous reste plus qu'à l'insérer dans le port du Raspberry Pi (voir photo).

Ensuite branchez l'alimentation du Raspberry Pi avec votre câble micro USB et l'adaptateur 5V / 2A (port entouré en bleu sur l'image 2), ainsi que l'écran, le clavier et la souris.

Lors du "premier allumage" de votre Raspberry Pi, une fenêtre apparaitra (voir image 3) pour régler les paramètres du Raspberry. Tel que l'heure, la date et le fuseau horaire, la région etc…

Une fois que vous aurez pratiquemment fini, une fenêtre apparaitra (voir image 5) pour vous proposez de faire les mises à jours, si il y'en a. Faites "Next".

Une fois fini, une dernière fenêtre apparaitra (voir image 6) pour vous dire que l'appareil va être redémarrer.

Step 3 - Branchez votre caméra au Raspberry

Commencez par éteindre votre Raspberry Pi.

Vous allez ensuite brancher votre caméra. Pour cela, il vous suffit de regarder le tutoriel mis à la suite de ces quelques mots, qui vous montrera en vidéo comment brancher votre caméra à votre Raspberry : https://www.youtube.com/watch?v=tHjwx2AQHxU

Une fois que vous aurez branché votre caméra, rallumé. Vous allez ensuite l’activer en suivant les instructions suivantes ainsi que la photo pour vous aider :

            1 - Commencez par cliquer sur la framboise en haut à gauche (le logo Raspberry), cliquez sur « Preferences » puis sur « Raspberry Pi Configuration »

            - Une fois dans l’interface cliquez sur « activé » sur la ligne de la caméra. Faites « OK »

Vous allez ensuite tester la caméra. Ouvrez le terminal (pour ceux qui ne connaissent pas du tout le terminal : Le terminal GNU/Linux. Un terminal est un programme qui émule une console dans une interface graphique, il permet de lancer des commandes) et entrez y la commande suivante :

            raspistill -o cam.jpg

La caméra va alors s’allumer si tout est bien branché et une photo va être prise.

Vous pourrez trouver cette photo dans le dossier « Pi » (cliquez sur l’icône dossier à gauche de l’icône du terminal). La photo se nommera donc « cam.jpg » comme vous l’avez demandé dans la commande.

Votre caméra est prête, vous pouvez passer à l’étape 3 !


Step 4 - Installez les applications nécessaires

Pour cette étape, vous allez installer la librairie nécessaire au bon fonctionnement de votre photomaton. Vous allez avoir besoin de seulement entrer les 3 commandes suivante dans le terminal :

sudo apt-get install cups cups-bsd python3-cups python3-picamera imagemagick python3-dev python3-rpi.gpio -y

puis

sudo apt-get update

et enfin

           sudo apt-get upgrade

Direction l’étape 5 après ça !

Step 5 - Installez votre imprimante

out d’abord, pour commencer l’installation de votre imprimante photo, vous allez ouvrir le terminal et y entrez les commandes suivante pour autorisation d’administrer CUPS* (*Common Unix Printing System, le système d'impression commun pour les systèmes d'exploitation Unix et assimilés / En d’autres terme, le système permettant de gérer les imprimantes sur Unix ou autres) avec « pi » :

            sudo usermod -a -G lpadmin pi

puis

            sudo /etc/init.d/cups restart (toujours redémarrer lorsqu’il est nécessaire)

Branchez votre imprimante avant de suivre les consignes suivantes :

Ouvrez Chromium (le navigateur internet de votre Raspberry), puis à la place de l’URL mettre la phrase suivante : localhost:631 (voir images pour une explication plus clair)

Ce qui vous emmènera sur la page des paramètres CUPS.

Cliquez sur l’onglet "Adding printers and Classes" (voir photo) puis sur "Ajouter une imprimante"

Le nom d’utilisateur par défaut est « pi » (si vous ne l’avez pas changé) et le mot de passe par défaut est « raspberry » (encore une fois si vous ne l’avez pas changé)

Sélectionnez votre imprimante dans la ligne « Local Printers » (voir image / mon image est différente de ce que vous aurez car elle est déjà installé).

Ignorez « VNC Remote Printer », nous n’en avons pas besoin.

Puis cliquez sur « Continue ».

Changer le nom de l’imprimante pour simplifier le nom que vous devez avoir (étape facultatif, je ne l’ai pas fais pour ma part).

Pour finir choisissez le model de votre imprimante, pour ma part j’ai choisi le pilote suivant : Canon SELPHY CP1300 (voir photo). Si vous ne trouvez pas la votre, rendez-vous sur ce site : http://www.openprinting.org/printers. Et cherchez y votre imprimante pour télécharger le CUPS.

Une fois fait choisissez le format d’impression de votre imprimante, puis cliquez « Set Default Options ».

*À noter que je n’ai pas besoin de toucher aux configurations du CUPS (mais il est possible que vous en ayez besoin) alors je vous explique comment faire.

Ouvrez votre terminal et entrez y la commande suivante :

        sudo nano /etc/cups/cupsd.conf

Puis ajouter le Allow @local sur ces lignes :

<Location/ >

  Order allow,deny

  Allow @local

</Location>

# Restrict access to the admin pages...

<Location /admin>

  Order allow,deny

  Allow @local

</Location>

# Restrict access to configuration files...

<Location /admin/conf>

  AuthType Default

  Require user @SYSTEM

  Order allow,deny

  Allow @local

</Location>

/>

  Order allow,deny

  Allow @local

</Location>

Maintenant, pour vérifier que l’imprimante est bien installé vous allez ouvrir votre terminal et y entrer les 3 commandes suivante :

            lpstat -p

puis

            ls

et

            lp -d cam.jpg

À noter que la dernière commande peut être différente si le nom de votre photo est différente.

Imaginons que votre photo s’appelle « IMG001 » vous allez mettre :

            lp -d IMG001.jpg

Si tout a bien fonctionné, l’imprimante à alors imprimé la photo.

Step 6 - Obtenez le code Photobooth

Vous n’avez qu’a cliquer sur l’URL suivante pour lancer le téléchargement du script (crée par Nabla du forum Raspbian-france) : Photomaton_Prev.zip

Dézippage de celui-ci dans /home/pi pour obtenir /home/pi/Photomaton_Prev

Puis vous allez créer un dossier (dans lequel toutes les photos qui seront prises seront stockés) "Photos_du_Photomaton" sur le bureau en entrant dans le terminal la commande suivante :

mkdir /home/pi/Desktop/Photos_du_Photomaton

Vous allez ensuite modifier le script en ouvrant celui-ci en faisant clique droit et ouvrir avec "Gu (a voir sur photomaton)"

En cherchant dans les lignes vous tomberez sur l'impression. Il va falloir en modifier une.

Donc de base vous avez :

os.system(‘lpr -h -PSamsung_Samsung_CLX-3300_Series -#1 -o media=A4 -o scaling=25“/home/pi/Photomaton_x1x4x8/photos/’+fileName+'”‘)

Qui doit devenir (l’exemple est donné via mon cas) :

os.system(‘lpr -h -PCanon_SELPHY_CP_1300 -#1 -o media=A4 -o scaling=100“/home/pi/Photomaton_x1x4x8/photos/’+fileName+'”‘)

Puis pour finir vous allez la tester à l'aide des commandes suivante dans le terminal :

raspistill -o test.jpg

Puis

lpr -h -PSamsung_Samsung_CLX-3300_Series -#1 -o media=A4 -o scaling=25 "/home/pi/test.jpg"

Si tout a été bien fait, une photo sortira alors de l'imprimante.



Step 7 - Relier le bouton d’arcade au Raspberry Pi ainsi que les spots LED

Le principe de cette étape, est simple en soit : Donner une impulsion pour le déclenchement du Photomaton.

Pour cela une des pinoches du GPIO (Terre / Port 39 : Voir image) doit être connecté brièvement à la masse (le - du bouton d’arcade), et une autre pinoche du GPIO (GPIO / Port 18 : Voir image) doit être connecté au + du bouton d’arcade. (voir photo 1 et 2)

Pour bien montrer, je vous ai encadré en rouge le branchement des ports GPIO (voir photo 2).

Pour réaliser ça, j’ai fais plusieurs essais sur plusieurs port GPIO avant d’enfin trouver la bonne combinaison, comme expliqué au dessus. (J’ai grillé un Raspberry lors de cette manipulation donc soyez prudents !)

Je vous met aussi une photo des spots LED encastrable. Il vous suffit de mettre tout les petits câbles dans un plus gros câble pour toutes les reliés à une seule prise. (voir photo 2)


Step 8 - Construire l’enveloppe de votre Photomaton

Je vous mets quelques photos de l’avancé de la construction du KAL O’Maton, pour vous donnez une idée de la construction.

Step 9 - Construire l’enveloppe de votre Photomaton (suite)

Suite des photos pour l'avancé de la construction du photomaton.

Comme vous pouvez le voir, une poignée a été imprimé en 3D (voir photo 5), car il y'en a une sur mon lieu de travail. Il existe pleins d'autres manières de "créer" une poignée.


Step 10 - Photomaton fini et prêt à l'emploi

Voila enfin le photomaton !

Créer avec l'aide de nombreux adhérents au sein de Konk Ar Lab, le photomaton est fin prêt à l'emploi.

Comments

Published