Raspberry Pi

Installation du Magic Mirror – Partie 5

Image par Customgadz de Flickr

Comme pour les précédents articles qui ont été initialement publiés sur mon blog personnel (ici) en Février 2019, je continue la publication d’un sujet toujours d’actualité, très commenté et surtout en plein essor avec l’arrivée de plus en plus d’assistants connectés. Je trouve donc, à nouveau, intéressant de partager ce contenu avec notre communauté. Attention toutefois, les conseils listés dans cet article ne sont pas forcément exhaustifs en 2020, notamment car la solution a pas mal évoluée entre-temps, toutefois, ils montrent néanmoins un aperçu intéressant des différentes solutions proposées et la manière d’appréhender le sujet.

Après quelques mois d’arrêt dans la publication d’articles, je me décide (enfin!) à re-publier du contenu et notamment sur la configuration du Miroir Magique. Lors de cet article, nous allons nous intéresser à quelques éléments de customisation. En effet, si nous avons vu comment installer et configurer notre miroir (ici et ici); nous allons maintenant nous intéresser aux différentes manipulations à effectuer pour qu’il puisse fonctionner sans notre intervention et surtout, sans nous en préoccuper le moins du monde.

Rappel : Cet article fait partie d’une série en plusieurs parties, dont vous trouverez les éléments ci-dessous :

  • Réflexion autour d’un appareil connecté (Allons-y!)
  • Installation du Magic Mirror – Partie 1 (Allons-y!)
  • Installation du Magic Mirror – Partie 2 (Allons-y!)
  • Installation du Magic Mirror – Partie 3 (Allons-y!)
  • Installation du Magic Mirror – Partie 4 (Allons-y!)
  • Installation du Magic Mirror – Partie 5 (vous y êtes!)

Modification de la résolution

Lors de l’installation, nous avons laissé les paramètres par défaut de l’affichage sur notre Raspberry Pi. Or, lorsque nous lançons la miroir, de larges bandes noires apparaissent sur les bords; ce qui n’est pas des plus esthétique, en plus de nous faire perde pas mal d’affichage. Pour modifier cet affichage, nous allons éditer le fichier de configuration.

Dans la fenêtre de terminal taper la commande suivante, et appuyer sur Entrée pour modifier le fichier de configuration :

Ajouter dans ce fichier les lignes suivantes, toutefois, sachez que même si la position dans le fichier importe peu, nous allons essayer de regrouper les options entre-elles. Sauvegardez les modifications :wq!

Le paramètre hdmi_group définit si la sortie HDMI doit être utilisé soit en CEA (Consumer Electronics Association, le standard utilisé par les télévisions) ou DMT (Display Monitor Timings, le standard utilisé pour les moniteurs d’ordinateurs).

Le paramètre hdmi_mode, utilisé avec hdmi_group sert à définir le format de sortie HDMI. Dans notre exemple, la valeur 85 correspond à une résolution de 1280×720 pixels.

Remarque :
Vous pouvez modifier la résolution de votre écran en fonction du moniteur que vous avez en votre possession. Plus d’informations sont disponibles : ici.

Démarrage automatique du Miroir

Maintenant que notre logiciel est fonctionnel, nous allons voir comment faire pour que les processus soient démarrés automatiquement au démarrage du système. En effet, par défaut, vous avez du vous rendre compte que celui-ci affiche le bureau de la distribution. Pour se faire, nous allons utiliser PM2 qui est un gestionnaire de processus pour les applications Node.js et qui inclus un répartiteur de charge. Il permet notamment de laisser les applications en fonctionnement, de les recharger sans interruption et de faciliter les différentes tâches d’administration.

Dans la fenêtre de terminal taper la commande suivante, et appuyer sur Entrée pour installer le logiciel :

Pour s’assurer que PM2 peut effectuer correctement les actions qui lui sont demandées suite à un redémarrage, il doit être démarré au lancement du Raspberry Pi. Pour se faire, taper la commande suivante, et appuyer sur Entrée pour afficher les commandes nécessaires :

Remarque :
PM2 vous donne les commandes à exécuter ensuite.

Nous allons maintenant réaliser un petit script qui sera lancé au démarrage. De préférence, positionner celui-ci dans la home utilisateur et non dans le dossier MagicMirror (ceci pour éviter les effets de bords des différentes mises à jour).

Dans la fenêtre de terminal taper la commande suivante, et appuyer sur Entrée pour éditer le script :

Ajouter dans ce fichier les lignes suivantes :

Sauvegardez les modifications :wq!. Il faut ensuite rendre le script exécutable, et s’assurer que celui-ci sera lancé automatiquement, via les commandes suivantes :

Remarque :
Je ne vous détaille pas à quoi servent les 2 dernières commandes, si vous avez des questions, n’hésitez pas à me poser des questions. De plus, je vous invite à lire l’article original écrit par le créateur du Miroir Magique : ici

Suppression du pointeur de la souris

Rien de plus agaçant, une fois notre miroir lancé, que d’avoir le curseur de la souris présent et qui refuse de disparaître! Pour nous permettre d’avoir un affichage propre, nous allons installer un module qui permet d’enlever la souris : Unclutter.

Dans la fenêtre de terminal taper la commande suivante, et appuyer sur Entrée pour installer le logiciel :

Maintenant que le logiciel est installé, nous allons le configurer pour qu’il se lance au démarrage et face rende notre pointeur invisible au bout de quelques secondes :

Ajouter la ligne suivante en fin de fichier :

Remarque :
Cette option de configuration alloue un délai de 3 secondes avant la disparition du pointeur sur l’écran.

Allumage / Extinction automatique de l’écran

Avoir un miroir magique, c’est bien, mais cela ne présente aucun intérêt qu’il soit allumé tout le temps notamment si nous ne sommes pas présents pour le regarder. Je vous propose donc, un petit script qui va vous permettre d’arrêter l’écran tout en laissant notre Raspberry Pi en fonctionnement. Ceci présente plusieurs avantages, principalement, celui de ne pas avoir à redémarrer le système régulièrement pour avoir accès aux informations.

Remarque :
Vous avez déjà été nombreux à me demander s’il était possible que le miroir s’allume et s’éteigne automatiquement avec une reconnaissance faciale. Sachez que je n’ai pas mis en place cette solution actuellement (il me manque du temps et le matériel pour le faire), mais qu’elle existe et pour cela, il faut utiliser le module de reconnaissance qui est developpé pour Raspberry.

Dans la fenêtre de terminal taper la commande suivante, et appuyer sur Entrée pour éditer le script :

Ajouter dans ce fichier le bloc de code suivant :

Les commandes à utiliser sont les suivantes, elles permettent d’allumer, éteindre, et voir le status de notre écran :

Remarque :
Pour ma part, j’ai simplement décidé d’implémenter ce script via une crontab qui va allumer et éteindre l’écran à heures fixes. Dans mon cas, le cycle de vie de l’écran est le suivant :

  1. En Semaine :
    • De 07h30 à 09h45 – Allumé
    • De 10h00 à 19h00 – Eteint
    • De 19h00 à 23h59 – Allumé
  2. Le Week-end :
    • De 07h30 à 23h59 – Allumé

Pour éditer la crontab, saisissez la commande :

Ajouter les valeurs suivantes pour définir les heures d’arrêt et d’allumage de l’écran :

Personnalisation de l’affichage

L’affichage par défaut, est très sobre (écriture blanche sur fond noir). Il est intéressant de modifier certains éléments d’affichage pour permettre l’ajout d’un peu de couleur à l’ensemble. Pour se faire, il suffit d’éditer le fichier de configuration custom.css, et de définir de nouvelles couleurs.

Pour éditer le fichier, saisissez les commandes suivantes :

Ajouter les valeurs suivantes pour définir le nouveau code couleur :

Remarque :
Dans mon exemple, je n’ai modifié l’affichage que certains modules (CalendarForecastWeather Forecast). Libre à vous de choisir quels modules vous pouvez modifier et personnaliser.

Au cours de cet article, nous avons vu comment personnaliser notre affichage et surtout avoir un miroir qui peut agir de manière autonome sans notre intervention. Si vous avez des remarques, n’hésitez pas à me laisser des commentaires et j’essaierai dans la mesure du possible d’y répondre. Lors de prochains articles, nous essaierons de parler de la construction du cadre et de sa mise en place.

Review overview

Mise en oeuvre 4
Connaissances nécessaires 5
Difficulté de prise en main 6

Summary

5 Votre miroir étant installé et fonctionnel, il ne s'agit ici que de l'amélioration et de l'optimisation des différents éléments qui le composent. Cela ne représente pas de difficultés pour quiconque connaît un peu le code et lira la documentation, mais une erreur peut vite amener à un écran noir, hélas ! Soyez donc prudent lors de la manipulation des différents fichiers de customisation, et pensez à faire des sauvegardes régulièrement, afin de ne pas perdre tout le travail réalisé jusque-là!

Tags : DécouverteMagic MirrorMiroir MagiqueRaspberry Pi
Geek Lifestyle

The author Geek Lifestyle

Leave a Response