Comment construire un miroir intelligent Raspberry Pi!
Bonjour à tous!
Pour mon projet final en informatique, j'ai décidé de construire un Smart Mirror alimenté par un Raspberry Pi 3! J'ai eu cette idée de Hacker House, une chaîne Youtube géniale qui a beaucoup d'idées intéressantes pour des projets créatifs qui incorporent des instructions faciles à suivre! Bien que je me concentre principalement sur le codage en Java, ce Smart Mirror m'a permis de travailler un Raspberry Pi en codant en Linux et Python, des langages que je n'avais jamais utilisés auparavant. De plus, j'ai eu l'occasion de faire du travail du bois intéressant en construisant le cadre autour du moniteur, situé derrière le miroir bidirectionnel. Bien que ce soit mon tout premier projet Raspberry Pi, il m'a fallu environ deux week-ends pour terminer, du codage du Pi à la peinture du cadre. Ce fut une expérience incroyable de construire cela et j'espère que ce tutoriel vous aidera à créer le vôtre!
Étape 1: Ce dont vous aurez besoin


Avant de commencer, voici une liste de tous les éléments requis pour le projet:
- Raspberry Pi (j'ai utilisé la version Raspberry Pi 3 modèle B, car elle est facilement accessible et offre une option sans fil facile à configurer)
- Moniteur (j'ai utilisé un moniteur Samsung 12 "X 20" avec une entrée HDMI)
- Miroir en verre acrylique bidirectionnel (Il y en a en ligne, mais j'ai utilisé le moins cher recommandé par Hacker House - voir le lien en bas)
- 4 x supports imprimés en 3D (ceux-ci ne sont pas nécessaires, mais ils facilitent le logement du cadre. Encore une fois, Hacker House a un site Web qui fournit les fichiers STL et zip pour la conception des supports - voir le lien en bas)
- Câble HDMI
- Câble micro HDMI pour alimentation Pi
- Colle à bois
- Des vis
- Bois (j'ai utilisé deux morceaux de 8 pieds de long (un 1 "x 3" et un 1 "x 4") pour couper le cadre intérieur et extérieur)
- Clavier (USB)
- Souris (USB)
- Pinces
Supports 3D ~
//www.hackerhouse.site/parts.html
Miroir bidirectionnel ~
//www.amazon.com/gp/product/B01CZ35XWY/ref=o ...
Étape 2: Configuration du Raspberry Pi




Pour que le Pi reçoive des informations des modules Magic Mirror trouvés en ligne, il est crucial de configurer votre Wi-Fi et votre fuseau horaire. Une fois le système d'exploitation "Raspbian" installé (j'ai utilisé la version "Jessie") sur votre carte micro SD, branchez votre clavier et votre souris sur le Pi et connectez le câble HDMI au moniteur que vous allez utiliser. Attendez que le système démarre, puis vous pouvez commencer à configurer le Pi à votre emplacement. Tout d'abord, cliquez sur le symbole Wi-Fi en haut à droite de l'écran. Choisissez votre internet et entrez votre mot de passe. Vous devez ensuite être connecté à votre Wi-Fi. Une fois que vous avez fait cela, accédez à votre terminal et tapez ce qui suit:
sudo dpkg-reconfigure tzdata
Vous pouvez alors commencer à accéder à votre fuseau horaire spécifique via le menu que Pi affiche. Une fois que vous avez choisi votre fuseau horaire correct, enregistrez et redémarrez votre Pi. À ce stade, le Magic Mirror peut utiliser votre position pour afficher l'heure et accéder aux informations depuis Internet à l'aide de votre Wi-Fi. Maintenant, vous pouvez commencer la programmation!
Étape 3: Magic Mirror 2





Avant de commencer à télécharger et à configurer le programme, vous devez probablement savoir comment ce programme fonctionne. MagicMirror est une plateforme téléchargeable créée par Michael Teeuw (alias MichMich), où l'on peut accéder à ce référentiel sur www.github.com. À l'aide du Pi, vous devez télécharger et cloner le référentiel, ainsi que ses dépendances. Ce faisant, le Pi est capable d'exécuter le programme et d'afficher certains éléments contenus dans le fichier MagicMirror. Pour plus d'explications, vous pouvez visiter //magicmirror.builders/, un forum en ligne avec des tonnes de modules utiles et des méthodes de dépannage pour toute personne codant le programme. Pour commencer, accédez à votre terminal et saisissez le code suivant:
bash -c "$ (curl -sL //raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)"
Lorsque vous appuyez sur Entrée, le Pi commencera le téléchargement automatique du référentiel, ce qui prend environ 10 à 15 minutes. En cours de route, vous serez invité à saisir "Y" ou "N" pour certaines dépendances, telles que vim. Vim est une dépendance cruciale qui permet à un éditeur de texte de gérer MagicMirror. De plus, un programme appelé pm2 sera téléchargé, qui exécutera automatiquement le programme au démarrage de votre Pi. Une autre invite sera Node.js, qui permet aux applications réseau de s'exécuter sur le Pi. Une fois que MagicMirror a été entièrement téléchargé, redémarrez votre Pi. Après le redémarrage, vous devriez voir un compliment, l'heure et des articles de presse (voir photo ci-dessus). À partir de ce point, vous pouvez commencer à personnaliser le programme (ajouter de nouveaux modules, orientation, changer les polices, etc.).
Étape 4: modules





Comme indiqué précédemment, MagicMirror devrait afficher automatiquement l'heure, un compliment, les vacances aux États-Unis et certains articles de presse. Cependant, je voulais ajouter quelques fonctionnalités au Pi pour le rendre plus esthétique et avoir plus d'informations auxquelles je pouvais accéder (par exemple: la météo, les prévisions météo, un devis cool, etc.). Pour ce faire, vous devez effectuer plusieurs opérations pour que MagicMirror reçoive des informations sur l'emplacement dans lequel vous vous trouvez. Pour ce faire, vous devez accéder au dossier modules. Ce dossier est la clé pour héberger toutes les options souhaitées pour MagicMirror. Vous pouvez ajouter des modules, supprimer des modules (j'ai supprimé la liste des vacances aux États-Unis parce que j'habite au Canada) et personnaliser les paramètres. Pour ce faire, accédez au terminal et saisissez:
cd ~ / MagicMirror / modules
Cela devrait ouvrir un fichier dans lequel vous pouvez voir la liste des modules (recherchez les crochets fermés contenant des informations). J'ai commencé par ajouter le module météo et prévisions météo. Vous devriez déjà voir des modules par défaut avec des options météo, mais vous remarquerez que deux clés importantes sont manquantes. L'ID d'emplacement et l'ID d'API. Comme indiqué précédemment, MagicMirror utilise des sources en ligne pour afficher les informations. Ces deux identifiants proviennent d'un site Web appelé OpenWeatherMap (voir le lien en bas). Ce site fournit des API pour la météo, dont ce module a besoin. Tout d'abord, inscrivez-vous gratuitement sur le site et accédez à votre API gratuite. Tapez ce code dans la section "appid" du module. Ensuite, vous devrez trouver l'ID de localisation de votre ville. OpenWeatherMap fournit un fichier ÉNORME avec presque toutes les villes du monde et son ID de localisation à côté. Je ne connais pas de méthode plus simple, mais vous devrez peut-être parcourir tout le fichier jusqu'à ce que vous trouviez l'ID de votre ville. Une fois que cela a été trouvé (cette partie craint sérieusement, il m'a fallu environ 20 minutes pour trouver l'ID de ma ville), entrez-le dans le module météo et prévisions météorologiques. Après, enregistrez et quittez. Lorsque votre Pi démarre, vous devriez voir la météo de votre ville. J'ai ajouté un module supplémentaire, où une citation inspirante est affichée en bas de l'écran (voir photo ci-dessus). Cependant, la liste des modules dépend entièrement de vous! Assurez-vous de consulter la page Web du module que le forum MagicMirror2 fournit sur son site! Il y a des modules vraiment sympas que tout le monde peut ajouter pour rendre leur miroir beaucoup plus intéressant et amusant!
//openweathermap.org
Étape 5: personnalisation





Cette étape dépend entièrement de vous, selon que vous souhaitez que le miroir apparaisse dans une perspective portrait plutôt que paysage. Afin de personnaliser le Pi afin qu'il soit tourné (voir dernière photo), accédez au terminal et tapez ce qui suit:
sudo nano /boot/config.txt
Cela ouvrira certaines préférences système, où vous pourrez ajouter "l'option de rotation d'écran". Pour ce faire, faites défiler vers le bas du fichier et ajoutez:
#rotatethescreen
display_rotate = 1
Sauvegarder et quitter. Lorsque vous redémarrez votre Pi, MagicMirror devrait démarrer et s'afficher horizontalement. De plus, vous devriez voir tous les modules que vous avez ajoutés représentés dans une perspective portrait. Une autre chose que vous devez ajouter pour personnaliser votre Pi est le démarrage de pm2. Après avoir installé pm2, j'ai constaté que MagicMirror ne démarrerait pas à moins d'avoir accédé au terminal et tapé quelques lignes de code. Pour éliminer ce problème, procédez comme suit:
Accédez au terminal et saisissez: pm2 startup
Tapez ensuite:
sudo env PATH = $ PATH: / usr / bin / usr / lib / node_modules / pm2 / bin / pm2 startup systemd -u pi --hp / home / pi
Après, accédez à un script en tapant:
nano mm.sh
Ensuite, en ajoutant:
AFFICHAGE =: 0 npm débutSauvegarder et quitter. Maintenant, lorsque votre Pi démarre, MagicMirror devrait démarrer automatiquement
Il était également difficile de trouver comment désactiver l'économiseur d'écran, simplement parce que vous voulez voir en permanence l'affichage derrière le miroir. Pour ce faire, vous devrez accéder au terminal et taper:
sudo nano /boot/config.txt
Puis ajouter:
# élimine screensaverhdmi_blanking = 1Enregistrez et quittez, puis accédez à un autre fichier dans le terminal en tapant:
sudo nano ~ / .config / lxsession / LXDE-pi / autostart
Puis ajouter:
@xset s 0 s s dpms 0 0 0Enregistrez et quittez, puis redémarrez votre Pi
Étape 6: Le cadre



Bien que le cadre soit relativement facile à construire, il y a quelques choses cruciales que vous devez faire pour vous préparer. Tout d'abord, traitant du miroir bidirectionnel. Selon la taille de votre moniteur, vous devrez probablement couper le miroir à une taille environ un demi-pouce plus grande (largeur et longueur) que le moniteur. Pour ce faire, mesurez et marquez la taille sur le miroir (j'ai utilisé un Sharpie - ne vous inquiétez pas! Il y a une couche de protection en plastique sur le cadre que vous décollez quand vous êtes prêt) et mettez du ruban adhésif sur la ligne. J'ai utilisé du ruban pour peintres, juste parce qu'il n'est pas super solide et peut se détacher facilement. Coupez ATTENTIVEMENT le long du ruban (vous remarquerez que le miroir se brise sur le bord lorsque vous coupez. Essayez de limiter ces cassures, car ces fissures peuvent endommager la durée de vie de votre miroir). Une fois le miroir coupé, vous pouvez commencer à faire le cadre. Avec le cadre, vous devrez faire deux portions. Le boîtier intérieur et le cadre extérieur. Pour ce faire, mesurez le moniteur et coupez les deux morceaux de bois d'environ 1, 5 pouces de plus que la longueur du moniteur (voir photo ci-dessus). Après, coupez deux autres morceaux qui s'insèrent entre les plus gros morceaux. Utilisez de la colle à bois et des pinces pour le fixer. Pour accélérer le processus, vous pouvez percer une vis dans les coins pour mieux la maintenir ensemble. Pour faire le cadre extérieur (voir la deuxième photo), coupez quatre morceaux avec des coupes à 45 degrés à chaque extrémité (rappelez-vous, lorsque vous placez le cadre extérieur sur le boîtier intérieur, vous devez le placer de sorte que le point à mi-chemin de la coupe 45 repose sur le logement). Une fois le cadre réglé et stable, placez votre miroir entre le cadre et le moniteur. Vissez vos supports 3D en vous assurant qu'ils sont fermement placés. À ce stade, vous pouvez brancher votre Pi et votre alimentation, et MagicMirror devrait démarrer. Vous devriez voir un affichage derrière le miroir (date, heure, tout ce que vous mettez sur le programme). Félicitations, vous avez maintenant votre propre Smart Mirror!
Étape 7: Conclusion

Si vous avez des questions, veuillez laisser un commentaire! Je serais ravi de vous aider avec toutes les questions ou idées que vous avez! Ce fut un projet incroyable auquel participer, tout cela grâce à Hacker House! Une chose que je voudrais souligner, c'est que je vous recommande fortement d'acheter un dissipateur de chaleur pour le Pi. Étant donné que ce programme est conçu pour fonctionner en continu, votre processeur deviendra incroyablement chaud. L'achat d'un dissipateur de chaleur permettra à votre Smart Mirror de fonctionner plus en toute sécurité, tout en allégeant tout stress subi par le Pi pendant son fonctionnement. J'espère que vous essayez ce projet, il peut être vraiment utile et c'est une esthétique intéressante que vous pouvez accrocher dans n'importe quelle pièce. Merci beaucoup d'avoir visité ma page, j'espère que j'ajouterai des modules sympas au miroir avec lesquels je pourrai vous aider (IA, capteur de mouvement, alarme, etc.).