Petit article pour parler d’un projet qui a échappé au blog jusqu’ici : Le Magic Mirror. Le Magic Mirror (miroir magique) est un projet Raspberry Pi très populaire, qui permet de concevoir un miroir intelligent modulaire.
Petite vidéo pour vous faire une idée d’implémentation, ici le projet est couplé avec l’assistant Kalliopé, déjà couvert dans ce blog.
Le projet est modulaire, vous pouvez donc afficher toutes sortes d’informations comme :
- la date et l’heure
- la météo
- vôtre agenda
- des news
- des citations
- l’horaire de bus/train et autres moyens de transport
- une TODO list
- le trafic routier
- des informations provenant de modules connectés au Raspberry (température, humidité, pression atmosphérique, etc..)
- l’Informations liées à vos éléments domotiques
Certain module sont natif et disponible immédiatement après installation, les autres sont communautaire et à installer manuellement.
La liste des modules natifs est là. Et la liste des modules communautaire est disponible ici.
Il est bien sur possible de créer son propre module. Le projet est codé en javascript et basé sur nodejs. La documentation pour vous aider dans ce sens est ici.
Au sommaire :
Préparation du raspberry
Installation d’un gestionnaire graphique de bureau
Cette partie de l’installation est nécessaire si vous avez installé un Raspbian Lite, c’est à dire dépourvu d’interface graphique.
Installation d’un serveur graphique :
1 |
sudo apt-get install xinit xserver-xorg lxde-core lightdm |
On configure le Raspberry pour qu’il utilise le gestionnaire graphique de bureau au démarrage :
1 2 |
sudo raspi-config |
Rendez vous dans « Boot Options » et passez l’option sur « Desktop Autologin »
On installe d’autres paquets et librairies nécessaire à l’installation :
1 2 |
sudo apt-get install git libxss1 libnss3 |
Pulseaudio s’est installé en même temps que le gestionnaire de bureau. Sa suppression est recommandée afin de laisser le programme par défaut Alsa gérer le son si vous pensez coupler le système à un assistant vocal :
1 2 |
sudo apt-get autoremove --purge pulseaudio |
On redémarre une première fois pour appliquer les changements :
1 |
sudo reboot |
Vous devriez cette fois démarrer sur un environnent de bureau.
Désactiver le curseur de la souris
On ajoute un petit programme qui va se charger de cacher le curseur de la souris automatiquement :
1 |
sudo apt-get install unclutter |
Incliner l’écran
Si vous voulez incliner l’écran, éditez le fichier /boot/config.txt en ajoutant le flag display_rotate selon la syntaxe suivante :
1 |
display_rotate=<numéro de config> |
Ou le numéro de config est :
- display_rotate=0 Normal
- display_rotate=1 90 degrés
- display_rotate=2 180 degrés
Par exemple :
1 |
display_rotate=1 |
Full screen
Si vous n’êtes pas en plein écran, il est possible de le forcer en éditant le fichier /boot/config.txt :
1 |
disable_overscan=1 |
Timezone
Vous allez forcément utiliser le module qui permet d’afficher l’heure sur vôtre miroir. Ce module se base sur l’heure du système, il est donc préférable que ce dernier soit réglé sur une heure française.
Lancez le gestionnaire de configuration Raspbian :
1 |
sudo raspi-config |
Rendez vous dans l’onglet « Timezone », puis sélectionner « Europe », puis « Paris » pour basculer sur l’heure Française :
Par ailleurs, être à la bonne heure est aussi plutôt appréciable.
Pour cela on utilise le protocole NTP (Network Time Protocol). C’est un protocole qui permet à un ordinateur de synchroniser son horloge sur un autre ordinateur avec une précision plus élevée via internet.
Installation du paquet qui va bien :
1 |
sudo apt-get install ntp |
Lancement du deamon :
1 2 |
sudo systemctl start ntp sudo systemctl status ntp |
On édite le fichier /etc/ntp.conf et on modifie les lignes « server » pour se synchroniser sûr les serveurs français :
1 2 3 4 |
server 0.fr.pool.ntp.org iburst dynamic server 1.fr.pool.ntp.org iburst dynamic server 2.fr.pool.ntp.org iburst dynamic server 3.fr.pool.ntp.org iburst dynamic |
On redémarre le service pour prendre en compte les changements :
1 |
sudo systemctl restart ntp |
Vérifiez que l’heure est correcte avec la commande suivante :
1 |
date |
Désactiver l’écran de veille
On souhaite voir uniquement l’affichage du Magic Mirror sans interruption. Par défaut Raspbian possède un écran de veille qui se lance automatiquement après une période d’inactivité.
Éditez /etc/xdg/lxsession/LXDE/autostart et .config/lxsession/LXDE/autostart, supprimer ou commentez la ligne suivante :
1 |
@xscreensaver -no-splash |
Et ajouter la ligne suivante en fin de fichier
1 |
@xset s noblank @xset s off @xset -dpms |
Enfin, éditez le fichier /etc/lightdm/lightdm.conf et ajouter la ligne suivante dans la section [Seat:*] :
1 |
xserver-command=X -s 0 -dpms |
Il faut redémarrer le Rpi pour prendre en compte ces changements.
Magic Mirror
Installation
L’installation est très facile, depuis un Raspbian fraîchement installé :
1 |
bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)" |
D’autre méthodes d’installations sont disponible depuis le site officiel ici.
Vous avez à présent un dossier MagicMirror dans le « home » de l’utilisateur « pi ». Placez vous dans ce dossier et lancer l’installation des modules javascript. Normalement c’est une étape qui a déjà été effectuée pendant le processus d’installation mais cela ne coûte pas grand chose de vérifier que tout est bien là :
1 2 |
cd ~/MagicMirror npm install |
On va activer la configuration par défaut, pour cela on copie juste le fichier :
1 |
cp config/config.js.sample config/config.js |
Maintenant vous pouvez lancer le Magic Mirror
Si vous être en direct sur le Rpi, utilisez cette commande :
1 |
npm start |
Si vous êtes en SSH, utilisez cette commande :
1 2 |
DISPLAY=:0 nohup npm start |
Normalement vous devriez avoir un résultat comme celui-ci à l’écran :
Faite un ctl-C pour stopper le programme.
Démarrage automatique
On va faire en sorte que le projet se lance automatiquement après chaque reboot du Rpi.
Installez le packet PM2 qui est un gestionnaire de processus node :
1 |
sudo npm install -g pm2 |
On lance le gestionnaire depuis le dossier MagicMirror :
1 |
pm2 startup |
Cette commande va vous retourner une commande à exécuter qui devrait ressembler à ceci :
1 |
sudo su -c "env PATH=$PATH:/usr/bin pm2 startup linux -u pi --hp /home/pi" |
Exécutez la commande comme demandé. Magic Mirror est à présent lancé automatiquement à chaque démarrage.
Pour relancer Magic Miror vous pouvez à présent faire :
1 |
systemctl restart pm2 |
Configuration
Vous l’avez compris, la configuration se passe dans le fichier config/config.js. Je vous recommande d’éditer ce dernier avec un IDE comme VScode afin de détecter vos erreurs de syntaxe. Le fichier est écrit en javascript.
Le bon workflow pour travailler avec ce type de projet est :
- copier le fichier avec WinSCP (via SSH) sur votre station de travail Windows
- Editer avec VScode le fichier
- Envoyer à nouveau le fichier sur le Rpi avec WinSCP
- Relancer le service Magic Mirror pour prendre en compte les changements
Dans le fichier config.js, vous pouvez commencer par mettre la langue du miroir en français :
1 2 3 |
language: "fr", timeFormat: 24, units: "metric", |
Les modules
Dans ce fichier, vous aurez à jouer principalement avec la variable « modules » qui contient la liste des modules chargés sur votre miroir et leurs configurations.
Un module c’est quoi ? C’est un plugin qui va effectuer une tache et dans la plus part des cas afficher une information sur le miroir.
Une déclaration de module s’effectue avec la syntaxe suivante :
1 2 3 4 5 6 7 8 9 |
{ module: "nom_du_module", position: "nom_de_la_position", header: "nom du texte précédent le module", config: { variable_config1: "valeur 1", variable_config2: "valeur 2", } } |
Par exemple :
1 2 3 4 5 6 7 8 |
{ module: "currentweather", position: "top_right", config: { location: "Grenoble", appid: "YOUR_OPENWEATHER_API_KEY" } }, |
Voici la liste des principaux éléments que compose un module :
Option | Description |
module |
Nom du module. Par example clock , calendar ,mymodule . |
position |
La position du module sur le miroir. Les valeurs possible sont :
|
header |
Optionnel: Affiche un texte au dessus du module |
disabled |
Optionnel: Mettre à true pour désactiver le module |
config |
Optionnel: Objet contenant les propriétés de configuration du module. Il faut se référer à la documentation de chaque module pour connaitre les propriétés. |
Vous pouvez trouver la liste complète sur la documentation officielle ici.
Au niveau des « positions », cette image pourra vous aider :
top_bar
et bottom_bar
en gris
top_left
et bottom_left
en rouge
top_center
et bottom_center
are bleu
top_right
et bottom_right
are vert
upper_third
en jaune
middle_center
en cyan
lower_third
en magenta
Utilisation d’un module natif
Les modules natifs sont les modules déjà présent après installation du Magic Mirror. Vous pouvez trouver la liste complète ici.
Pour les utiliser, vous devez juste les déclarer et les configurer dans vôtre fichier config.js.
Par exemple, je souhaite afficher un simple texte à l’écran, je vais utiliser le module « HelloWorld ». Si je regarde sa documentation, je peux voir que seule la clé « text » est nécessaire dans sa configuration. Je peux donc écrire :
1 2 3 4 5 6 7 8 |
{ module: "helloworld", position: "middle_center", header: "Weather Forecast", config: { text: "Bienvenue sur le blog framboise314" } }, |
Le résultat sera le suivant :
Un exemple avec le module « newsfeed », qui n’est autre q’un lecteur de flux RSS. Ici je le configure pour lire le flux du site « Le Monde » :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ module: "newsfeed", position: "bottom_bar", config: { feeds: [ { title: "Le Monde", url: "https://www.lemonde.fr/rss/une.xml" } ], showSourceTitle: true, showPublishDate: true } }, |
Et maintenant ma page ressemble à ceci :
Installation d’un module communautaire
La force du projet réside dans sa communauté. Vous trouverez sur cette page une liste de module que vous pouvez installer sur votre miroir.
Pour installer un module c’est très simple, il suffit de :
- le télécharger et de le placer dans le dossier « modules » qui se trouve à la racine du dossier MagicMirror.
- Installer les librairies associées au module
- Ajouter la déclaration du module à vôtre config.js
Généralement, les modules sont hébergés sur Github. Le plus simple est donc d’installer Git :
1 |
sudo apt-get install git |
On va maintenant pour l’exemple, installer un module communautaire: Trello Ce dernier permet d’afficher une liste de taches.
On se place dans le dossier « modules » :
1 |
cd ~/MagicMirror/modules |
On clone les sources, on se place dans le module et on installe les librairies associées :
1 2 3 |
git clone https://github.com/Jopyth/MMM-Trello.git cd MMM-Trello npm install |
Voila à quoi ressemble maintenant le répertoire « modules » :
1 2 3 4 5 |
. ├── default ├── MMM-Trello ├── node_modules └── README.md |
- default contient les modules par défauts du projet Magic Mirror
- MMM-Trello est notre nouveau module fraîchement installé
- node_modules est le répertoire qui va héberger les librairies nécessaires au fonctionnement de vos modules
Voila, le module est prêt a être utilisé. Pour l’afficher il faut mettre à jour notre fichier de configuration config.js. La documentation du module permet de savoir comment le configurer.
On y apprend qu’il faut :
- une clé d’api, que l’on obtient en allant sur ce lien: https://trello.com/app-key
- Un token via ce lien : https://trello.com/1/authorize?expiration=never&scope=read&response_type=token&name=Server%20Token&key=API_KEY. (remplacer API_KEY par la clé que vous avez obtenue au lien précédent)
- Un identifiant de liste (que l’on obtient en ajoutant .json sur l’url de du board Trello. Par exemple, si votre board se trouve à l’adresse https://trello.com/b/blabla/home, alors l’url pour trouver votre identifiant de liste est https://trello.com/b/blabla/home.json.
Je vais avoir une configuration qui ressemble à ceci :
1 2 3 4 5 6 7 8 9 |
{ module: 'MMM-Trello', position: 'top_left', config: { api_key: "ma_cle_api", token: "mon_token", list: "id_de_ma_liste" } }, |
Et voila le résultat :
Conception du miroir
La partie conception est totalement libre. Je ne peux que vous recommander de fouiller le forum pour y trouver des idées. Il y a également pleins de vidéo sur Youtube.
Certain travail avec le cadre avec du bois et d’autres avec du plastique via de l’impression 3D.
Au niveau matériel vous avez obligatoirement besoin :
- D’un Raspberry
- Un écran
- Un miroir sans tain (en anglais un Two Way Mirror)
Pour le miroir, vous pouvez passer par un miroitier dans vôtre région ou trouver sur internet des miroir moins chère en acrylique. La encore le forum vous sera d’une grande aide.
Bonus : relier Magic Mirror à Kalliopé
Il est possible de relier votre Magic Mirror à plusieurs modules de reconnaissance vocale. La liste complète se trouve ici. Parmi eux, vous trouverez Alexa et Google Home pour les assistants commerciaux les plus connus.
Dans cette partie je vous explique comment relier vôtre Magic Mirror à Kalliopé.
Je pars du principe que Kalliopé est déjà installée sur vôtre Raspberry. Si ce n’est pas le cas je vous invite à regarder cet article dédié.
Du coté de MM: Installation du module
Du coté du Magic Mirror, on se place dans le dossier module, on clone et on installe le module Kalliope.
1 2 3 4 |
cd ~/MagicMirror/modules git clone https://github.com/kalliope-project/MMM-kalliope.git cd MMM-kalliope npm install |
On ajoute le module à nôtre config.js
1 2 3 4 5 6 7 |
{ module: "MMM-kalliope", position: "upper_third", config: { title: "Kalliope" } } |
Voila. Le module est prêt à recevoir les phrases prononcées par Kalliopé.
Du coté de Kalliopé: Installation du neurone
On se place dans nôtre dossier kalliope (votre starter kit) et on installe le neuron :
1 |
kalliope install --git-url https://github.com/kalliope-project/kalliope_neuron_magic_mirror.git |
On va créer un synapse dans notre brain.yml qui se charge d’envoyer les phrases prononcées par Kalliopé au Magic Mirror. Les phrase seront capturées par le module, qui les affichera à l’écran :
1 2 3 4 5 6 7 |
- name: "mm-say" signals: [] neurons: - magic_mirror: mm_url: "http://127.0.0.1:8080/kalliope" notification: "KALLIOPE" payload: "{{ kalliope_memory['kalliope_last_tts_message'] }}" |
Ici, l’adresse mm_url est en 127.0.0.1 car Kalliopé est installée sur le même Rapsberry que Magic Mirror. Si vous avez l’installation sur deux Rapsberry différents vous devez mettre à jour cette partie. Par exemple http://192.168.0.10:8080/kalliope.
A chaque fois que kalliope parle, elle place la phrase qu’elle a prononcé dans une variable nommée « kalliope_last_tts_message ». Cette variable est placée dans la mémoire de Kalliopé, accessible via « kalliope_memory ». L’article dédié sur kalliope explique plus en détail cette partie.
Le synaspe est prêt. La dernière étape consiste à relier ce synapse au « hook » « on_start_speaking » qui va se charger le lancer le synapse « mm-say » à chaque fois que Kalliope parlera.
On édite nôtre settings.yml, dans la partie hook :
1 2 |
hooks: on_start_speaking: "mm-say" |
C’est terminé. Apres un redémarrage du MM et de Kalliope vous devriez à présent voir afficher tout ce que cette dernière vous dit.
Vidéo
Les Frères Poulain ont utilisé cet article pour construire leur Miroir Magique, en vidéo
Conclusion
Vous êtes prêt à vous lancer dans votre projet de Magic Miroir !
N’hésitez pas à laisser vos commentaires, vos questions et vos retours qui permettront d’aider à améliorer l’article.
Bonjour,
Comme matériel, qu’est-ce qui est utilisé ?
Il y a une section dédié au matériel dans l’article (conception)
Est-ce que l’on peut utiliser une Raspberry Pi Zéro W ?
je cherche justement quel model utiliser, et même si c’est sûrement trop tard, j’ai en ma possession un raspi zero W et j’ai essayer de l’installer et c’est impossible!
J’ai même essayer des installation soit disant adapté pour raspi zero mais ça n’a pas marché!
Hello !
Je viens, ce jour d’installer avec succés ‘magic mirror’ sur un pi zero 🙂
Je suis parti de la dernière version raspbian avec desktop auquel j’ai rajouté ce github:
https://github.com/sdetweil/MagicMirror_scripts
Par contre, le pizero manque vraiment de puissance 🙁
Ça tombe bien, j’avais justement prévu de me pencher dessus.
Faut que je me trouve le miroir a mettre dessus..
Autre question :
Est-ce que l’écran ou le miroir est toujours tactile ?
L’écran est uniquement là pour afficher de l’information.
Si vous voulez avoir une interaction il vous faut ajouter un module de voix comme Alexa, Google Home, Kalliope ou autre comme décris dans l’article.
J’en ai fait une magic table avec un 3 B+ et le rendu est génial 😉
simple et rapide à faire en plus.
Pour accéder au tactile il vous faut un touch frame.
Bonjour,
j’ai l’erreur suivante sur la partie concernant NTP :
pi@raspberrypi:~ $ apt-get install ntp
E: Could not open lock file /var/lib/dpkg/lock – open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
Que faire?
Merci d’avance.
Axel
Il manque « sudo » devant la commande. Je corrige.
merci.
J’ai réussi à tout faire jusqu’au bonus pour relier magic mirror et Kalliope !
Sur l’écran, j ai : Magic Mirror2 Please create a config file …
j’avais rajouté comme demandé ceci au config.js :
{
module: « MMM-kalliope »,
position: « upper_third »,
config: {
title: « Kalliope »
}
}
Pourriez-vous me dépanner svp?
pouvez-vous également préciser les chemins des fichiers pour éviter les erreurs?
merci
Axel
finalement, j’ai trouvé l’erreur, il manquait une virgule à la fin .
Par contre, MM et Kalliope fonctionnent bien mais je vois pas les réponses de kalliope s afficher sur l’écran (du miroir). Une idée?
cdt
Je ne sais pas ou vous en etes dans votre configuration mais si vous suivez à la lettre l’exemple ça devrait fonctionner. Il faut pas oublier le hook dans kalliopé.
Il existe un chat de support français ici aussi: https://gitter.im/kalliope-project/kalliope-FR
j ai tout fait justement mais la réponse ne s affiche pas sur le miroir!!
Venez sur le chat à l’occasion, on essayera de debugger ça. C’est difficile ici sur le blog.
bonjour, je n’arrive plus a trouver ma ligne de commande pour mettre à our un module, calendar demande une mise à jour mais je ne sais plus quelle ligne de commande rentrer afin d’effectuer celle-ci.
merci d’avance.
Généralement il faut se positionner dans le dossier du module et faire un
git pull
puisnpm install
. Pareil pour mettre à jur Magic Mirror lui même mais en se plaçant dans le dossier de Magic Mirror et non du module.Bonjour,
Est ce que le raspberry 3b+ est compatible avec le projet MagicMirror 2
Merci et bonne journée
Oui.
Bonjour,
Dès le début j’ai un problème !
Lorsque je tape la commande ;
bash -c « $(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master) »
j’obtiens cette erreur : bash: 400 : : commande introuvable
Pourriez vous m’aidez ?
Merci beaucoup
avez vous curl d’installé? Sur quel OS tentez vous l’installation? Quel model de Rasp?
Bonjour,
J’ai la même erreur dès le départ lorsque j’essaie d’installer MagicMirror :
bash: 400 : : commande introuvable
J’ai lu que vous demandiez si curl est bien installé : j’ai donc essayé d’installer curl avec ‘sudo apt-get install php5-curl’ mais ce paquet semble obsolète et je ne trouve pas d’autres curl à installer…
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
Aucune version du paquet php5-curl n’est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu’il est devenu obsolète
ou qu’il n’est disponible que sur une autre source
E: Le paquet « php5-curl » n’a pas de version susceptible d’être installée
Comment savoir si curl est effectivement (correctement installer) ? que signifie cette erreur bash ?a
Je suis débutant et je suis un peu perdu. Merci d’avance pour votre aide!
php5-curl? Non ça c’est une lib php. Il faut just curl. Qui est de base sur un Raspbian. Sinon sudo apt-get install curl.
Bonjour Nicolas,
Merci pour votre aide et votre réponse rapide
En essayant d’installer à nouveau, j’obtiens la réponse suivante, donc à priori, curl est correctement installé
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
curl est déjà la version la plus récente (7.64.0-4+deb10u1).
0 mis à jour, 0 nouvellement installés, 0 à enlever et 87 non mis à jour.
Pour le contexte, je viens d’installer une raspbian depuis Raspberry Pi Imager sur une carte SD 32Go, pour utiliser sur un Pi4 et n’ayant pas de clavier USB, je passe en SSH pour travailler sur le Pi
Par contre, je viens de ré-essayer l’installation pour Magic Mirror et j’ai toujours le même message :
bash: 404: : commande introuvable
Du coup, une autre idée ?
Re,
Je viens de voir que mon erreur est la 404 alors que le post d’origine parlait de l’erreur 400 : cela fait-il une différence ?
Désolé pour l’imprécision au départ
Je viens de mettre à jour l’article. Le script d’installation n’est à présent plus disponible depuis le repo officiel. J’ai ajouté le script d’un repo communautaire.
Effectivement, ça se lance avec le nouveau lien !
Espérons que ça aille au bout
Merci
Sur raspberry pi 3
J’ai reussis, il semble que le lien ne soit pas entier ! Cela vient peut être de mon écrant
Bonjour, je pense couper le rasp avec écran lorsque je ne suis pas présent, ma question est la carte sd ? Elle va supporter les coupures à chaud ? Une solution pour ne pas la tuer (autre que passer sur un ssd). Merci
Il ne faut pas couper le rpi. Il est préférable d’ajouter un capteur de présence et un module qui va juste éteindre l’écran quand vous n’êtes pas la.
Bonjour merci pour ce tuto, j’ai eu mon rasp il y a quelques jours seulement, je ne sais pas ou je dois écrire : {
module: « helloworld »,
position: « middle_center »,
header: « Weather Forecast »,
config: {
text: « Bienvenue sur le blog framboise314 »
}
},
je me situe à l’étape « Utilisation d’un module natif ». Je comprend bien qu’il faut modifier le fichier config.js mais je n’arrive pas à y accéder.
julien
Le fichier config.js est dans le dossier MagicMirror. Il faut faire une copie du fichier d’exemple. C’est mentionné dan le tuto.
cp config/config.js.sample config/config.js
Bonjour et d’abord merci pour cet excellent tuto, mais je n’arrive pas à afficher la liste Trello :
Please check your config file, an error occured: Error 404(Not Found): Cannot GET /1/lists/https:/trello.com/b/Vs****cb/miroirmagique.json/cards?key=***8c542902e****************f750&token=7567d7115e0ac775fc923e864266d2bc6*******************3c32
(j’ai mis moi-même les *)
Pouvez vous m’aider ?
Merci d’avance ^^
En fait je m’était trompé, je n’avais pas bien compris.
Mais maintenant, ça m’affiche ça : Please check your config file, an error occured: Error 404(Not Found): model not found
Que faire ??
Merci d’avance
Comme le dit le programme, il faut vérifier le config.js. Surement un problème de syntaxe quelque part. Du genre une virgule manquant, une guillemet ou autre… Je recommande d’utiliser un IDE comme VScode pour détecter ce genre de problème.
Merci, c’était en effet une virgule manquante.
Ps : votre blog est super, continuez ainsi !!
Ctd,
Greg
J’ai suivi le tuto, mais je bloque au niveau de l’installation du neurone :
pi@raspberrypi:~/MagicMirror/modules/MMM-kalliope $ kalliope install –git-url https://github.com/kalliope-project/kalliope_neuron_magic_mirror.git
bash: kalliope : commande introuvable
Comment faire ??
« Je pars du principe que Kalliopé est déjà installée sur vôtre Raspberry. Si ce n’est pas le cas je vous invite à regarder cet article dédié. »
Hello, j’ai un petit blocage au niveau de la commande npm install et du npm start
je ne comprend pas pourquoi cela ne fonctionne pas
pi@raspberrypi:~ $ npm start
(node:8343) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
npm ERR! Error: ENOENT: no such file or directory, open ‘/home/pi/package.json’
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!
npm ERR! System Linux 4.14.79-v7+
npm ERR! command « /usr/bin/node » « /usr/bin/npm » « start »
npm ERR! cwd /home/pi
npm ERR! node -v v8.11.1
npm ERR! npm -v 1.4.21
npm ERR! path /home/pi/package.json
npm ERR! syscall open
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/pi/npm-debug.log
npm ERR! not ok code 0
pi@raspberrypi:~ $
no such file or directory, open ‘/home/pi/package.json’. Il faut se placer dans le dossier de Magic Mirror (/home/pi/MagicMirror). C’est dans le tuto.
Merci pour ta réponse, j’ai bien lu tout les tutos. Mais je suis encore bloquer au npm start alors que je suis bien dans le dossier et j’ai tout suivi a la lettre
npm start
(node:1031) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
> magicmirror@2.6.0 start /home/pi/MagicMirror
> sh run-start.sh
run-start.sh: 4: run-start.sh: electron: not found
npm ERR! magicmirror@2.6.0 start:
sh run-start.sh
npm ERR! Exit status 127
npm ERR!
npm ERR! Failed at the magicmirror@2.6.0 start script.
npm ERR! This is most likely a problem with the magicmirror package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! sh run-start.sh
npm ERR! You can get their info via:
npm ERR! npm owner ls magicmirror
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 4.14.90-v7+
npm ERR! command « /usr/bin/node » « /usr/bin/npm » « start »
npm ERR! cwd /home/pi/MagicMirror
npm ERR! node -v v8.11.1
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm WARN This failure might be due to the use of legacy binary « node »
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/pi/MagicMirror/npm-debug.log
npm ERR! not ok code 0
Merci
« electron: not found ». L’installation s’est mal passée a un moment. Je vous recommande de supprimer le dossier MagicMirror et de recommencer l’installation.
bonjour,
j’ai un petit soucis, étant débutant je suis à la lettre ce tuto et je fais des copier-collé pour éviter les fautes de frappe, l’installation c’est bien passer, j’ai bien le dossier MagicMirror qui s’est créer dans /home/pi mais quand je lance « npm install » alors que je suis bien dans ~/MagicMirror, j’ai en retour: « bash: npm : commande introuvable »
la carte sd est uniquement pour ce projet, je viens d’installer la dernière version de raspbian et les mises à jours sont faites, du coup je ne vois pas d’où vient le problème.
merci pour ce blog très instructif
Re, moi qui suis débutant,
Je ne comprends pas pouquoi le tuto ne fonctionne
Peut-être qu’il y a un autre façon ?
Merci de votre temps
Bonjour Nicolas
Petite question
Est ce qu’il est possible de faire tournée Kalliopé sur un pc dédié , avec tous les option comme
Température, Hydrométrie ect
Cordialement.
Kalliope tourne sur n’importe quel ordinateur avec une distribution Linux basé sur Debian.
Pour les capteurs, si le système les vois, alors kalliope aussi.
Merci
Maintenant il y a plus faire cela ce week-end
Salut ! super tuto
j’ai un problème je ne sais pas comment éditer ce fichier » /etc/ntp.conf et on modifie les lignes « server » pour se synchroniser sûr les serveurs français :
Merci
Avec un éditeur en ligne de commande. Si vous débutez je vous recommande nano. Donc
sudo nano /etc/ntp.com
.Merci pour ta réponse rapide.
J’ai pleins d’anomalies et après le reboot je ne tombe pas sur un environnent de bureau .
je pense que je vais tout refaire.
Merci encore
Salut ,
Je suis le sur le mondule trello
et j’arrive pas ajouter list: « id_de_ma_liste »
meme si je rajoute .json
Tu aurais une solutions ?
je suis sous raspbian raspberry b2+
Je vous recommande de commencer par manipuler d’autres modules plus simple pour commencer.
Salut,
Impossible d’avoir le raspberry à la bonne date. J’ai bine modifié le fichier de config mais quand je relance toujours la même date « 13 novembre 2018 »
En cherchant un peu j’ai fais un sudo ntpdate -u pool.ntp.org et comme reponse il m’intique ntpdate[1079] : no server suitable for synchronisation found
normalement suivre le tuto à la lettre devrait fonctionner. Il faut bien sur que le Rpi soit connecté à internet.
bonjour
super article rien a dire!
cependant je bloque sur une chose.
j’aimerais installer un capteur de proximité pour éviter que l’ecran reste H24 allumé, malgré mettre perdu sur les recherche google je ne trouve pas.
pouvez-vous m’aider svp?
merci d’avance
Tout simplement avec ce module: https://github.com/paviro/MMM-PIR-Sensor
merci nicolas pour ton retour ultra rapide! mais il y a t’il une étape intermédiaire entre le branchement du capteur et l installation du module dans magic miroir?
comme une programmation par exemple?
Juste configurer le module comme pour les autres modules. Et suivre la documentation de ce dernier dans le readme du repo Github.
bonjour Nicolas et merci pour ce beau tuto
je bloque cependant sur la partie « désactiver l’écran de vieille »
je ne trouve pas le second fichier à modifier .config/lxsession/LXDE/autostart,
je ne trouve pas le dossier /lxsession/ dans /home/pi/.config/
ma distribution : 2018-11-13-raspbian-stretch
Vous pouvez créer le fichier et l’arborescence si ils ne sont pas la. Sinon je ne sais pas. Désolé.
j’ai trouvé ma réponse là , étape 3
https://forum.magicmirror.builders/topic/236/complete-setup-tutorial/6
Bonjour, j’ai voulu installe le module MMM-LocalTemperature j’ai branché le capteur
mais rien ne se passe mais le module est presente. Aurais-tu une idée du probleme ?
Merci
Salut, alors il m’est impossible d’apporter du support sur tous les modules existants autour de ce projet. Je suis désolé. Vous pouvez poser votre question sur le git repo du module ou alors sur le forum de Magic Mirror. Bon courage !
bonjour, j’ai le même problème que vous et je voudrais savoir si vous avez trouver la réponse a votre question
Féliciations et un grand merci pour ce tuto, je vais reprendre ma config pas à pas.
Tu es mon sauveur de projet !!!
T’écris partout d’éditer des fichiers , mais tu explique pas comment le faire , merci pour les débutants comme moi qui aimeraient tout trouver sur la même page
Bonjour et bravo pour la vidéo, je voudrais installer les infos spotify sur mon MM, j’ai téléchargé :MMM-NowPlayingOnSpotify et lancé l’installation, je suis arrivé là:
pi@miroir:~/MMM-NowPlayingOnSpotify $
et après je ne sais pas quoi faire…l’étape 2 dit:
« Step 2 – Create and authorise a Spotify app
In order to be able to connect to the Spotify API you need to create an app in the Spotify developer area. Then you need to authorise the app to access your personal data. Et voilà!
The module provides you with a special app which describes all the necessary steps and which guides you through the whole process. To use this app change into the authorization folder and start the app by typing node app.
cd authorization
node app »
du coup la je suis largué! si vous pouviez m’aider svp
merci d’avance
Cordialement
Manu
Bonjour je me répond ! en fait j’ai réussi l’APP, j’ai renseigné « http://localhost:8888/callback » dans le redirection des ports par contre je bloque sur la fin de la partie 2 autorisation de la nouvelle app sur le compte spotify,si qqun peut m’aider svp
Cordialement
Bonjour
Super Tuto, grâce à vous j ai finalisé mon miroir , enfin presque…
Impossible d ajouter la détection de mouvement, l installation du détecteur et du module ne fonctionnent visiblement pas
Avez vous un Tuto sur cette partie pour me permettre de finaliser mon œuvre d art ?
Merci de votre temps
bonjour
j’ai trop galéré avec la version Raspbian Stretch (chemins introuvable, dépendances pas installable bref) je me suis basé sur une Jessie et après upgrade et install auto, tout roule, je suis dans une phase configuration maintenant
à noter un petit détail de rien du tout à corriger, c’est « Ctrl + Q » pour sortir et non « Ctrl + C » 😉
merci pour cet article, je continue le paramétrage…
Jean-Philippe
Bonjour
Merci pour ce tuto
Mais quand je lance magic mirror j’ai un message de mise a jour « installation actuelle est 2502 commits en retard sur la branche master »
Comment faire la mise a jour
https://github.com/MichMich/MagicMirror#updating
Bonjour,
J’ai ce message d’erreur lors de la conf de TRELLO
Error 400(Bad Request) invalid id
J’ai fait une recherche sur idlist dans mon fichier :
https://trello.com/b/XXXXXXXX/famille.json
Cepedant je trouve plusieurs ID, j’ai tout essayé mais rien ne fonctionne
module : ‘MMM-Trello’,
position : ‘top_right’, // Ceci peut être n’importe quelle région, les meilleurs résultats dans les régions du centre.
config : {
// Voir ‘Options de configuration’ pour plus d’informations.
api_key : « ef4827c2ebdba********752 »,
jeton : « https://trello.com/1/authorize?expiration=never&scope=read&response_type=token&name=Server%20Token&key=88a5742f97c1ee08e6f*********6dbe477aa5989b4d0e367 »,
liste : « 5cb**********97a8d »
}
Avez vous une idée d’ou pourrais venir mon problème ??
MErci
Flo
Bonjour,
Je rencontre quelques problèmes pour l’édition du fichier config.js ( je suis débutant)
Est ce qu’il est possible d’ajouter un agenda privé Google agenda ? J’ai essayé mais je ne sais pas ce que je dois rentrer dans le module calendar…
J’ai aussi un problème avec la météo, elle ne s’affiche pas…
Est ce que vous pouvez m’aider ?
D’avance merci beaucoup
Bonjour,
Quelle taille d’écran utiliser pour que le rendu soit correct? un 20″ en 16/9eme serait correct?
Bonjour est-il possible d’agrandir des module comme la météo, etc…
Merci de l’info
https://forum.magicmirror.builders/topic/480/modules-size
Bonjour,
Dans l’étape où je doit écrire : systemctl restart pm2
une fenêtre me demande le mot de passe de l’utilisateur « Pi » donc j’entre le mot de passe.
et au lieu de me redemarrer PM2 jai le message suivant :
Failed to restart pm2.service: Unit pm2.service not found
vous pouvez regarder du coté de la doc officielle ici: https://github.com/MichMich/MagicMirror/wiki/Auto-Starting-MagicMirror
Bonsoir je ne comprend pas la partie
Du coté de Kalliopé: Installation du neurone
On se place dans nôtre dossier kalliope (votre starter kit) et on installe le neuron :
Quand je tape la commande : kalliope install –git-url https://github.com/kalliope-project/kalliope_neuron_magic_mirror.git
il me dit commande introuvable
c’est que Kallope n’est pas installée. Vous pouvez reprendre le tuto (elui dédié à Kalliopé) point par point pour vérifier que tout est ok.
Bonjour,
Super 🙂
Bonjour,
Super Tuto, je n’ai jamais fait de programmation et j’ai réussi à globalement tout faire du premier coup sans reprise => preuve que le tuto est bien réalisé
seul partie incompréhensible pour ma part, que j’ai débloqué grâce au commentaire et la page en Anglais :
»
Éditez /etc/xdg/lxsession/LXDE/autostart et .config/lxsession/LXDE/autostart, supprimer ou commentez la ligne suivante :
1
@xscreensaver -no-splash
Et ajouter la ligne suivante en fin de fichier
1
@xset s noblank @xset s off @xset -dpms »
Pour moi cela mériterai d’être mieux détaillé.
merci en tout cas pour le projet
pour taper ton commentaire, t’a trouvé ou le tuto?
Ping : Framboise magique – Les aventures de José …
bonjour après plein d’erreur j’aimerais supprimer magicmirror de mon Raspberry pour le réinstaller de suite au lieu de formater ma carte sd
pouvez vous me venir en aide
vermand
hello
et si je réinstalle magicmirror sur l’ancienne version est-ce-que j’écrase l’ancienne version de magic a la même place , ou elle se place ailleurs sur la carte sd
merci beaucoup
vermand
bonjour , mon mirroir fonctionne a merveille .
par contre aucun son ne sort des enceintes aplay -l ressort bien 2 cartes son bcm
aplay -l
**** Liste des Périphériques Matériels PLAYBACK ****
carte 0: ALSA [bcm2835 ALSA], périphérique 0: bcm2835 ALSA [bcm2835 ALSA]
Sous-périphériques: 7/7
Sous-périphérique #0: subdevice #0
Sous-périphérique #1: subdevice #1
Sous-périphérique #2: subdevice #2
Sous-périphérique #3: subdevice #3
Sous-périphérique #4: subdevice #4
Sous-périphérique #5: subdevice #5
Sous-périphérique #6: subdevice #6
carte 0: ALSA [bcm2835 ALSA], périphérique 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
et
aplay -D hw:0,0 test.wav
Lecture WAVE ‘test.wav’ : Unsigned 8 bit, Fréquence 8000 Hz, Mono
fonctionne tres bien.
faut t il rajouter un module » son »?
doit on parametrer le hw 0,0 quelque part?
Je suis en cours de projet pour un miroir connecté et j’ai en ma possession d’un Raspberry 3 modèle b et j’ai installé le Magicmirror mais problème , je n’ai pas sur mon écran le module météo ! je ne sais pas comment l’affiché !
Comme installer ce module et serait-t-il possible de m’expliquer comme affiché celui-ci !?
Ou est il possible de trouver le fichier du Magicmirror configuré ?
Merci
Cordialement
Vous devez créer un compte sur openweathermap afin d’obtenir une clé d’API. Après vous rentré la clé dans la configuration du module.
Documentation du module: https://github.com/MichMich/MagicMirror/tree/master/modules/default/weatherforecast.
Ping : Creer un Serveur Web Raspberry Pi – Unitout
Bonjour,
tout d’abord très bon tuto très complet et je vous en remercie.
J’ai juste un petit soucis lors de l’installation du magicmirror après tapé la commande npm install.
J’ai deux messages d’erreurs que je n’arrive pas à solutionner.
« magicmirror@2.9.0 install: cannot run in wd magicmirror@2.9.0 cd vendor && npm install (wd=/root/MagicMirror) »
et
« magicmirror@2.9.0 postinstall: cannot run in wd magicmirror@2.9.0 sh untrach.css.sh && sh installers/postinstall/postinstall.sh &&npm run install-fonts (wd=/root/MagicMirror) »
Pour info je suis sur noob 3.2
Ping : Framboise magique – Jose l'Informatique
bonjour je n’arrive pas a trouver config/config.js. comment est-ce que je peut faire pour modifier le fichier ?
merci d’avance.
Bonsoir a tous ,
je ne comprend pas pourquoi quand j éteint le système et que je le débranche mon système et que je le rebranche je n’est plus d’affichage, je suis obliger de tout recommencer l’installation.
Savez vous d’ou ça viens ? quelqu’un a déjà u ce problème ?
bonjour,
je cherche un moyen de récupérer la température de ma piscine et l’afficher sur mon miroir le tout via wifi ou bluetooth
auriez vous une solution?
Bonjour ,
je n’arrive pas désactiver l’écran de veille je ne trouve pas .config/lxsession/LXDE/autostart
bonsoir et merci pour ce tuto
j’ai un pb apres la commande npm start
tout reste bloqué avec le message:
Ready to go! Please point your Browser to: http://localhost:8080
Bonjour, la rotation de l’écran ne fonctionne pas correctement, sa me le tourne bien avec le display_rotate=1 mais il reste en format paysage donc je ne vois pas une partie de l’écran et le bas de l’ecran est une bande noire. Savez vous d’où cela viens?
Bonjour,
Merci pour ce beau tuto.
Je viens de boot sur environnement graphique, j’en suis au moment où il faut désactiver la souris seulement impossible d’avoir accès au terminal ou à la console (je connais pas bien la différence), en somme, impossible de taper quelques commandes que ce soit… J’ai essayer le Ctrl-Alt-t mais ça marche pas…
Pourrais tu m’orienter ?
Merci d’avance
Bonjour, j’ai installer magicmirror, quelques modules mais je m’aperçois que le raspberry a tendance a redémarrer tout seul, quelqu’un pourrais m’aiguiller ?
Je vous remercie.
Bonjour à tous,
Lorsque j’allume mon magic mirror j’ai un message qui s’affiche à l’écran en plus des modules habituels.
« Une mise a jour de MagisMirror2 est disponible. L’installation actuelle est 164 commits en retard sur la branche master. »
Comment faire cette mise a jour?
Je vous remercie
Bonjour, je me retrouve avec le meme probleme ce jour. Comment faire cette mise à jour ?
Merci
Cordialement
Bonjour
si ça peut aider
Mon code http://www.fdasi.fr/jeedom/configjs.txt
ce que ca donne http://www.fdasi.fr/jeedom/miroir.jpg
Bonjour
merci oui effectivement c’est très intéressant !
cdt
francois
MERCI
aurais tu la liste de ton matos surtout capteur température….
je souhaite faire un parallèle avec jeedom ou autre pour gérer ma domotique
Bonjour
Très bon tuto mais je n arrive pas à incliner l ecran.
Je suis sous Rpi4. J’ouvre le fichier : sudo nano /boot/config.txt
Je rentre votre ligne. J enregistre et je relance sans résultat.
Pouvez vous me aider ?
Merci
bonjour,
surtout ne pas mettre le # devant display sinon c’est un commentaire
choisir l’une des phrases suivante :
display_rotate=0 #Normal
display_rotate=1 #90 degres
display_rotate=2 #180 degres
display_rotate=3 #270 degres
et redémarrez,
bonne journée
Bonsoir
j ai installé MagiMirror que j ai réussi a faire fonctionner j ai voulu ajouter un module
je relance et me trouve avec le message d erreur Please create a config file.
plus moyen de le faire fonctionner j ai regardé au virgule accolade rien d anormale
j’ai installé le module a la fin cela est il gênant aurriez vous une solution
en vous remerciant par avance
Ping : Comment transformer un Raspberry Pico en centrale d'information pour sa cuisine ! - Framboise 314, le Raspberry Pi à la sauce française....
Bonjour,
pouvez-vous m’aider, il doit y avoir quelque chose qui m’échappe ?
j’ai commencé la conf de la Rasp et lors de l’installation je mets la commande » bash -c « $(curl -sL <a href= »https://raw.githubusercontent.com/…/master/raspberry.sh » rel= »nofollow »>https://raw.githubusercontent.com/…/master/raspberry.sh</a> » puis retour à la ligne avec ce symbole » > » en premier caractère.
je ne sais pas quoi faire ni comment faire autrement.
Bonjour Fabien
c est l’éditeur de WordPress qui a déconné et ajouté des choses qui n’étaient pas prévues, la commande doit être
curl -sL https://raw.githubusercontent.com/…/master/raspberry.sh
La page d’origine est ici, vous y trouverez la procédure : https://github.com/sdetweil/MagicMirror_scripts
il faut un minimum de connaissances en commandes Linux pour se lancer dans ce genre de réalisation. On n’est pas au stade de la recette ou il suffit de recopier pour que ça fonctionne
désolé
cdt
francois
Bonjour,
quel est le code a saisir qu’il demande lorsque l’on met : systemctl restart pm2, il me demande un code pour s’authentifier, lequel ?
Bonjour, j’ai essayé de passer la dernière mise à jour du MM (celle de juin) et du coup le MM ne démarre plus visiblement le système d’exploitation ne fonctionne plus avec la mise à jour… est-ce que vous avez svp des pistes pour résoudre ce problème, merci pour votre aide
Bonjour
Désolé je n’ai pas de solution immédiate
souvent les mises à jour peuvent planter un OS ou une appli, il vaut mieux faire le test sur une copie de la carte avant de se lancer…
(l’OS est peut être ancien et la nouvelle version de MM est faite pour un système plus récent)
cdt
francois
Merci pour votre réponse, heureusement j’avais fais le test sur une copie de carte et effectivement la MAJ ne passe plus avec les anciens OS maintenant il faut l’OS bookworm , si ca peut éviter à d’autres personnes de se faire piéger avec la MAJ…