HowTo: Magic Mirror – Autostart einrichten

“Out-of-theBox” startet die installierte MagicMirror-Software nicht automatisch nachdem der RaspberryPi hochgefahren ist. Deswegen ist es praktisch einen Autostart für die MagicMirror-Software einzurichten.

Wie das geht ist im folgenden Artikel beschrieben.


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/

Affiliatelinks/Werbelinks

Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂 


Voraussetzungen

Hilfreiche Artikel:
Bevor ihr mit dem Artikel startet solltet ihr den RaspberryPi soweit vorbereitet haben, dass dieser über das Netzwerk erreichbar und per SSH Steuerbar ist. Außerdem sollte die MagicMirror-Software bereits installiert sein.

Die folgenden Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern

MagicMirror – Installation der benötigten Software

Benötigtes Material:
-keins-

Benötigtes Material:

In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.


Per SSH auf dem RaspberryPi einloggen

Um zu beginnen müsst Ihr Euch als erstes mit Putty per SSH auf dem RasPi einloggen. Wie das geht ist im Artikel RaspberryPi - Den RaspberryPi über SSH steuern beschrieben.

Nach der Eingabe Eures Benutzernamen und Passworts könnt Ihr die ersten Befehle eingeben.

Autostart mit dem Node.js Process Manager einrichten

Es gibt mehrere Wege den Autostart des MagicMirrors zu organisieren. Einer dieser Wege ist der ProcessManager für Node.js Applikationen. Der Vorteil dabei ist, dass dieser nicht nur den Autostart der MagicMirror-Software übernimmt. Er überwacht auch nach dem Starten ob die Software korrekt läuft und startet sie ggf. neu.


Installation des Process Managers

Der Processmanager ist auf den meisten Systemen nicht vorinstalliert. Deswegen muss er mit folgendem Befehl installiert werden.

sudo npm install -g pm2

Installation des ProcessManagers


Autostart des ProcessManagers einrichten

Ist der ProcessManager installiert muss man nun einen Autostart für den ProcessManager einrichten. Denn der ProcessManager kann sich natürlich nur um den Autostart der MagicMirror-Software kümmern, wenn dieser zuvor selber gestartet wurde. Den Autostart des Processmanagers könnt Ihr mit folgendem Befehl einrichten.

sudo pm2 startup
Zum einrichten des Autostart des ProcessManagers müsst ihr den Befehl “sudo pm2 startup” eingeben.

MagicMirror Start Script einrichten

Damit der Autostart des MagicMirror funktioniert müsst Ihr zunächst ein Startscript einrichten. Dazu wechselt Ihr  mit folgendem Befehl in Euer Home-Verzeichnis:

cd ~

Dort erstellt Ihr eine neue(noch leere) Datei:

nano mm.sh

Und fügt folgenden Text darin ein.

cd ~/MagicMirror
DISPLAY=:0 npm start
Nachdem Ihr den Text eingefügt habt speichert Ihr die Datei durch Druck auf “STRG+X” und…
… einem Druck auf “Enter”.

Danach müsst Ihr dieses Script noch lauffähig machen. Dazu genügt folgender Befehl

sudo chmod +x mm.sh
Dadurch bekommt das Script die nötigen Rechte um ausgeführt zu werden.

Nun könnt Ihr das Script mit dem ProcessManager starten.

pm2 start mm.sh

Und jetzt kommt die eigentliche Magie. Mit folgendem Befehl wird der aktuelle Zustand (Das Skript/der MagicMirror läuft) gespeichert. Das heißt der ProcessManager überprüft nun durchgehend ob das Skript und damit der MagicMirror korrekt läuft. Sollte dieser mal abstürzen oder noch nicht laufen wird er vom ProcessManager automatisch gestartet.

pm2 save


Steuern des MagicMirror über den Process Manager

Über den ProcessManager könnt Ihr den MagicMirror dann auch steuern. Also starten und stoppen. Außerdem habt Ihr auch die Möglichkeit Loginfomationen anzeigen zu lassen.

Neustarten

pm2 restart mm

Stoppen

pm2 stop mm

Logdatei anzeigen

pm2 logs mm

Prozessinformationen anzeigen

pm2 show mm

Weitere Informationen

https://github.com/MichMich/MagicMirror/wiki/Auto-Starting-MagicMirror


Viel Spaß mit dem Projekt

Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com       

4 Kommentare

  1. Guten Abend,
    vielen Dank für diese ausführlichen und gut nachvollziehbaren Erklärungen. Mein Sohn (12 Jahre) und ich versuchen die Autostartfunktion eingerichtet zu bekommen. Wir können den gesamten Weg exakt nachvollziehen, es kommen auch bis zum Eintrag “pm2 save” die Informationen in der Kommandozeile. Auch die MagicMirror Anzeige auf dem Display wird angezeigt bzw. gestartet. Leider ist es dann so, wenn ich den Strom vom Raspi4 ausschalte und wieder einschalte startet der raspi nur bis zum normalen desktop, nicht jedoch die MagicMirror Umgebung wie ich es erwarten würde. Wir verwenden die Umgebung MagicMirror2.
    Gibt es noch irgendetwas zu beachten das es beim Einschalten des Stroms dann klappt, dass die MagicMirror Umgebung gestartet wird? Mein Sohn und ich wären über eine Rückmeldung so unendlich dankbar. Gerne auch gegen eine kleine Spende. Viele Grüße aus Niedersachsen, Andreas Graupner

    1. Hey Andreas 🙂
      kannst du bitte mal folgendes ausprobieren:
      – den Befehl “pm2 startup” eingeben
      – den Befehl “pm2 start mm.sh” eingeben
      – warten bis die Oberfläche des MagicMirror auf dem Bildschirm sichtbar und komplett geladen ist
      – den Befehl “pm2 save” eingeben
      – dann den RaspberryPi durch “sudo reboot” neu starten

      Falls der MagicMirror nach dem Neustart nicht automatisch gestartet wird kannst du mal gucken ob dir in den log Files etwas auffällt. 🙂 Dazu musst du den Befehl “pm2 logs mm” eingeben. Du kannst die Ausgabe davon auch gerne hier posten. Dann gucke ich mir das mal an. 🙂

      Beste Grüße
      Fabian

      P.S. Natürlich freue ich mich über eine Spende, aber ich helfe Euch auch so gerne. 🙂

  2. Ich weiß nicht ob gelöst…
    Ich hatte das gleiche Problem. Es lag am Ende am Autostart des ProcessManagers. Der war nicht korrekt eingerichtet. “sudo pm2 startup” war bei mir nicht ausreichend. Mir wurde nachdem ich “pm2 startup” eingegeben habe noch ein Befehl angezeigt, den ich einmal ausführen musste.

    ließ sich bei mir per ” sudo pm2 startup” nicht einrichten. Mir wurde nach “pm2 startup” ein Befehl in der Kommandozeile angezeigt, den ich ausführen musste. Jetzt funktioniert der ProcessManager korrekt inklusive Boot des MagicMirrors.

  3. Ich weiß nicht ob, ob das Problem schon gelöst wurde. Bei mir war der Autostart des ProcessManagers nicht richtig “eingerichtet”. Ich musste statt “sudo pm2 startup” “pm2 startup” eingeben. Anschließend wurde mir in der Konsole ein Befehl angezeigt, den ich ausgeführt habe. Jetzt funktioniert der ProcessManager korrekt, inklusive Boot des MagicMirrors.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.