Montage mural tactile ET cadre photo

Bonsoir,

J’ai terminé de bricolé un truc sympa donc je partage l’info. Avec l’affichage mural (un PI3 sous raspios et un écran tactile), je trouve pas terrible d’afficher 100% du temps une des pages de Home Assistant:

  • Parce que la plupart du temps, on passe pas sa vie à regarder la variation du la température au 1/10
  • Coté décoration/WAF, même si l’interface lovelace est sympa, une jolie photo ça fait plus cadre numérique
  • Niveau discrétion, c’est pas forcement utile que les invités profitent des infos dont ils se fichent éperdument

Avec ce plugin, les photos (d’internet et en fonction des choix) défilent toutes seules… c’est beau !
Comme les économiseurs d’écran classiques, toucher l’écran affiche à nouveau HA !

En bonus et en bidouillant un peu, on arrive à couper l’écran quand tout le monde est au lit ou que la maison est vide… Et l’allumer le matin lors que le premier se lève.

Voici comment faire :

Etape 0: Prérequis

  1. On va supposer que vous avez déjà installer votre PI et HA… que vous connaissez les comptes d’accès (pi/root)
  2. Que pour éditer un fichier, on passera par nano
  3. Que pour déplacer des fichiers, c’est votre outil préféré qui fera le boulot : winscp par exemple
  4. Mon PI a pour adresse IP 123.123.123.123
  5. Mon url d’accès à HA est https://urldemonhomeassistant.amoi.fr

Donc penser à adapter en fonction de votre cas

Etape 1: Installer XLDE et chromium

$ sudo apt-get update && $ sudo apt-get install --no-install-recommends lxde-core lightdm chromium-browser

Etape 2: Cacher la souris

$ sudo apt-get install unclutter point-rpi

Etape 3: Configurer les options autlogin et gestion de l’écran

$ nano /etc/xdg/lxsession/LXDE-pi/autostart

Et on y mets

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xset s noexpose
@xset dpms 0 0 0
@xset s noblank
point-rpi
unclutter -idle 0.5 -root &
chromium-browser -pi --noerrdialogs --disable-infobars --kiosk https://urldemonhomeassistant.amoi.fr &

L’idée c’est de lancer automatiquement le navigateur chrome avec la bonne adresse, et de ne pas tenir compte des éventuelles erreurs lors de lancements précédents.

Etape 4: Rebooter et mémoriser les accès
Pour tester, il suffit de rebooter le pi et de profiter de l’autologin, donc $ sudo reboot -f pour que la config ci-dessus soit prise en compte.
Si c’est pas la cas, on corrige et on recommence.

Si ça fonctionne et pour la première fois, il conviendra de se logger (avec un utilisateur dédié de préférence) et d’activer l’option de mémorisation du mot de passe. Ainsi on générer les cookies de sessions et on les conserve pour le prochain lancement automatique.

Etape 5: Installer le plugin unsplash
Là rien particulier, on ajoute le plugin dans HACS avec l’url https://github.com/tcarlsen/lovelace-screensaver et la catégorie lovelace dans les dépôts personnalisés. Et on l’installe.


L’url github contient toute la documentation, en cas en besoin…

Etape 6: Obtenir l’accès aux api.
Pour obtenir une clé, il se créer un compte sur https://unsplash.com/join avec une adresse mail, confirmer la réception. En échange, on obtient 2 clés API. C’est gratuit !

Ensuite via la page Aperçu => menu avec les points verticaux en haut à droite => Editeur de configuration


on ajoute en début de fichier par exemple

screensaver:
  unsplash_access_key: XXXXXXXXXXXXXXXXXXXXXXXXXXxx
  query: animals
  idle_time: 5

Forcement il va falloir sauvegarder et relancer HA pour que ce soit pris en compte.

Etape 7: Lien SSH entre HA et le kiosk

  1. Coté PI on va générer la paire de clé RSA
    ssh-keygen -t rsa -f /tmp/kiosk.key -q -P ""
    En réalité, ça génère 2 fichiers /tmp/kiosk.key et /tmp/kiosk.key.pub
    On prémémorise la clé publique (en se connectant du PI au PI !) via la commande
    ssh-copy-id -i /tmp/kiosk.key.pub pi@123.123.123.123

  2. Coté HA
    On récupére obligatoirement le fichier /tmp/kiosk.key (la clé privée) que l’on va copier dans le sous-répertoire .ssh crée préalablement /usr/share/hassio/homeassistant/.ssh/
    Si besoin, on peut également copier la clé publique, mais c’est pas indispensable.
    Comme la clé publique est déjà configurée sur le PI, on aura pas besoin de connaitre le mot de passe pour se connecter au compte pi

Etape 8: Création des commandes ON/OFF pour le kiosk
Dans configuration.yaml on ajoute les commandes

shell_command:
  kiosk_off: 'ssh -i /config/.ssh/kiosk.key -o StrictHostKeyChecking=no pi@123.123.123.123 "DISPLAY=":0" xset dpms force off"'
  kiosk_on: 'ssh -i /config/.ssh/kiosk.key -o StrictHostKeyChecking=no pi@123.123.123.123 "DISPLAY=":0" xset dpms force on"'

On notera que le chemin physique /usr/share/hassio/homeassistant/.ssh/ et à adapter, ici ça devient /config/.ssh/ puisque je fonctionne avec un container docker !!
Pensez à relancer HA encore une fois, pour la prise en compte de la configuration.

Etape 9: A vous de jouer
Voilà il ne reste plus qu’à tester en appelant le service shell_command.kiosk_off et shell_command.kiosk_on

Etape 10:
Pour les pi3, pensez à ajouter le variable hdmi_blanking=1 dans la section [all] de /boot/config/txt, ça permet de couper complétement le rétro-éclairage. Actif après une reboot

En les ajoutant dans vos automatisations préférées, on peut tout faire. Personnellement je coupe l’écran le soir quand je bascule la domotique en nuit (pas d’alertes et de notifs) ou que la maison est vide. A l’inverse quand on rentre, ou que la première personne de la maison est levée : ça s’allume.
Le reste du temps les photos défilent, c’est magique !

Un premier tuto, donc si jamais vous avez des remarques, des plaintes, des améliorations ou des commentaires, j’essayerai d’en tenir compte.

Amusez-vous bien !

Suite à la demande de @Neuvidor quelques infos additionnelles

8 « J'aime »

Bonjour pas de remarque particulière c’est super mais as tu des freeze de temps en temps. J’ai à peu prêt la même configuration sauf en http et je ne passe pas 2 jours dans devoir redémarrer mon pi.

Salut,
Etonnant tes freezes… ça concerne quoi exactement ?
J’ai pas noté de problème particulier… le tactile réagit toujours bien. Les photos défilent…
(les mêmes reviennent souvent mais bon).
Par contre, j’ai 1 reboot automatique par jour sur cette machine (mise à jour à 4h30 du matin via un cron)
ET je suis resté sur une image raspios 32bits… la 64 n’est pas vraiment stable !
Après sur le principe, http/https c’est une question de goût (surtout en local) et en plus ma conf est particulière, mais ça doit pas vraiment influencer le fonctionnement.

J’ai refais une install propre on va voir si ça redeconne
Merci

Super idée, tu saurais si on peut faire la même chose avec des photos issues d’un NAS ?

Salut

Je ne me suis pas penché sur ce besoin malheuresement mais :

  • unsplash permet de créer ses propres collections Create a Collection | Unsplash Help Center
  • un économiseur d’écran classique doit pouvoir faire ça à partir de photos locales (donc montées depuis un nas)
1 « J'aime »

Salut @Pulpy

Quel écran tactile as tu utilisé ?

@+

Celui-ci

A l’époque je l’ai payé un peu de plus de 120€ (frais de ports inclus et avant la TVA), donc il y a eu grosse inflation
Par contre, je suis pas du tout déçu de la qualité, ni de l’efficacité du transport/emballage. Un vrai full HD, pas un pixel foireux et bonne réactivité du tactile

Salut @Pulpy,
Peux-tu stp partager une photo du rendu final au mur ?
Car comme toi je ne veux pas de tablette mais pour autant je veux un truc esthétique. Ta solution m’intéresse beaucoup.

@Neuvidor

Quelques photos sont là déjà.

Tu veux des détails particuliers en plus (assemblage, branchement) ? Dis-moi je ferai un complément

Merci @Pulpy pour le lien.
Je suis effectivement preneur si tu as des photos concernant l’assemblage, j’aimerai dans mon cas avoir un écran le moins épais possible. Après je peux tjrs incruster l’écran dans la cloison.

D’ailleurs ton écran ne chauffe pas trop ?

Alors voilà comment c’est assemblé :
Les 4 profils en U ont des formes un peu particulières pour s’emboiter. Collé en haut, mais visé par le dos en bas pour un éventuel démontage

Et on vient glisser l’écran dans le cadre, légèrement plaqué contre les bords, c’est le dépron qui fait le job de presser l’écran (pas trop fort, il faut calculer les épaisseurs pour ajuster le U) et qui amortie quand on joue avec le tactile

Au dos, j’ai monté un cadre plus petit/basique qui permet à la fois de placer le PI/SSD/la carte contrôle écran etc. Il est visé sur le MDF et permet d’assurer la ‹ fixation murale ›

Ce deuxième cadre 38mm+13mm de profondeur (la largeur d’un rail de placo+BA13), s’insère dans une découpe du mur… Comme ça j’ai aucun fil apparent, et un accès facile en cas de besoin


Les boutons de l’écran sont cachés en dessous, juste à fleur(j’ai une petite finition à faire). C’est pas indispensable pour autant de les avoir à portée de main au quotidien.

Les vis, le depron

J’ai la chance d’avoir en plus une petite niche derrière, donc j’y ai collé un onduleur

Niveau chauffage, c’est pas si chaud malgré la circulation qui doit pas être optimale.
Je pense pas pouvoir faire beaucoup plus fin, au risque d’avoir un cadre en bois moins solide… Peut-être avec un autre matériau (genre alu) mais ça pose d’autres soucis (fixation, court-circuit…)


3 « J'aime »

Merci beaucoup pour ces détails @Pulpy !
Il serait intéressant d’avoir le projet 3D si jamais tu l’as encore. En tous cas belle réalisation même si je ne suis pas fan du bois, la finition semble vraiment parfaite !

De rien !
La finition est vraiment chouette… Même si j’ai dû corrigé 2/3 trucs en cours de route. Le seul mini défaut, c’est un des ajustements en bas à gauche : le bois s’est retracté. Probablement un séchage pas parfait et du coup je peux pas corriger le 1/10 mm avec les trous de vis.
Pour le fichier 3D c’est bien simple , c’est juste un schéma à la main levée pour illustrer. J’ai tout fais à l’ancienne sur papier et un metre… Après c’est pas non plus de la microchirurgie, une fois que le principe des clés pour le montage du cadre est compris, le reste c’est du sur-mesure en fonction du bois, de l’écran, de sa surface d’affichage de la place dispo sur le mur etc…
Concernant les matériaux, le choix est assez limité… Le bois c’est à mon avis le meilleur compromis entre la facilité de travail, la capacité à faire du sur mesure, sans forcement disposer d’une usine chez soi. Plutôt que de garder l’aspect bois, j’aurai également pu faire un coup de peinture + vernis pour adapter à la déco. J’ai hésité avec un noir mat.
Voilà voilà

2 « J'aime »