3 tries 3 fails Raspberry b+
I’m having problems getting this to work on my pi b. I’ve installed raspbian, and the mirror files themselves direct, but can’t get the mirror to start! In not sure if it’s because I’m missing something, missing a step, or just plain shouldn’t be rusted with computers any more!
Is there a tutorial that’s for the b+ knocking around? I’ve searched and can’t seem to find anything.
Ah. Am I right in thinking the tutorial for the pi 0 will do it? Might get out of bed and have a play…
Does everything install correctly?
What do you mean you can’t get it to start? What happens?
I’ve followed the guide from
And neither work I’m afraid. No error messages, nothing notes a file/programme missing, nada. Just get to the point where it should “work” and nothing happens.
I’ll try the pi 0 tutorial and see how that goes. It’s just that I have a spare pi b and all parts, and it’s a shame I can’t get it to go…
@infamoustiggr Well that’s because you need to do this way…
The instructions are in full and easy to follow there The other places may not be up-to-date. The instructions in the link above are for this mirror exactly …
There’s two ways:
Automatic Installer (Raspberry Pi Only!)
Yup, cowboydude is absolutely right. I went with the Automatic installer on my Raspberry Pi 3
Worked perfectly, and the directions are damn good
I know, but I’ve got a Pi 1 model b. Unfortunately the easy install option is unavailable…
I’ve got as far as the npm install, but it’s throwing up lots of error in a log file… Any hints?
This is from the main installation page at https://github.com/MichMich/MagicMirror#manual-installation
Raspberry Pi Support
Electron, the app wrapper around MagicMirror², only supports the Raspberry Pi 2 & 3. The Raspberry Pi 1 is currently not supported. If you want to run this on a Raspberry Pi 1, use the server only feature and setup a fullscreen browser yourself.
In some cases, you want to start the application without an actual app window. In this case, execute the following command from the MagicMirror folder: node serveronly. This will start the server, after which you can open the application in your browser of choice.
I hope this helps
@Mykle1 ho there! I had read this bit too, but, being as I am to programming what a brick is to top flight springboard diving, I’m getting stuck on what parts of the instructions apply to me and which don’t. For example, the npm install comes up with a horrific number of errors, but I don’t know if I actually need it…
Once I’ve got this working I’ll write it up… I’m sure there’s a while bunch of people who bought the Pi 1 b and have since upgraded!
Alvinger last edited by Alvinger
I’m running my mirror on an original Pi B 256MB with no issues at all!
The Raspbian version I use is DietPi which is really great on a 256MB Pi. Note that the standard user in DietPi is “root” rather than “pi”. If you use standard Raspbian just replace all occurences of “root” with “pi” in the scripts below.
As the documentation states you start off with installing the Server Only option. If I remember correctly I had to manually install many of the node module dependencies as they weren’t installed correctly otherwise
I use matchbox as the window manager because it suited my needs best. It uses less resources which again is great for a 256MB Pi.
I’m using systemd scripts rather than pm2 as I think they work better. My scripts:
[Unit] Description=Node.js Magic Mirror Server [Service] ExecStart=/usr/bin/node /root/MagicMirror/serveronly/index.js WorkingDirectory=/root/MagicMirror Restart=always RestartSec=20 StandardOutput=syslog StandardError=syslog SyslogIdentifier=nodejs-magicmirror Environment=NODE_ENV=production PORT=1337 [Install] WantedBy=multi-user.target
[Unit] Description=X11 After=X.service [Service] Environment=DISPLAY=:0.0 ExecStart=/usr/bin/matchbox-window-manager -use_titlebar no -use_cursor no User=root Restart=on-failure [Install] WantedBy=multi-user.target
[Unit] Description=Kiosk Browser After=matchbox.service magicmirror.service Requires=magicmirror.service [Service] WorkingDirectory=/root/MagicMirror User=root Environment=DISPLAY=:0.0 # Don't activate screensaver ExecStartPre=/usr/bin/xset s off # Disable DPMS (Energy Star) features ExecStartPre=/usr/bin/xset -dpms # Don't blank the video device ExecStartPre=/usr/bin/xset s noblank ExecStart=/root/kioskbrowser http://localhost Restart=on-failure [Install] WantedBy=multi-user.target
Note that the kioskbrowser service relies on a user script called /root/kioskbrowser. This script has some extra logic to avoid the initial white screen when midori has loaded but not fetched any magic mirror content. The script perform a curl call to see if the magic mirror module is responding. If not it waits for a few seconds and then tries again. Once the magic mirror responds it starts midori in fullscreen mode.
#!/bin/bash status=1 url="$1" wait="10s" tries=0 # URL must be first argument if [ -z "$url" ]; then exit 1 fi # Make sure that the url is reachable while [ $status -ne 0 ]; do let tries++ curl --fail --progress-bar -o /dev/null --url "$url" status=$? if (($tries > 10)); then wait="30s" fi if (($tries > 20)); then wait="5m" fi if (($tries > 30)); then echo "$0: Can't load URL $url" exit 2 fi sleep "$wait" done # Start browser in fullscreen mode /usr/bin/midori -e Fullscreen -a "$url"
Hope this helps.