Vielleicht hätte ich einfach bei mirr.OS bleiben sollen. Vielleicht hätte ich mir einfach niemals einen Raspberry Pi und die damit verbundenen Möglichkeiten ansehen sollen. Denn schon als ich damals das erste Mal via SSH auf den Terminal des Pi Zugriff, dachte ich mir: Komm, lass es einfach.
Teil 1 | Teil 2 | Teil 3 | Teil 4 | Teil 5
Die Anfänge
Wir wissen inzwischen, dass ich mich „schwer“ verletzt und dennoch unter „Schmerzen“, dank Bluttransfusion und einem eisernen Willen, es nicht gelassen habe. Und das habt ihr jetzt davon. Einen Bericht über eine Software, welche ich bereits im Mai 2017 gehasst habe.
Als ich damals zum ersten Mal die Software installiert habe, dachte ich noch, dass es ja gar nicht so kompliziert sein kann. Ich habe mit einem Befehl, den man per copy & paste in den Terminal gebracht hat, die Sache installieren können. Dachte ich zumindest.
Am Ende lief es darauf hinaus, dass ich mehrere Stunden damit verbracht habe, den Fehler zu finden, um dann in einem Artikel zu lesen, dass es mit der von mir verwendeten Raspbian Version auf einem Raspberry Pi 2 Probleme gibt. Das dafür verfügbare Tutorial half mir zwar, dann eine funktionierende Umgebung zu schaffen und MagicMirror² zum laufen zu bringen, doch blieb der fade Beigeschmack, dass ich dieses Prozedere nun eventuell nochmal wiederholen müsste, wenn ich auf Raspbian Stretch umsteige.
Aber wenn wir etwas in dieser Reihe gelernt haben, dann, dass ich nicht nur fast verblutet, sondern auch, dass ich total pfiffig bin. Darum habe ich auch nach fast jeder Änderung ein Backup gemacht. Mir kann also aktuell kein Fehler mehr was. Zwar ist nun auch meine Festplatte voll aber egal, soll er doch kommen, der Fehler. Und er kam.
Da ich ja so "schlau" bin und der damalige Fehler in Kombination mit Raspbian Jessie auftrat, sich dieser aber unter Jessie-Lite (eine Version, welche keinen Desktop installiert), beheben ließ, installierte ich natürlich den Nachfolger „Stretch Lite“. Ja … was soll ich sagen? Ging nicht. Also direkt die andere Version inkl. Desktop heruntergeladen und auf die microSD kopiert. Denn bevor ich mich wieder ewig mit dem Fehler beschäftige, versuche ich lieber einen neuen Fehler zu verursachen. Aber mit der großen Variante funktionierte es zum Glück und MagicMirror² ließ sich installieren. Hier also nun die "fehlerfreie" Schritt für Schritt Anleitung. Wenn es damit nicht klapp, bin nicht ich Schuld Ich kann euch aber versichern, dass es jetzt komplexer wird. Also ran an die harte Kost.
Was brauchen wir?
Im Idealfall habt ihr schon mal einen Raspberry Pi eingerichtet. Für was auch immer. Hauptsache ihr wisst, wie das Grundgerüst funktioniert. Wenn ihr das noch nie gemacht habt, guckt euch den vorherigen Teil an. Ist besser so
Magic Mirror: Die Installation
Schritt 1: Image übertragen
Wir bringen das Image auf die microSD und richten danach den Raspberry Pi ein. Wie das sauber funktioniert, könnte ihr hier nachlesen: Raspberry Pi installieren: RASPBIAN Stretch (+Lite) - RasPiFun.de
Schritt 2: Vorbereitung MagicMirror²
Wenn wir die Einrichtung durchgeführt haben, können wir uns an die Einrichtung von MagicMirror² wagen und greifen dafür wieder auf den Pi zu.
Schritt 3: Ruhezustand ausschalten
Aktuell ist es erstmal egal, ob das Display, das Bild auf dem Kopf stehend anzeigt. Dazu kommen wir später, sollte das notwendig sein. Jetzt hinterlegen wir erstmal, dass das Display nicht in den Ruhezustand geht.
sudo nano ~/.config/lxsession/LXDE-pi/autostart
Dort tragen wir nun die folgenden Zeilen ein:
@xset s noblank
@xset s off
@xset -dpms
Sollte dort bereits etwas hinterlegt sein, einfach am Ende einpflegen. Mit Strg + o speichern und mit Strg + x beenden.
sudo nano /etc/lightdm/lightdm.conf
Dort muss nun folgendes eingetragen werden.
xserver-command=X -s 0 -dpms
Schritt 4: Mauszeiger ausblenden
Damit kein Mauszeiger zu sehen ist, installieren wir "unclutter".
sudo apt-get install unclutter
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
@unclutter -display :0 -idle 3 -root -noevents
Das lässt den Mauszeiger verschwinden, wenn nicht innerhalb von 3 Sekunden eine Aktion/Bewegung durchgeführt wurde. Und da wir den ohnehin nicht benötigen, könnte man die Zeit auch noch weiter runter setzen.
Schritt 5: Installation MagicMirror²
Festhalten. Wir – installieren – jetzt – MagicMirror².
Dazu geben wir einfach folgendes ein und lehnen uns zurück. Diese Installation kann etwas länger dauern.
bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)"
Schritt 6: Anzeige justieren
Hoffen, dass alles fehlerfrei durchgelaufen ist. Im Idealfall sollte nun bereits einiges auf dem Display zu sehen sein. Nun können wir auch erkennen, ob das Bild richtig ausgerichtet ist. Ist das nicht der Fall:
sudo nano /boot/config.txt
display_rotate=1
avoid_warnings=1
Bei der Zahl müsst ihr eventuell etwas spielen.
1 = 90 Grad Drehung
2 = 180 Grad Drehung
Anschließend ist ein Neustart notwendig. Und danach werdet ihr wahrscheinlich keinen Magic Mirror mehr sehen.
Schritt 7: Autostart MagicMirror²
Damit MagicMirror² auch nach einem Neustart wieder aktiv ist, nutzen wir das Tool PM2, welches wir wie folgt installieren:
sudo npm install -g pm2
pm2 startup
Damit PM2 mit dem Magic Mirror genutzt werde kann, muss ein kleines Script hinterlegt werden.
cd ~
nano mm.sh
Hier fügen wir dann folgendes ein:
cd ~/MagicMirrorDISPLAY=:0 npm start
Damit dieses Script auch die notwendigen Rechte zum Starten hat:
chmod +x mm.sh
Nun starten wir den Spiegel:
pm2 start mm.sh
Und speichern den Zustand mit:
pm2 save
Schritt 8: Konfiguration
Ja, ich hatte schon ab Schritt 2 keinen Bock mehr. Nützt aber nichts.
Wir können jetzt MagicMirror² konfigurieren. Wie das geht? Ist es auch so spielend einfach wie bei mirr.OS? Habe ich da auch eine so übersichtliche Benutzeroberfläche?
NEIN! Nichts davon habt ihr hier und nichts ist EINFACH!
Was ihr habt, ist eine Config-Datei. Auf die könnt ihr zum Beispiel via Nano-Editor zugreifen oder per FTP-Client. Letztere Variante nutze ich. Ich lade dann die Datei herunter und öffne sie anschließend mit dem Tool Notepad++.
Wie ihr seht, könnt ihr dort nun die Module eintragen, nachdem ihr sie installiert habt. Bei den meisten Modulen steht auch der Befehl für die Installation. Und die Config-Datei, solltet ihr immer als Kopie irgendwo sichern, sollte euch da mal ein Fehler passieren.
Tja … und das ist es. Bei den Modulen gibt es viele Spielereien. Einiges davon ist sinnvoll, vieles aber sinnfrei. Auch eine Gesichtserkennung ist dort zu finden. Ich habe zwar bis heute noch nicht ganz kapiert, wie das nun am Ende funktioniert, war mir aber meistens auch ab einem bestimmten Punkt wieder völlig egal.
Das Hauptproblem hierbei ist, dass es für den Laien, bei all den durchgeführten Schritten, so gut wie nicht möglich ist, bei einem Fehler die Quelle dafür zu finden.
Aber wenn alles geklappt hat und ihr euch etwas mit der Config-Datei beschäftigt, dann klappt das am Ende ganz gut.
Wenn ihr euch das nochmal auf der Github Seite ansehen wollt, gibt es hier eine kleine Linksammlung:
- MagicMirror²
- Configuring the Raspberry Pi · MichMich/MagicMirror Wiki · GitHub
- Auto Starting MagicMirror · MichMich/MagicMirror Wiki · GitHub
- 3rd Party Modules · MichMich/MagicMirror Wiki · GitHub
So … Schritt 9: Mental auf die dritte Möglichkeit vorbereiten. Microsoft IoT. Das aber zum Glück erst nächste Woche.