Table des matières:

Miroir magique avec actualités, météo, alarme, minuterie et liste de tâches : 9 étapes
Miroir magique avec actualités, météo, alarme, minuterie et liste de tâches : 9 étapes

Vidéo: Miroir magique avec actualités, météo, alarme, minuterie et liste de tâches : 9 étapes

Vidéo: Miroir magique avec actualités, météo, alarme, minuterie et liste de tâches : 9 étapes
Vidéo: Elle Était Coincée Donc Ce Policier L'aide 2024, Juillet
Anonim
Miroir magique avec actualités, météo, alarme, minuterie et liste de tâches
Miroir magique avec actualités, météo, alarme, minuterie et liste de tâches
Miroir magique avec actualités, météo, alarme, minuterie et liste de tâches
Miroir magique avec actualités, météo, alarme, minuterie et liste de tâches

Un miroir magique est un miroir sans tain spécial avec un écran derrière lui. L'écran, qui est connecté à un Raspberry Pi, affiche des informations telles que la météo, la température ambiante, l'heure, la date, une liste de tâches et bien plus encore. Vous pouvez même ajouter un microphone et configurer un assistant intelligent. Les possibilités sont infinies.

Ce projet peut être assez coûteux, l'une des pièces les plus chères dont vous aurez besoin est bien sûr l'écran. C'est pourquoi j'ai recyclé un écran d'un vieil ordinateur portable. Je recommande cependant d'obtenir un grand écran lumineux et à contraste élevé pour réaliser ce projet. Ça en vaut la peine.

Le miroir que j'ai fait a ces caractéristiques:

  • Nouvelles d'un flux RSS choisi par l'utilisateur
  • Temps
  • Température intérieure
  • Un système d'alarme
  • Un système de minuterie
  • Une todolist
  • Utilisateurs multiples: la couleur de la bande LED et la source d'actualités changent en fonction de l'utilisateur sélectionné.

Fournitures

Pour construire ce miroir magique, vous aurez besoin de:

  • Un miroir sans tain
  • Bois
  • Un Raspberry Pi
  • Une carte Micro SD (8+Go)
  • Une planche à pain
  • Deux haut-parleurs 20W
  • Amplificateur MAX9744 20W pour alimenter les enceintes
  • 1m 30-led WS2801 ledstrip
  • Sonde de température 1 fil DS18B20
  • Capteur infrarouge HC-SR501
  • Un encodeur rotatif
  • Un moniteur ou un vieil écran d'ordinateur portable

    Si vous utilisez un ancien écran d'ordinateur portable, vous devrez acheter un adaptateur d'écran pour ordinateur portable. Vous pouvez les obtenir sur AliExpress, Ebay ou Amazon. Recherchez simplement le numéro de série de votre écran

Vous aurez également besoin des petits composants suivants:

  • une diode
  • Une résistance de 4,7k Ohm
  • Une résistance de 470 Ohm
  • Fils pour connecter les capteurs au Raspberry Pi

Et ces alimentations:

  • 5V 2A pour alimenter la bande led
  • 12V 2A pour alimenter l'écran
  • 12V 2A pour alimenter l'amplificateur
  • 5.1V 3A pour alimenter le Raspberry Pi (utiliser une alimentation RPi officielle)

Étape 1: Installation de Raspbian

L'écran et tous les composants derrière le miroir sont alimentés par le Raspberry Pi. Vous devrez installer Raspbian, le système d'exploitation par défaut du Pi, sur la carte SD.

  1. Téléchargez l'imageur de disque Win32. Les utilisateurs de Linux et MacOS peuvent utiliser quelque chose comme Etcher.
  2. Téléchargez la dernière image Raspbian sur le site Web Raspberry Pi. Choisissez l'option 'Raspbian Buster avec bureau'
  3. Ouvrez Win32 Disk Imager et écrivez le fichier image sur la carte SD.

La carte SD est maintenant presque prête. Nous devons juste nous assurer que nous pouvons nous connecter à distance au Raspberry Pi:

  1. Accédez à la partition de démarrage de la carte SD à l'aide de l'explorateur de fichiers de votre système.
  2. Ajoutez un fichier appelé 'ssh' sans extension.
  3. Ajoutez 'ip=169.254.10.1' (sans les guillemets) à la fin de la première ligne de 'cmdline.txt'.

Éjectez en toute sécurité la carte SD de votre ordinateur, placez-la dans votre Raspberry Pi et démarrez-la.

Étape 2: configuration Wi-Fi

Pour analyser les réseaux Wi-Fi, exécutez la commande suivante:

analyse sudo iw dev wlan0 | grep SSID

Vous verrez la liste de tous les SSID auxquels votre Raspberry Pi peut se connecter.

Créez une entrée réseau avec un mot de passe crypté en exécutant la commande suivante et en saisissant le mot de passe de votre réseau:

wpa_passphrase "VOTRE_RÉSEAU_SSID_ICI"

Collez maintenant la sortie de la commande ci-dessus dans ce fichier:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Redémarrez maintenant le Raspberry Pi. Vous serez connecté à Internet.

Étape 3: Installation et configuration du logiciel

Pour ce projet, vous devrez télécharger ces packages sur votre Raspberry Pi:

pip3 installer mysql-connector-python flask-socketio flask-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt installer apache2 mariadb-server

Ajoutez cette ligne au bas de /boot/config.txt pour activer l'audio via les broches GPIO 12 (gauche) et 13 (droite):

dtoverlay=audremap

Utilisez raspi-config pour définir la résolution de votre écran et pour activer i2c, One-wire et SPI. Définissez également la méthode de démarrage sur 'Desktop Autologin'.

Dans /etc/xdg/lxsession/LXDE-pi/autostart, ajoutez ce qui suit:

@xset s off@xset -dpms@xset s noblank@chromium-browser --kiosk 127.0.0.1/mirror.html # charger chromium après le démarrage et ouvrir le site Web en mode plein écran

Cela ouvre le navigateur sur la bonne page lorsque LXDE (l'environnement de bureau de Raspbian) se charge. Supprimez ou commentez également la ligne @xscreensaver pour désactiver l'économiseur d'écran.

Dépôt Github

Clonez mon dépôt GitHub et placez le contenu du dossier Frontend dans /var/www/html. Nous aurons besoin du dossier Backend plus tard.

Étape 4: La base de données

La base de données
La base de données

Il s'agit du schéma de la base de données, optimisé pour 3NF. Il stocke toutes les alarmes, les sources d'information, les utilisateurs, les données des capteurs, les sons et la liste de tâches.

  1. Utilisez MySQL Workbench pour accéder au serveur de base de données de votre pi (mariadb)
  2. Créez une base de données à l'aide de ce schéma et insérez vos propres données.
  3. Modifiez config.py dans le dossier Backend de mon référentiel GitHub: modifiez le nom de la base de données, le nom d'utilisateur que vous avez choisi et le mot de passe.
  4. Modifiez app.py et remplacez l'URL de l'API OpenWeatherMap par la vôtre. (Créez le vôtre ici)

Étape 5: Construire le cadre du miroir

Construire le cadre du miroir
Construire le cadre du miroir
Construire le cadre du miroir
Construire le cadre du miroir
Construire le cadre du miroir
Construire le cadre du miroir

J'ai construit le cadre autour du miroir en utilisant des joints à onglet avec des coins métalliques. Les planches de bois que j'ai utilisées ont une épaisseur de 18 mm et une largeur de 10 cm. Dans les images, vous pouvez voir les mesures exactes pour un miroir de 45 cm x 60 cm. Derrière le miroir se trouve toute l'électronique, alors assurez-vous que vos planches sont assez larges pour les adapter.

J'ai utilisé des crochets métalliques pour attacher les haut-parleurs au cadre. De cette façon, ils ne reposent pas sur le miroir, ce qui réduit les contraintes de vibration sur le verre.

Étape 6: L'électronique

L'électronique
L'électronique
L'électronique
L'électronique

Suivez les schémas ci-dessus pour construire le circuit. J'ai utilisé du ruban adhésif pour fixer l'électronique au miroir.

Étape 7: Installation de l'électronique dans le cadre

Montage de l'électronique dans le cadre
Montage de l'électronique dans le cadre
Montage de l'électronique dans le cadre
Montage de l'électronique dans le cadre

Après avoir attaché les haut-parleurs aux crochets métalliques en haut, ajoutez le reste de l'électronique au miroir. J'ai également mis une fine planche de bois entre le miroir et l'électronique, donc au lieu de coller l'électronique sur le miroir, j'ai collé l'électronique sur la planche de bois. L'écran de l'ordinateur portable est un panneau blanc au bas du miroir.

Comme vous pouvez le voir sur les images, j'ai branché tous les adaptateurs d'alimentation dans une prise multi-prises afin qu'il n'y ait qu'un seul câble qui quitte le cadre. C'est pourquoi j'avais besoin de planches assez larges (10cm).

J'ai percé un trou de 2 cm de large dans le côté droit du miroir pour le passage de l'encodeur rotatif. Cela vous permet de modifier facilement le volume (tourner) ou de désactiver les minuteries et les alarmes (pousser).

J'ai percé deux trous de 8 mm de chaque côté du miroir pour acheminer les câbles des bandes LED.

Étape 8: Touches finales

La touche finale
La touche finale
La touche finale
La touche finale
La touche finale
La touche finale

J'ai ajouté un chiffon noir à l'arrière du miroir pour cacher l'électronique. Il assombrit également l'intérieur du boîtier, ce qui rend beaucoup plus difficile de voir les fils à travers le miroir. Je l'ai attaché avec du velcro, ce qui facilite l'accès à l'électronique en cas de besoin.

Copiez le dossier Backend de mon référentiel Github dans un endroit dont vous vous souviendrez.

Ajoutez une unité systemd pour que le script python s'exécute au démarrage:

sudo nano /etc/systemd/system/magicmirror.service

[Unité]

Description=Le service pour le script python magicmirror After=network.target [Service] ExecStart=/usr/bin/python3 -u app.py WorkingDirectory=/home/pi/magicMirror/Backend StandardOutput=inherit StandardError=inherit Restart=always User =pi [Installer] WantedBy=multi-user.target

Remplacez 'WorkingDirectory' par le répertoire Backend et remplacez User par votre propre nom d'utilisateur.

Étape 9: Interagir avec l'application Web

Interagir avec l'application Web
Interagir avec l'application Web
Interagir avec l'application Web
Interagir avec l'application Web
Interagir avec l'application Web
Interagir avec l'application Web
Interagir avec l'application Web
Interagir avec l'application Web

Naviguez jusqu'à l'adresse IP (qui s'affiche à l'écran). Vous verrez un site Web axé sur les mobiles avec les fonctionnalités suivantes:

  • Un graphique de température interactif
  • Un temps. Lorsque la minuterie est en marche, vous verrez également un compte à rebours sur le miroir lui-même.
  • Un système d'alarme
  • Un onglet de paramètres, où vous pouvez modifier les utilisateurs, les sources d'actualités et le volume du haut-parleur.
  • Un todolist. Les éléments à faire seront affichés sur le miroir

Mirror.html est la page qui s'affiche sur le Magic Mirror. J'ai ajouté un exemple dans les images ci-dessus.

Conseillé: