Inhaltsverzeichnis:

Zauberspiegel mit Nachrichten, Wetter, Alarm, Timer und Todolist - Gunook
Zauberspiegel mit Nachrichten, Wetter, Alarm, Timer und Todolist - Gunook

Video: Zauberspiegel mit Nachrichten, Wetter, Alarm, Timer und Todolist - Gunook

Video: Zauberspiegel mit Nachrichten, Wetter, Alarm, Timer und Todolist - Gunook
Video: One of the MOST DANGEROUS places on Earth?! 2024, Dezember
Anonim
Magic Mirror mit Nachrichten, Wetter, Alarm, Timer und Todolist
Magic Mirror mit Nachrichten, Wetter, Alarm, Timer und Todolist
Magic Mirror mit Nachrichten, Wetter, Alarm, Timer und Todolist
Magic Mirror mit Nachrichten, Wetter, Alarm, Timer und Todolist

Ein Magic Mirror ist ein spezieller Einwegspiegel mit einem Display dahinter. Das an einen Raspberry Pi angeschlossene Display zeigt Informationen wie Wetter, Raumtemperatur, Uhrzeit, Datum, einen Todolisten und vieles mehr an. Sie könnten sogar ein Mikrofon hinzufügen und einen intelligenten Assistenten einrichten. Die Möglichkeiten sind endlos.

Dieses Projekt kann ziemlich teuer sein, eines der teuersten Teile, die Sie benötigen, ist natürlich das Display. Deshalb habe ich ein Display aus einem alten Laptop recycelt. Ich empfehle jedoch, für dieses Projekt ein großes, helles und kontrastreiches Display zu verwenden. Das ist es wert.

Der Spiegel, den ich gemacht habe, hat diese Eigenschaften:

  • Nachrichten von einem vom Benutzer ausgewählten RSS-Feed
  • Wetter
  • Innentemperatur
  • Ein Alarmsystem
  • Ein Timer-System
  • Ein Todolist
  • Mehrere Benutzer: Die Farbe des LED-Streifens und die Nachrichtenquelle ändern sich basierend auf dem ausgewählten Benutzer.

Lieferungen

Um diesen magischen Spiegel zu bauen, benötigen Sie:

  • Ein Einwegspiegel
  • Holz
  • Ein Himbeer-Pi
  • Eine Micro-SD-Karte (8+GB)
  • Ein Steckbrett
  • Zwei 20-W-Lautsprecher
  • MAX9744 20-W-Verstärker zur Stromversorgung der Lautsprecher
  • 1m 30-LED WS2801 LED-Streifen
  • DS18B20 1-Draht-Temperatursensor
  • HC-SR501 Infrarotsensor
  • Ein Drehgeber
  • Ein Monitor oder ein altes Laptop-Display

    Wenn Sie ein altes Laptop-Display verwenden, müssen Sie einen Laptop-Display-Adapter kaufen. Diese erhalten Sie bei AliExpress, Ebay oder Amazon. Suchen Sie einfach nach der Seriennummer Ihres Displays

Sie benötigen außerdem die folgenden kleinen Komponenten:

  • Eine Diode
  • Ein 4,7 kOhm Widerstand
  • Ein 470 Ohm Widerstand
  • Kabel zum Anschluss von Sensoren an den Raspberry Pi

Und diese Netzteile:

  • 5V 2A zur Stromversorgung des LED-Streifens
  • 12V 2A zur Stromversorgung des Displays
  • 12V 2A zur Stromversorgung des Verstärkers
  • 5.1V 3A zur Stromversorgung des Raspberry Pi (verwenden Sie ein offizielles RPi-Netzteil)

Schritt 1: Raspbian installieren

Das Display und alle Komponenten hinter dem Spiegel werden vom Raspberry Pi mit Strom versorgt. Sie müssen Raspbian, das Standardbetriebssystem des Pi, auf der SD-Karte installieren.

  1. Laden Sie den Win32 Disk-Imager herunter. Linux- und MacOS-Benutzer können etwas wie Etcher verwenden.
  2. Laden Sie das neueste Raspbian-Image von der Raspberry Pi-Website herunter. Wählen Sie die Option 'Raspbian Buster mit Desktop'
  3. Öffnen Sie Win32 Disk Imager und schreiben Sie die Image-Datei auf die SD-Karte.

Die SD-Karte ist nun fast fertig. Wir müssen nur sicherstellen, dass wir uns aus der Ferne mit dem Raspberry Pi verbinden können:

  1. Gehen Sie mit dem Datei-Explorer Ihres Systems zur 'Boot'-Partition der SD-Karte.
  2. Fügen Sie eine Datei namens 'ssh' ohne Erweiterung hinzu.
  3. Fügen Sie 'ip=169.254.10.1' (ohne Anführungszeichen) am Ende der ersten Zeile von 'cmdline.txt' hinzu.

Werfen Sie die SD-Karte sicher aus Ihrem Computer, stecken Sie sie in Ihren Raspberry Pi und booten Sie ihn.

Schritt 2: WLAN-Konfiguration

Um WLAN-Netzwerke zu scannen, führen Sie den folgenden Befehl aus:

sudo iw dev wlan0 scan | grep SSID

Sie sehen die Liste aller SSIDs, mit denen sich Ihr Raspberry Pi verbinden kann.

Erstellen Sie einen Netzwerkeintrag mit einem verschlüsselten Passwort, indem Sie den folgenden Befehl ausführen und das Passwort Ihres Netzwerks eingeben:

wpa_passphrase "IHR_NETZWERK_SSID_HERE"

Fügen Sie nun die Ausgabe des obigen Befehls in diese Datei ein:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Starten Sie nun den Raspberry Pi neu. Sie werden mit dem Internet verbunden.

Schritt 3: Softwareinstallation und -konfiguration

Für dieses Projekt müssen Sie diese Pakete auf Ihren Raspberry Pi herunterladen:

pip3 install mysql-connector-python-flakon-socketio-flakon-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt installiere apache2 mariadb-server

Fügen Sie diese Zeile am Ende von /boot/config.txt hinzu, um Audio über die GPIO-Pins 12 (links) und 13 (rechts) zu aktivieren:

dtoverlay=audremap

Verwenden Sie raspi-config, um die Auflösung Ihres Displays einzustellen und i2c, One-Wire und SPI zu aktivieren. Stellen Sie auch die Bootmethode auf 'Desktop Autologin'.

Fügen Sie in /etc/xdg/lxsession/LXDE-pi/autostart Folgendes hinzu:

@xset s off@xset -dpms@xset s noblank@chromium-browser --kiosk 127.0.0.1/mirror.html # Chromium nach dem Booten laden und die Website im Vollbildmodus öffnen

Dies öffnet den Browser auf der richtigen Seite, wenn LXDE (Raspbians Desktop-Umgebung) geladen wird. Entfernen oder kommentieren Sie auch die Zeile @xscreensaver, um den Bildschirmschoner zu deaktivieren.

Github-Repository

Klonen Sie mein GitHub-Repository und legen Sie den Inhalt des Frontend-Ordners in /var/www/html ab. Den Backend-Ordner benötigen wir später.

Schritt 4: Die Datenbank

Die Datenbank
Die Datenbank

Dies ist das Datenbankschema, optimiert auf 3NF. Es speichert alle Alarme, Nachrichtenquellen, Benutzer, Sensordaten, Geräusche und den Todolisten.

  1. Verwenden Sie MySQL Workbench, um auf den Datenbankserver Ihres Pi (Mariadb) zuzugreifen
  2. Erstellen Sie eine Datenbank mit diesem Schema und fügen Sie Ihre eigenen Daten ein.
  3. Bearbeiten Sie config.py im Backend-Ordner meines GitHub-Repositorys: Ändern Sie den Datenbanknamen, Ihren gewählten Benutzernamen und das Passwort.
  4. Bearbeiten Sie app.py und ändern Sie die OpenWeatherMap-API-URL in Ihre eigene. (Hier selbst erstellen)

Schritt 5: Aufbau des Spiegelrahmens

Aufbau des Spiegelrahmens
Aufbau des Spiegelrahmens
Aufbau des Spiegelrahmens
Aufbau des Spiegelrahmens
Aufbau des Spiegelrahmens
Aufbau des Spiegelrahmens

Ich baute den Rahmen um den Spiegel mit Gehrungsverbindungen mit Metallecken. Die von mir verwendeten Holzbretter sind 18 mm dick und 10 cm breit. Auf den Bildern sehen Sie die genauen Maße für einen 45cm x 60cm Spiegel. Hinter dem Spiegel befindet sich die gesamte Elektronik, also stellen Sie sicher, dass Ihre Dielen breit genug sind, damit sie hineinpassen.

Ich habe Metallhaken verwendet, um die Lautsprecher am Rahmen zu befestigen. Auf diese Weise liegen sie nicht auf dem Spiegel auf und reduzieren die Vibrationsbelastung des Glases.

Schritt 6: Die Elektronik

Die Elektronik
Die Elektronik
Die Elektronik
Die Elektronik

Befolgen Sie die obigen Schemata, um die Schaltung zu bauen. Ich benutzte Klebeband, um die Elektronik am Spiegel zu befestigen.

Schritt 7: Einbau der Elektronik in den Rahmen

Einbau der Elektronik in den Rahmen
Einbau der Elektronik in den Rahmen
Einbau der Elektronik in den Rahmen
Einbau der Elektronik in den Rahmen

Nachdem Sie die Lautsprecher an den Metallhaken oben befestigt haben, fügen Sie den Rest der Elektronik zum Spiegel hinzu. Ich habe auch ein dünnes Holzbrett zwischen den Spiegel und die Elektronik gelegt, also klebte ich die Elektronik, anstatt die Elektronik auf den Spiegel zu kleben, auf das Holzbrett. Das Laptop-Display ist ein weißes Panel an der Unterseite des Spiegels.

Wie Sie auf den Bildern sehen können, habe ich alle Netzteile in eine Mehrfachsteckdose gesteckt, sodass nur ein Kabel den Rahmen verlässt. Deshalb brauchte ich ausreichend breite Dielen (10cm).

Ich habe ein 2cm breites Loch in die rechte Seite des Spiegels gebohrt, damit der Drehgeber hindurchpassen kann. Auf diese Weise können Sie ganz einfach die Lautstärke ändern (drehen) oder Timer und Alarme deaktivieren (drücken).

Ich bohrte zwei 8-mm-Löcher an beiden Seiten des Spiegels, um die Kabel für die LED-Streifen zu verlegen.

Schritt 8: Feinschliff

Feinschliff
Feinschliff
Feinschliff
Feinschliff
Feinschliff
Feinschliff

Ich fügte der Rückseite des Spiegels ein schwarzes Tuch hinzu, um die Elektronik zu verbergen. Es verdunkelt auch das Innere des Gehäuses, was es viel schwieriger macht, die Drähte durch den Spiegel zu sehen. Ich habe es mit Klettverschluss befestigt, um den Zugriff auf die Elektronik bei Bedarf zu erleichtern.

Kopieren Sie den Backend-Ordner aus meinem Github-Repository an einen Ort, an den Sie sich erinnern werden.

Fügen Sie eine systemd-Unit hinzu, damit das Python-Skript beim Booten ausgeführt wird:

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

[Einheit]

Description=Der Dienst für das Magicmirror-Python-Skript After=network.target [Service] ExecStart=/usr/bin/python3 -u app.py WorkingDirectory=/home/pi/magicMirror/Backend StandardOutput=inherit StandardError=inherit Restart=always User =pi [Installieren] WantedBy=multi-user.target

Ändern Sie 'WorkingDirectory' in das Backend-Verzeichnis und ändern Sie Benutzer in Ihren eigenen Benutzernamen.

Schritt 9: Interaktion mit der Webapp

Interaktion mit der Webapp
Interaktion mit der Webapp
Interaktion mit der Webapp
Interaktion mit der Webapp
Interaktion mit der Webapp
Interaktion mit der Webapp
Interaktion mit der Webapp
Interaktion mit der Webapp

Surfen Sie zur IP-Adresse (die auf dem Display angezeigt wird). Sie sehen eine Mobile-First-Website mit den folgenden Funktionen:

  • Ein interaktives Temperaturdiagramm
  • Eine Zeit. Wenn der Timer läuft, sehen Sie auch einen Countdown auf dem Spiegel selbst.
  • Ein Alarmsystem
  • Eine Registerkarte mit Einstellungen, auf der Sie Benutzer, Nachrichtenquellen und die Lautsprecherlautstärke bearbeiten können.
  • Ein Todolist. Todo-Elemente werden auf dem Spiegel angezeigt

Mirror.html ist die Seite, die auf dem Magic Mirror angezeigt wird. Ich habe ein Beispiel in den Bildern oben hinzugefügt.

Empfohlen: