DIY Magic Mirror #3 – Magic Mirror Software installieren und konfigurieren

Nach dem wir nun den Raspberry Pi zum laufen gebracht haben, geht es los mit der eigentlichen Software zum Magic Mirror. Ich habe mich dazu entschieden, die Version von Michael Teewu und Magic Mirror2 zu installieren.

Software installieren

Jetzt nur keine angst, auch wenn du noch nie etwas mit dem Terminal, Konsole oder SSH zu tun hattest, die Software zu installieren ist sehr einfach.

Als erstes musst du dich via SSH auf deinen Raspberry Pi verbinden.

ssh pi@192.168.0.136 (wobei natürlich die IP für deine eigene IP steht)

Sobald du dich erfolgreich verbunden hast, gib folgenden Befehl in dein Terminalfenster ein:

bash -c ‘$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)’

Anschliessend lehne dich zurück und hab Geduld. Vielleicht wird es mal so sein, dass ein Moment, allenfalls sogar mehrere Minuten, nichts in deinem Terminal passiert. Dann einfach warten und einen Kaffee trinken gehen. Es wird alles installiert. Brich die Installation auf keinen Fall ab. Bei mir dauerte es rund 10 Minuten bis alles auf dem Raspberry Pi war.

Manuelle Installation auch möglich

Willst du es wissen und dich tiefer in die Materie einarbeiten, kannst du die Magic Mirror Software auch manuell installieren. Eine entsprechende Anleitung findest du direkt auf GitHub.


(Introducing MagicMirror²! from Paul-Vincent Roll on Vimeo)

Magic Mirror Konfiguration

Nun müssen noch verschiedene Konfigurationen am Magic Mirror und am Raspberry vorgenommen werden.

Automatischer Start beim Booten

Update: 15.10.2018
Installiert man den MagicMirror wie oben beschrieben, wir das Programm PM2 direkt mit installiert und du kannst diesen Abschnitt hier überspringen.

Als erstes stellen wir alles so ein, dass der Magic Mirror beim Booten des Raspberrys automatisch startet. Dazu muss man als erstes das Programm PM2 installieren:

sudo npm install -g pm2

Anschliessend müssen wir PM2 noch korrekt konfigurieren, damit dieses Programm seine Arbeit macht, sobald der Raspberry gebootet wird. Dazu muss als erstes das PM2 Programm gestartet werden.

pm2 startup

Magic Mirror Start script erstellen

Damit PM2 in Kombination mit dem Magic Mirror funktioniert, müssen wir ein einfaches Shell Script erstellen. Das Script erstellen wir ausserhalb des Magic Mirrors Ordner. Dies aus dem Grund, dass wir dieses Script immer noch haben, auch wenn die Magic Mirror Software aktualisiert wird. Dazu geben wir folgendes ein und erstellen ein Script mit dem Namen mm.sh im Nano-Editor

cd ~
nano mm.sh

Nun musst du folgende Eingabe machen:

cd ~/MagicMirror
DISPLAY=:0 npm start

Um das File bzw. die Eingabe zu speichern, musst du nun einfach noch CTRL-X, Y und Enter drücken.

Als nächstes sollten wir das Script noch prüfen:

chmod +x mm.sh

Nun sind wir bereit, den Magic Mirror mittels dem Programm PM2 zu stoppen und eben auch nach einen Re-Boot zu starten.

Wir starten den Magic Mirror

Nach dem wir das Script erstellt haben, müssen wir zuerst das eigentliche Programm PM2 starten

pm2 startup

Nun starten wir unseren Magic Mirror. Gib dazu einfach folgenden Befehl in deinem Terminal ein:

pm2 start mm.sh

Nach ein paar wenigen Sekunden sollte der Magic Mirror erstrahlen.

Mit pm2 list kann man sich eine Liste ausgeben mit Programmen die gestartet wurden:


(Beispielbild)

Damit der Magic Mirror auch startet wenn der Raspberry gestartet wird, müssen wir den aktuellen Status des Programmes PM2 mit folgendem Befehl noch speichern.

sudo pm2 save

Ab sofort startet nun dein Magic Mirror nach einen Reboot.

Mit dem Programm PM2 kannst du den Magic Mirror natürlich auch stoppen.

pm2 stop mm.sh

Magic Mirror läuft!

Nun sollte eigentlich dein Magic Mirror laufen und du siehst die Standard-Konfiguration. Im nächsten Post werden wir dann den Magic Mirror nach unserem Geschmack konfigurieren und zusätzliche Module installieren.

Ein paar weitere Einstellungen

Auf dem Bild oben ist zu sehen, dass mein Magic Mirror erst mal an meinem normalen Monitor getestet habe. Das Endprodukt soll natürlich dann im Hochformat sein. Dies müssen wir noch konfigurieren, sowie ein paar weitere Dinge.

Drehen der Anzeige (via ssh)

Dazu müssen wir auf dem Raspberry die config.txt Datei im Boot-Ordner editieren:

sudo nano /boot/config.txt

Nun musst du einfach nur noch den Wert bei “display_rotate” ändern

display_rotate=1

Folgende Tabelle zeigt die möglichen Werte und den Rotationswinkel. Der Rotationswinkel bezieht sich auf eine Rotation des Bildes im Uhrzeigersinn

  • 0 = normal
  • 1 = 90°
  • 2 = 180°
  • 3 = 270°
  • 0x10000 = horizontal spiegeln
  • 0x20000 = vertikal spiegeln

Anschliessend die Datei mit CTRL+X, Y und Enter speichern und schliessen. Nicht vergessen: Raspberry Pi rebooten.

sudo reboot

Bildschirmschoner ausschalten

Am Raspberry Pi müssen wir auch noch den Bildschirmschoner dauerhaft ausschalten. Dazu muss die Datei /etc/kbd/config editiert werden:

sudo nano /etc/kbd/config

Nun in der ersten Zeil direkt folgenden Eintrag machen:

BLANK_TIME=0
BLANK_DPMS=off
POWERDOWN_TIME=0

Anschliessend die Datei mit CTRL+X, Y und Enter speichern und schliessen. Nicht vergessen: Raspberry Pi rebooten.

sudo reboot

W-LAN Energiesparmodus deaktivieren

Damit sich der W-LAN Adapter nicht plötzlich in den Energiesparmodus wechselt, müssen wir nun auch dies noch entsprechend konfigurieren:

sudo nano /etc/network/interfaces

Jetzt dieses File mit folgendem Eintrag ergänzen:

allow-hotplug wlan0
iface wlan0 inet manual
wireless-power off

Anschliessend die Datei mit CTRL+X, Y und Enter speichern und schliessen. Nicht vergessen: Raspberry Pi rebooten.

sudo reboot

Das tönt zwar alles ein wenig kompliziert, ist es aber schlussendlich gar nicht. Und die Freude wenn schlussendlich alles läuft ist um so grösser! Nun muss der Magic Mirror noch ein wenig konfiguriert werden bzw. mit Modulen ergänzt werden. Das habe ich im vierten Teil dieser Serie beschrieben.

25 Replies to “DIY Magic Mirror #3 – Magic Mirror Software installieren und konfigurieren

    1. Vielen Dank für die tolle Anleitung. Mein MagicPi läuft so weit. Was ich noch nicht geschafft habe, ist die Facebook-Geburtstage einzubinden. Trotz korrektem Link werden weitere (andere) Termine aus dem GoogelKalender angezeigt!?!? Vl hat ja jemand einen Tipp für mich.
      Des Weiteren würde ich gerne das ganze Startprozedere ausgeblendet haben. Auch die kurze Anzeige vom Desktop muss man ja nicht haben. Kann man das deaktivieren?

    1. Hallo
      Ich bin da kein Experte aber irgendwie scheint was mit einer Variable im $PATH nicht zu stimmen.
      Das hier habe ich in einem entsprechendem Forum gefunden:
      *********
      I’ve found this is often a misnaming error, if you install from a package manager you bin may be called nodejs so you just need to symlink it like so “ln -s /usr/bin/nodejs /usr/bin/node”
      **********
      Versuch das doch mal und anschliessend starte nochmals die Installation.

      Hilft es nicht, dann Google doch einfach nach diesem Fehler, dann sollte man eigentlich schnell auf eine Lösung kommen. Hat jedenfalls nicht mit der Magic Mirror Software zu tun, soweit ich das von hier beurteilen kann.

      Gruss
      Michi

  1. Hallo zusammen,

    in all den Foren habe ich mich jetzt bereits umgesehen, aber bisher nirgendwo eine passende Lösung gefunden. Es ist ja toll, dass man mit display_rotate=1 oder was auch immer die Darstellung ändern kann und der Bildschirm gedreht wird. Leider vergessen die meisten hier wohl, dass sich dabei auch das Seitenverhältnis ändern.
    Ich habe aktuell (zum Test) einen alten Fujitsu Monitor der aktuell mit 1280×1024 bei 60 Hz läuft. Wenn ich nun das Display rotiere, wird bei mir zwar das Display gedreht, jedoch ist dann das Seitenverhältnis falsch und der angezeigte Inhalt ragt über den rechten Rand des Bildschirms hinaus. Wenn ich versuche mit HDMI_mode und HDMI_cvt=1024 1280 60 6 0 0 1 oder ähnlichem zu arbeiten, zeigt mir der Bildschirm selbst, dass die eingestellten Werte außerhalb des möglichen Bereiches liegt und ich doch bitte 1280×1024 bei 60 Hz benutzen soll. Wie habt Ihr das Seitenverhältnis geändert? Im LibreElec gibt es leider keine passende Option dazu. RPi 3 + LibreElec.

    Wie habt Ihr dies gelöst?
    Danke und Grüße
    Daniel

    1. Hallo Daniel

      Dein Problem kann ich bei meinen Mirrors grad nicht nach vollziehen.
      Grundsätzlich wird immer alles schön, und wie erwartet, angezeigt.
      Hast du auch schon mal einen anderen Monitor zum testen verwendet?

      Gruss
      Michi

      1. Hi Michi,

        es lag wohl wirklich an dem Fu”SHIT”su – Monitor, der keinen Resync gemacht hat.
        Ich habe nun einen anderen 22″ Monitor angeschlossen und drehen und neu skalieren war mit Raspbian kein Problem. Möglicherweise hatte aber auch das vorher von mir verwendete LibreElec ein Problem mit der Auflösung.

        Problem aber gelöst.

        Danke
        Grüße
        Daniel

    1. Scheint ja, als sei NPM nicht korrekt installiert worden. Allenfalls NPM manuell nach installieren und dann nochmals starten oder den PI neu aufsetzen…oder einfach nochmals die MM Installation starten.

    1. Auch nicht, wenn du mit “cd ..” zurück ins root gehst bis du nicht mehr weiter kommst? Ist schon sehr komisch. Was hast du den für ein OS installiert? Allenfalls kannst du die Sachen auch ausschalten, wenn du eine Maus und Tastatur anhängst und dich so direkt mit dem Raspberry verbindest.

  2. Tipp: Benutz das Programm xscreensaver (sudo apt-get install xscreensaver).
    Ist zwar mit Kanon auf Spatzen geschossen, aber mit dem Programm kannst du den Bildschirmschoner deaktivieren.

  3. Hallo,
    erstmal vielen Dank für dein tolles DIY. Bis jetzt passt auch alles. 🙂

    ABER: Bei mir startet der MagicMirror nicht. Die mm.sh wurde erstellt und mit pm2 start mm.sh

    kommt auch folgender Text:
    pi@raspberrypi:~ $ pm2 start mm.sh
    [PM2] Applying action restartProcessId on app [mm](ids: 0)
    [PM2] [mm](0) ✓
    [PM2] Process successfully started

    │ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │

    │ 0 │ mm │ default │ N/A │ fork │ 16516 │ 0s │ 559 │ online │ 0% │ 2.5mb │ pi │ disabled │

    Leider wird der MM nicht angezeigt, sondern nur diese Übersicht. Wo könnte ich mit der Fehlersuche beginnen?

Comments are closed.

Erwähnungen