• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

3 tries 3 fails Raspberry b+

Scheduled Pinned Locked Moved Show your Mirror
28 Posts 7 Posters 22.7k Views 7 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    infamoustiggr
    last edited by Feb 5, 2017, 1:05 PM

    I’ve followed the guide from
    http://blog.dylanjpierce.com/raspberrypi/magicmirror/tutorial/2015/12/27/build-a-magic-mirror.html

    And

    http://michaelteeuw.nl/post/83916869600/magic-mirror-part-vi-production-of-the

    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…

    C 1 Reply Last reply Feb 5, 2017, 1:30 PM Reply Quote 0
    • C Offline
      cowboysdude Module Developer @infamoustiggr
      last edited by cowboysdude Feb 5, 2017, 1:31 PM Feb 5, 2017, 1:30 PM

      @infamoustiggr Well that’s because you need to do this way…

      https://github.com/MichMich/MagicMirror

      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!)
      or
      Manual Installation

      1 Reply Last reply Reply Quote 1
      • M Offline
        Mykle1 Project Sponsor Module Developer @infamoustiggr
        last edited by Feb 6, 2017, 1:53 PM

        @infamoustiggr

        Yup, cowboydude is absolutely right. I went with the Automatic installer on my Raspberry Pi 3

        Worked perfectly, and the directions are damn good

        Create a working config
        How to add modules

        1 Reply Last reply Reply Quote 1
        • I Offline
          infamoustiggr
          last edited by Feb 6, 2017, 9:32 PM

          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?

          M 1 Reply Last reply Feb 6, 2017, 10:32 PM Reply Quote 0
          • M Offline
            Mykle1 Project Sponsor Module Developer @infamoustiggr
            last edited by Feb 6, 2017, 10:32 PM

            @infamoustiggr

            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.

            Server Only:

            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

            Create a working config
            How to add modules

            I 1 Reply Last reply Feb 7, 2017, 7:14 PM Reply Quote 1
            • I Offline
              infamoustiggr @Mykle1
              last edited by Feb 7, 2017, 7:14 PM

              @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!

              1 Reply Last reply Reply Quote 0
              • A Offline
                Alvinger
                last edited by Alvinger Feb 7, 2017, 9:45 PM Feb 7, 2017, 9:31 PM

                Hi all,
                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:

                magicmirror.service:

                [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
                

                matchbox.service:

                [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
                

                Kioskbrowser.service:

                [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.

                /root/kioskbrowser:

                #!/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.

                1 Reply Last reply Reply Quote 2
                • I Offline
                  infamoustiggr
                  last edited by Feb 10, 2017, 10:06 AM

                  Hi Alvinger,
                  That sounds exactly what I need thanks, with the only problem being that, being a complete learner, I don’t know what to do with it…

                  Do I need to put the scripts into a particular file or just write them into the command line itself?

                  On the whole I’ve managed most projects independently thanks to the mighty google and suitable search terms, got my media centre and a pi in my van as a music/film hub, but this is the first thing that’s been a bit more complicated and I’ve failed miserably to this point…

                  I’ve been trying to learn this sort of thing for years and just never seem to have the time. I’m a physio by trade, so I don’t even have something close to this as my day job.

                  Thanks for your patience!

                  Nick

                  A 1 Reply Last reply Feb 10, 2017, 11:54 AM Reply Quote 0
                  • A Offline
                    Alvinger @infamoustiggr
                    last edited by Alvinger Feb 10, 2017, 11:56 AM Feb 10, 2017, 11:54 AM

                    @infamoustiggr,

                    Installed packages
                    If you are running dietpi or Raspbian Jessie systemd should already be installed. Otherwise you need to install and enable it. Google is your friend.

                    Midori should also be installed but Matchbox most likely isn’t. Install it with:

                    sudo apt-get install matchbox-window-manager
                    

                    Systemd
                    The systemd scripts are all located in /etc/systemd/system. To create magicmirror.service enter the following command (I’m using the editor nano):

                    sudo nano /etc/systemd/system/magicmirror.service
                    

                    Paste script from above and edit to suit your needs.

                    Make the script executable with the following command:

                    sudo chmod +x /etc/systemd/system/magicmirror.service
                    

                    Repeat these steps for the other scripts by replacing magicmirror.service with the appropriate name.

                    Custom script
                    For DietPi the scripts are located in /root and for Raspbian they are located in /home/pi. Change to the appropriate directory with cd.

                    nano kioskbrowser
                    

                    Paste the code from above and save/exit
                    Make the script executable by running:

                    chmod +x kioskbrowser
                    

                    MagicMirror config
                    Make sure that MagicMirror has the correct port set in config.js. (Look for “port”: in config/config.js and make sure it is set to 80. Otherwise modify kioskbrowser.service and change the url http://localhost to http://localhost:port where port is the port number of MagicMirror.)

                    Scheduled on/off times
                    If you’re like me and do not want your mirror active during the night you can either use a module such as MMM-ModuleScheduler or a cron script that turns the monitor power on/off at set times. I use the latter. To do that you enter the command:

                    crontab -e
                    

                    and paste the following lines

                    59 05 * * *     /usr/bin/vcgencmd display_power 1
                    09 23 * * *     /usr/bin/vcgencmd display_power 0
                    

                    Exit and save.
                    The first line turns the monitor ON at 05:59 and the second line turns if OFF at 23:09. Modify according to needs.

                    Reboot your pi and enjoy!

                    1 Reply Last reply Reply Quote 1
                    • I Offline
                      infamoustiggr
                      last edited by Feb 10, 2017, 4:45 PM

                      That is honestly amazing that you would take the time. Thanks!

                      A 1 Reply Last reply Feb 10, 2017, 5:13 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 1 / 3
                      1 / 3
                      • First post
                        8/28
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy