Publié le 22 mars 2015 - par

Un cadre Photo avec le Raspberry Pi

cadre_photo_250pxOn trouve aujourd’hui sur le marché des cadres photo qui n’ont plus besoin d’une carte SD ou d’une clé USB de stockage. Ils récupèrent directement les images dans un dossier partagé de votre PC ou de votre serveur NAS
Comptez une centaine d’euros pour acheter ce genre de produit. Et si on se servait du Raspberry Pi pour réaliser notre propre cadre ? C’est le choix qu’a fait Franck et il nous propose sa solution dans cet article.

panneau_danger_80pxAttention, au cours de ce tutoriel, vous allez modifier des fichiers de configuration. Avant toute modification je vous recommande de sauvegarder les fichiers en question pour pouvoir revenir en arrière en cas de problème…
(sudo   cp   fichier_d_origine   fichier_de_sauvegarde)

Prérequis : Savoir installer NOOBS et/ou Raspbian, savoir modifier un fichier avec nano, savoir lire une documentation, un fichier man 😉

Ce tutoriel a été réalisé sur un Raspberry Pi 2, tournant sous la dernière version de Raspbian. Il devrait fonctionner également sur un B+ ou un B…

Un cadre photo avec le Raspberry Pi

Le cahier des charges

  • Les photos sont stockées dans un dossier sur un PC ou un serveur NAS.
  • Les images sont des jpg, png ou autre format standard utilisé habituellement.
  • Lorsque le Raspberry Pi démarre en mode graphique, l’application doit se lancer automatiquement.

Préparation du dossier sur le PC

Pour tester la solution de Franck, j’ai choisi de créer un dossier c:\photos à la racine de mon PC.

Je l’ai partagé sous le nom de partage photos avec tout le monde en lecture seule.

Si cela ne vous parle pas, reportez vous à l’article sur le partage de dossier entre un PC sous Windows et un Raspberry Pi… L’objectif du blog et de ce genre d’article n’est pas de vous proposer des solutions clés en mains mais de vous aider à progresser dans le monde de l’informatique. La seule façon de progresser est de faire des erreurs mais surtout ensuite de chercher où on a fait une erreur.

Comme disait Lao Tseu : Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours.

Pensez à mettre quelques photos dans le dossier… Ça pourra servir 😉

Installation sur le Raspberry Pi

L’écran

Vous pouvez choisir de transformer votre télé en cadre photo géant ! Il suffit de connecter votre Raspberry Pi via la sortie HDMI sur la télé.

Mais si de temps en temps vous souhaitez utiliser votre télé pour voir des films, vous pouvez opter pour l’achat d’un petit écran à connecter sur la sortie vidéo analogique (écran de recul pour voiture). On en trouve à partir d’une vingtaine d’euros… Après tout dépend de la taille et de la qualité que vous souhaitez obtenir… Dans ce cas, ne connectez pas la prise HDMI sur le Raspberry Pi, la sortie vidéo sera automatiquement renvoyée sur le port analogique (la prise jack à 4 points).

La configuration du système

Démarrage en mode graphique

Commencez par installer un système propre (NOOBS ou Raspbian directement). Quand le système a démarré, raspi-config se lance. Activez le démarrage automatique en mode graphique. (Choix 3)

cadre_photo_raspi-configpuis

cadre_photo_raspi-config2Choisissez Desktop Log in as user ‘pi’ at the graphical desktop.

Avec la touche TAB déplacez vous sur <Ok> puis validez. Vous revenez au menu de base de raspi-config. Sortez de raspi-config sans redémarrer. On fera ça après, il y a encore du boulot en mode texte 😉 …

Mise à jour du système

Commencez par mettre votre système à jour

sudo apt-get update
sudo apt-get upgrade

Installation du client Samba

Le partage de dossier en Windows utilise le protocole SMB. Sous Linux c’est Samba qui est utilisé pour gérer le partage de dossier avec ce protocole. Il faut installer smbclient pour pouvoir accéder au partage sur la machine Windows.

sudo apt-get install smbclient

Selon votre distribution, il est possible que smbclient soit déjà installé. Si ce n’est pas le cas, autorisez l’installation.

Création d’un point de montage sur le Raspberry Pi

Pour « raccrocher » le dossier de la machine Windows au Raspberry Pi, nous allons créer un point de montage. Ce sera le dossier /home/pi/pics qui jouera ce rôle.

mkdir /home/pi/pics

Désactivation des écrans de veille et des fonctions d’économie d’énergie

Ouvrez le fichier /etc/kbd/config

sudo nano /etc/kbd/config

Trouvez et modifiez les lignes suivantes :

  • blank_time=0
  • powerdown_time=0

Enregistrez ensuite le fichier modifié.

Ouvrez maintenant le fichier /etc/lightdm/lightdm.conf

sudo nano /etc/lightdm/lightdm.conf

Recherchez le bloc [Seat Default].

Ajouter la ligne suivante :

  • xserver-command=X  -s  0  dpms

Enregistrez ensuite le fichier modifié.

Installation de QIV

QIV (Quick Image Viewer) est un logiciel destiné à visionner des images. Il a été développé avec gdk/imlib, ce qui le rend plus rapide que bien d’autres visionneurs classiques.

sudo apt-get install qiv

Création d’un script de démarrage automatique

Lors du démarrage du bureau, LXDE lance automatiquement les scripts qui se trouvent dans le dossier /home/pi/.config/autostart

Nous allons créer ce dossier sur notre Raspberry Pi puis créer le script qui sera lancé au démarrage du bureau :

mkdir /home/pi/.config/autostart
cd autostart
sudo nano slideshow.desktop

Une fois que nano est ouvert, insérez les lignes suivantes dans le fichier.

[Desktop Entry]
Type=Application
Exec=lxterminal -e /home/pi/slideshow.sh

Création du script de lancement de qiv

Le script chargé de démarrer l’application est créé dans le dossier /home/pi

cd /home/pi
sudo nano slideshow.sh

Une fois que nano est ouvert, insérez les lignes suivantes dans le fichier.

#!/bin/bash
#slideshow script
sleep 1
echo Démarrage du Cadre Photo
export DISPLAY=:0.0
qiv -f -R -S -n -s -r -d 5 -l -u -t -i -m  /home/pi/pics/*

Diable ! Que d’options ! Allez je suis gentil, je vous en explique une : -d 5 met un délai de 5 secondes entre chaque diapo… Et les autres ? Facile : man qiv dans un terminal ou cliquez sur le lien en bas de page dans la rubrique Sources… Eh, vous allez quand même bosser un peu, non ? 😉

Connecter le Raspberry au partage Windows

 Avant d’automatiser le montage du dossier partagé dans fstab, je vous conseille de tester manuellement le montage avec mount. En cas de souci, vous obtiendrez des informations utiles via les messages d’erreur…

Pour info, le PC que j’utilise pour le partage est à l’adresse IP 192.168.1.105 et l’utilisateur sur le PC se nomme admin, son mot de passe est … password !

Montage manuel du partage Windows

sudo mount -t cifs -o username=admin //192.168.1.105/photos /home/pi/pics
Password:
cd pics
ls
image_01.jpg image_02.jpg image_03.png

Tout s’est bien passé. Le nom d’utilisateur sur le PC est renseigné dans la ligne de commande, le mot de passe est ensuite saisi. Le montage s’est fait sans encombre et je retrouve les photos initialement déposées dans le dossier partagé sur le PC, dans mon dossier /home/pi/pics.

Ceci étant vérifié, il est temps d’automatiser le montage du partage… Pensez à la sauvegarde de fstab 😉 )

Si le montage ne se fait pas manuellement, inutile de passer à l’étape suivante. Soyez heureux, vous avez certainement fait une connerie erreur que vous allez devoir trouver… et vous allez apprendre plein de choses ! Veinard(e) !

Montage automatique du partage Windows

Allez, vous arrivez au bout de vos peines, il reste à automatiser le montage du dossier partagé sur le PC dans /home/pi/pics, le point de montage que nous lui avons réservé.

Ouvrez /etc/fstab avec nano  (débrouillez vous tout(e) seul cette fois 😉 ) et ajoutez lui la ligne suivante :

//192.168.1.105/photos  /home/pi/pics cifs defaults,ro,username=admin,password=password 0 0

Redémarrage du Raspberry Pi

Tous les éléments sont maintenant en place pour notre cadre photo. Je résume ?

  • Nous avons créé un dossier à la racine du PC
  • Nous avons mis quelques photos dedans
  • Nous avons partagé ce dossier en lecture seule

Sur le Raspberry Pi

  • Nous avons configuré le démarrage en mode graphique
  • Nous avons désactivé les écrans de veille
  • Nous avons installé smbclient
  • Nous avons installé QIV
  • Nous avons créé un fichier qui s’exécute automatiquement au démarrage de bureau
  • Nous avons créé un script qui lance le visionneur de photos
  • Nous avons monté manuellement le partage Windows sur le système de fichiers du Raspberry Pi
  • Nous avons modifié fstab pour que le montage devienne automatique

Bon, bin, vous ne serez pas venu pour rien sur framboise314 aujourd’hui…

Il nous reste à vérifier si tout ça fonctionne (roulements de tambour) :

Redémarrez votre Raspberry Pi

sudo reboot

Regardez bien l’écran, vous devez avoir le gros carré coloré, la (les) framboise(s) avec du texte qui défile, le bureau démarre (quel bonheur de retrouver le curseur de la souris, hein?) un terminal s’ouvre… le message de démarrage du script s’affiche et… voici la première image qui apparait, bientôt suivie de toutes les autres. On en pleurerait… 😉

Si l’image ne remplit pas l’écran, relancez raspi-config (sudo raspi-config) et modifiez le paramètre overscan…

Si tout ne se passe pas comme prévu, inutile d’insulter framboise314… Essayez plutôt de comprendre ce qui ne fonctionne pas, ce sera beaucoup plus constructif et enrichissant !

Mais bon, si vous galérez trop, vous avez le droit de mettre un commentaire ci-dessous… Attention quand même, le modérateur de framboise314 est magnanime mais les insultes ne passent pas 😉

Conclusion

Merci à Franck de partager son utilisation du Raspberry Pi en Cadre Photo. Tous ceux qui ont besoin d’afficher des images de façon automatique apprécieront.

Bien entendu vous êtes libres de modifier ce tutoriel à votre guise pour l’adapter à votre propre usage (c’est même d’ailleurs fortement recommandé 😉 ).

Si comme Franck vous avez mis au point une utilisation un peu particulière du RasPi, les pages de framboise314 vous sont ouvertes et vous pourrez en faire profiter la communauté.

Sources

Share Button

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

20 réflexions au sujet de « Un cadre Photo avec le Raspberry Pi »

  1. zeb

    Plop,

    J’ai un bon (très) vieux PC qui me sert de cadre photo.
    Minimaliste pour minimaliste, c’est FBI (framebuffer image viewer) qui affiche les clichés !

    Cet article me rappelle que j’avais lâché une affaire en cours : comment faire des transitions entre photos telles que fondu, explosion, mosaïque, et autres effets divers…

    Qui aurait de bonnes idées sur ce sujet ?

    Répondre
  2. Franck

    Bonjour

    Merci pour la diffusion, si ça peut servir à quelqu’un d’autre.

    Pour moi, ça fonctionne tel quel avec mes nombreuses photos (35000 photos et 100Go).

    Je voulais juste quelque chose de simple qui puisse prendre mes photos directement sur mon partage et qui me les affiches sur ma TV, sans avoir à gérer un stockage intermédiaire où un système plus complexe, je ne souhaitais pas de transition particulière. Pour une cinquantaine d’euro, c’est exactement ce que je recherchais.

    Franck

    Répondre
  3. Triss

    Bonjour,

    Je rebondis sur une conversation eue avec le modo du site pour vous soumettre un problème : J’ai pour projet de faire une soirée diapo collaborative (plus de détails ici : http://forum.raspfr.org/viewtopic.php?id=1070) et souhaite utiliser ce script pour afficher mes images.

    Comment puis-je faire? En effet, selon les tests de François, le programme scanne le dossier au démarrage, j’aurais besoin que le prog scanne régulièrement les photos pour afficher de manière aléatoire toutes les images, même celles rajoutées au fil du temps.

    Merci,

    Triss

    Répondre
  4. ravaza

    Bonjour,
    sur mon raspberry pi2, QIV m’affiche des fenetres aux bonnes tailles mais noires et j’ai ce message d’erreur :

    (qiv:5148): Gdk-CRITICAL **: IA__gdk_drawable_set_colormap: assertion ‘cmap == NULL || gdk_drawable_get_depth (drawable) == cmap->visual->depth’ failed

    Auriez vous une idee pour faire fonctionner le programme ?

    Répondre
  5. Greg

    meme probleme car mes photos sont en 24 bit:
    il faut modifier le fichier /boot/config.txt et ajouter les ligne suivantes:
    Framebuffer_depth=32
    Framebuffer_ignore_alpha=1

    voir ici: https://www.raspberrypi.org/forums/viewtopic.php?t=6175&p=91126

    Par contre, le demarrage automatique ne fonctionne pas, au demarrage j’ai une fenetre lxterminal vide qui s’affiche et qiv ne se lance pas ! pouvez vous m’aider en sachant qu’en mode manuel ( copie de la ligne de commande qiv dans lxterminal fonctionne).

    Merci

    Répondre
  6. Chris

    Bonjour,

    Merci pour l’article et tous les autres du forum !
    Mais… j’ai eu un petit souci de mon côté. j’avais beau faire et refaire toutes les étapes mais le script ne ce lancé pas au démarrage. J’ai ajouté des pauses dans le script pour voir où et quand il y avait un problème avec la commande : read -p « appuyer sur une touche pour continuer.. »

    Je me suis aperçu que j’avais un souci pour la lecture/exécution du fstab, donc dans le script de lancement de qiv j’ai rajouté : mount -a . Pour que la lecture du fstab se fasse / s’actualise.

    Pour info, j’ai suivi ce tuto : https://www.framboise314.fr/booter-le-raspberry-pi-sur-un-disque-dur-usb/
    et tout fonctionne bien. mais impossible de savoir pourquoi mon fstab n’est pas lu ou actualisé au boot du PI. Mais grâce à : mount -a -> problème résolu… lol

    Autre info les photos ce trouvent actuellement sur un autre PI avec le WD pidrive de 1To avec la distri Openelec

    tout fonctionne bien, mise à par peut être l’arrêt du diapo qui est parfois compliqué et qui ne veux pas ce faire avec un clavier sans fils branché sur le pi.

    prochaine étape pour moi, trouver un moyen d’éteindre l’écran (l’officiel 7pouces) après une certaine heure ou une durée de fonctionnement ^^

    merci pour vos articles !!

    Répondre
  7. laurent

    Bonjour,
    Article très intéressant, c’est ce qui se rapproche l plus de ce que je projette de réaliser:
    pour un commerce un affichage dynamique comme on en trouve partout (pharmacie, La poste, etc…) mais avec un PI (open source et bien moins cher) l’idée étant de : afficher une série d’images (comme un diaporama), qu’une mise à jour (téléchargement de photos sur serveur) se fasse automatiquement 1 fois par jour d’ailleurs si je comprend bien le fonctionnement de ce « cadre photo », un reboot toute les 24 h suffirait non ? puisque à chaque fois il « rapatrie » les photos d’un dossier spécifié. Le reste étant déjà inclus (démarrage auto du diaporama, désactivation de l’écran de veille,e tc…)

    Répondre
  8. Jeremy

    Bonjour François,

    Merci pour ce partage.
    Une petite question : ce programme permet-il d’afficher « dynamiquement » les nouvelles images qui arrivent dans le dossier ?
    Je m’explique. Si j’exécute le programme et lance le diaporama en affichant les images du répertoire /etc/home/pi/images/, que va-t-il se passe lorsque je vais ajouter une nouvelle image dans le répertoire ? Le programme va-t-il la prendre en compte et l’ajouter au diaporama ? Ou bien faut-il redémarrer le programme pour « rafraîchir » la liste des images ?

    Merci encore pour vos retours et très bonne continuation 🙂

    Jeremy

    Répondre
  9. Frédéric Husson

    Bonjour, merci pour l’idée de cadre photo je l’avais mise en pratique il y a déjà quelques année et cette année j’ai pris le temps de faire évoluer l’idée en utilisant une autre idée de raspberrypi-spy.co.uk pour utiliser le fbi, pour le partager, je viens de rendre publique sur Gitlab le code de mon projet qui se nomme Pidipi, si cela peut vous être utile.
    L’annonce : https://www.1f433.net/notes/making-my-pidipi-project-public/
    Le repository du projet : https://gitlab.com/fhusson/pidipi/

    Répondre
  10. Ping : Raspberrypi : un cadre de photos | Famille CVGG

  11. Zot

    Bonjour,

    J’ai essayé ce tuto avec un rpi4 et le dernier Pi OS seulement les fichiers et droits ont évolués et je n’arrive pas à faire fonctionner QIV en démarrage automatique.

    Avez vous une mise à jour de ce tuto ?

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.