MagicMirror² v2.12.0 is available! For more information about this release, check out this topic.

Struggling with Pi0



  • I am determined to get MM running on this Pi0, but I have gotten stuck. I have everything installed and when I run ‘npm start’, it looks to me like the server is starting correctly. I go to the Chromium browser and try ‘localhost:8080’, but it doesn’t connect. I also tried 0.0.0.0:8080, but it performs a websearch.

    I go into the GUI, then MM file and click index.html and I get a black screen.

    I can post code output if necessary, but I am hoping I am just doing something wrong and stupid.

    Thanks in advance and Happy New Year!



  • This post is deleted!


  • That would be great. Thanks!

    What is the correct way see the display? Is it the browser with the localhost:8080 address?

    Thanks again for the help.



  • I believe the issue is that there are elements of nodejs that don’t get installed correctly using npm on the pi zero. Attached is a shell script that should do it from a fresh Raspbian Stretch Install. I put all the files in the home directory (~) and it all distributes itself from there by running RaspberryPi0.sh
    Let me know if that helps!

    [3_1546385331101_startMagicMirror.sh](Uploading 100%) [2_1546385331101_RaspberryPi0.sh](Uploading 100%) [1_1546385331100_pm2_MagicMirror.json](Uploading 100%) [0_1546385331099_chromium_start.sh](Uploading 100%)



  • I don’t know if those files uploaded…

    startMagicMirror.sh: EDIT: I uploaded the wrong code just for this file; changes are a semi colon after line 2 and at the end of line 4; plus the directory has changed from
    /home/pi/chromium_start.sh to /home/pi/MagicMirror/PiZero/chromium_start.sh in line 5

    #!/bin/bash
    cd ~/MagicMirror;
    node serveronly &
    sleep 30;
    sh /home/pi/MagicMirror/PiZero/chromium_start.sh
    

    chromium_start.sh

    #!/bin/sh
    unclutter &
    chromium-browser --start-fullscreen --app http://localhost:8080
    

    pm2_MagicMirror.json

    {
      "apps" : [{
        "name"        : "MagicMirror",
        "script"      : "~/MagicMirror/PiZero/startMagicMirror.sh",
        "watch"       : ["/home/pi/MagicMirror/config/config.js"]
      }]
    }
    
    

    RaspberryPi0.sh

    #!/bin/bash
    #Pi Zero Install, largely plagiarised from MagicMirror2's raspberry.sh shell script for Pi2 and Pi3
    echo 'Updating Pi'
    sudo apt-get update;
    echo 'Upgrading Pi'
    sudo apt-get upgrade;
    sudo apt-get upgrade --fix-missing;
    
    echo 'Downloading node v11.6.0'
    curl -o node-v11.6.0-linux-armv6l.tar.gz  https://nodejs.org/dist/v11.6.0/node-v11.6.0-linux-armv6l.tar.gz; #Most up to date recent version
    echo 'Extracting node v11.6.0'
    tar -xzf node-v11.6.0-linux-armv6l.tar.gz; # extract files
    echo 'Extracting node and npm'
    
    cd node-v11.6.0-linux-armv6l/;
    sudo cp -R * /usr/local/;
    cd ~;
    sudo apt install git; sudo apt install unclutter;
    echo 'Cloning Magic Mirror'
    
    git clone https://github.com/MichMich/MagicMirror;
    cd MagicMirror;
    echo 'Installing Magic Mirror Dependencies'
    npx npmc@latest install; npm install acorn@latest; npm install stylelint@latest; npm audit fix;
    echo 'Loading default config'
    
    # Use sample config for start MagicMirror
    cp config/config.js.sample config/config.js;
    
    #Set the splash screen to be magic mirror
    THEME_DIR="/usr/share/plymouth/themes"
    sudo mkdir $THEME_DIR/MagicMirror
    sudo cp ~/MagicMirror/splashscreen/splash.png $THEME_DIR/MagicMirror/splash.png && sudo cp ~/MagicMirror/splashscreen/MagicMirror.plymouth $THEME_DIR/MagicMirror/MagicMirror.plymouth && sudo cp ~/MagicMirror/splashscreen/MagicMirror.script $THEME_DIR/MagicMirror/MagicMirror.script; 
    sudo plymouth-set-default-theme -R MagicMirror; 
    mkdir ~/MagicMirror/PiZero;
    sudo mv ~/startMagicMirror.sh ~/MagicMirror/PiZero/startMagicMirror.sh;
    sudo mv ~/pm2_MagicMirror.json ~/MagicMirror/PiZero/pm2_MagicMirror.json;
    sudo mv ~/chromium_start.sh ~/MagicMirror/PiZero/chromium_start.sh;
    sudo chmod a+x ~/MagicMirror/PiZero/startMagicMirror.sh;
    sudo chmod a+x ~/MagicMirror/PiZero/pm2_MagicMirror.json;
    sudo chmod a+x ~/MagicMirror/PiZero/chromium_start.sh;
    
    # Use pm2 control like a service MagicMirror
    sudo npm install -g pm2;
    sudo su -c "env PATH=$PATH:/usr/bin pm2 startup systemd -u pi --hp /home/pi";
    pm2 start /MagicMirror/PiZero/pm2_MagicMirror.json;
    pm2 save;
    echo 'Magic Mirror should begin shortly'
    

    Takes about an hour depending on how up to date your Raspbian image is… I haven’t silenced/run any of the things in the background so you might get a couple of prompts where you just have to press enter (normally during the apt-get upgrade phase)



  • I will give this a try. Thanks for your help!



  • no worries. if you want to have a bit more control over it, you can execute each line of RaspberryPi0.sh (minus the echo requests) directly in the terminal.



  • @rgatlin Did that work for you?

    if now working, can you mark the post as solved please 🙂


Log in to reply