Das folgende Tutorial beschreibt das Aufsetzen eines MagicMirror-Servers auf einem Raspberry Pi 4. Auf diesen Server wird anschließend von einem Raspberry Pi 2 zugegriffen, welcher mit dem Bildschirm des Magicmirrors verbunden ist. Um das MagicMirror Programm auf dem mit dem Display verbundenen Raspi auszuführen wird eine neuere Version benötigt. In meinem Fall wird der Raspi 4 auch als Host für andere Server genutzt und steht deshalb nicht als Magicmirror zur Verfügung. Das Tutorial sollte größtenteils gleich sein, wenn der Server und der Bildschirm am gleichen Gerät hängen.
Der Raspi sollte schon aufgestzt sein und am besten eine SSH-Verbindung haben. Wie das geht kann im Tutorial zum Minecraft-Server nachgelesen werden.
Als Erstes erstellen wir einen neuen Benutzer für das MagicMirror Projekt.
Dafür wechseln wir zum Admin Benutzer, standardmäßig der Benutzer pi
:
su pi
Danach erstellen wir einen neuen Benutzer mm
:
sudo adduser mm
Anschließend werden wir dazu aufgefordert ein Passwort anzugeben. Wir geben ein Passwort an und bestätigen die folgenden Abfragen.
Um nötige sudo
Befehle auszuführen fügen wir den eben erstellten Benutzer der sudo
Gruppe hinzu.
sudo usermod -aG sudo mm
Da wir uns noch im pi
Benutzer befinden wechseln wir die Benutzer mit dem Befehl
su mm
Daraufhin geben wir das neu erstellte Passwort ein und wechseln anschließend in das Homeverzeichnis des mm
Benutzers:
cd
Kommen wir jetzt dazu das Programm MagicMirror zu installieren. Als erstes installieren wir die neueste node.js
Version.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs
Danach klonen wir das Repository auf den Raspi.
git clone https://github.com/MichMich/MagicMirror
Anschließend wechseln wir in den automatisch erstellten Ordner MagicMirror
.
cd MagicMirror
Jetzt installieren wir das Programm. Dieser Schritt kann bis zu 25 Minuten dauern.
npm install
Als nächstes kopieren wir die config sample
Datei
cp config/config.js.sample config/config.js
Jetzt kommt es zum ersten Unterschied zwischen dem reinen Serverbetrieb und der normalen Benutzung.
Der normale Start sieht so aus:
npm run start
Um den Server zu starten wird folgender Code benötigt.
npm run server
Der Server kann mit CRTL+C
wieder gestoppt werden.
Um über den Browser auf den Server zugreifen zu können muss die config-Datei angepasst werden.
Dafür öffnen wir als erstes die Datei.
cd config/
nano config.js
Dann ändern wir die Enstellungen. Wir tragen die IP des Clients in die Whitelist ein und die IP-Adresse des Servers in das Feld adress
. Jetzt noch abspeichern und dann kann der Server wieder gestartet werden.
npm run server
Um auf den Server zuzugreifen einfach <IP-Adresse>:<Port>
im Browser öffnen.