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.

    Raspberry Pi Zero W for Magic Mirror

    Scheduled Pinned Locked Moved Hardware
    73 Posts 8 Posters 42.8k Views 9 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.
    • D Offline
      davidgagne @sdetweil
      last edited by

      @sdetweil Okay! I’m doing this right now and will keep you posted. THANK YOU AGAIN.

      1 Reply Last reply Reply Quote 0
      • D Offline
        davidgagne @sdetweil
        last edited by

        `@sdetweil Sadly that didn’t seem to work at all.

        pm2 flush gave me:

        [PM2] Spawning PM2 daemon with pm2_home=/home/dvg/.pm2
        [PM2] PM2 Successfully daemonized
        [PM2] Flushing /home/dvg/.pm2/pm2.log
        [PM2] Logs flushed
        

        Then pm2 status gave me:

        ┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
        │ id │ name               │ mode     │ ↺    │ status    │ cpu      │ memory   │
        ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
        │ 0  │ MagicMirror        │ fork     │ 0    │ online    │ 23.3%    │ 40.3mb   │
        └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
        

        Then I did cd ~/MagicMirror/ and ran npm start which spit out this:

        > magicmirror@2.27.0 start
        > ./run-start.sh $1
        
        [2024-05-29 23:08:58.949] [LOG] Starting MagicMirror: v2.27.0
        [2024-05-29 23:08:59.437] [LOG] Loading config ...
        [2024-05-29 23:08:59.497] [LOG] config template file not exists, no envsubst
        [2024-05-29 23:09:07.135] [LOG] Loading module helpers ...
        [2024-05-29 23:09:07.356] [LOG] No helper found for module: alert.
        [2024-05-29 23:09:36.395] [LOG] Initializing new module helper ...
        [2024-05-29 23:09:36.558] [LOG] Module helper loaded: updatenotification
        [2024-05-29 23:09:36.688] [LOG] No helper found for module: clock.
        [2024-05-29 23:10:00.038] [LOG] Initializing new module helper ...
        [2024-05-29 23:10:00.109] [LOG] Module helper loaded: calendar
        [2024-05-29 23:10:00.684] [ERROR] Whoops! There was an uncaught exception... 
        [2024-05-29 23:10:01.570] [ERROR] Error: Cannot find module 'request'
        Require stack:
        - /home/dvg/MagicMirror/modules/MMM-JEOPARDY/node_helper.js
        - /home/dvg/MagicMirror/js/app.js
        - /home/dvg/MagicMirror/serveronly/index.js
            at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
            at Module._resolveFilename (/home/dvg/MagicMirror/node_modules/module-alias/index.js:49:29)
            at Module._load (node:internal/modules/cjs/loader:901:27)
            at Module.require (node:internal/modules/cjs/loader:1115:19)
            at require (node:internal/modules/helpers:130:18)
            at Object.<anonymous> (/home/dvg/MagicMirror/modules/MMM-JEOPARDY/node_helper.js:8:17)
            at Module._compile (node:internal/modules/cjs/loader:1241:14)
            at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
            at Module.load (node:internal/modules/cjs/loader:1091:32)
            at Module._load (node:internal/modules/cjs/loader:938:12)
            at Module.require (node:internal/modules/cjs/loader:1115:19)
            at require (node:internal/modules/helpers:130:18)
            at loadModule (/home/dvg/MagicMirror/js/app.js:183:19)
            at loadModules (/home/dvg/MagicMirror/js/app.js:213:10)
            at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
            at async App.start (/home/dvg/MagicMirror/js/app.js:261:3) {
          code: 'MODULE_NOT_FOUND',
          requireStack: [
            '/home/dvg/MagicMirror/modules/MMM-JEOPARDY/node_helper.js',
            '/home/dvg/MagicMirror/js/app.js',
            '/home/dvg/MagicMirror/serveronly/index.js'
          ]
        } 
        [2024-05-29 23:10:01.664] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? 
        [2024-05-29 23:10:01.745] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MagicMirrorOrg/MagicMirror/issues 
        [2024-05-29 23:12:53.308] [INFO] System information:
        ### SYSTEM: manufacturer: Raspberry Pi Foundation; model: Raspberry Pi Zero W Rev 1.1; raspberry: [object Object]; virtual: false
        ### OS: platform: linux; distro: Raspbian GNU/Linux; release: 11; arch: arm; kernel: 6.1.21+
        ### VERSIONS: electron: undefined; used node: 20.8.0; installed node: 20.8.0; npm: 10.1.0; pm2: 5.4.0
        ### OTHER: timeZone: America/New_York; ELECTRON_ENABLE_GPU: undefined
        Starting chromium browser now, have patience, it takes a minute
        Chromium_browser not installed
        

        This all seemed pointless, but I ran pm2 restart 0 anyway and got this:

        Use --update-env to update environment variables
        [PM2] Applying action restartProcessId on app [0](ids: [ '0' ])
        [PM2] [MagicMirror](0) ✓
        ┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
        │ id │ name               │ mode     │ ↺    │ status    │ cpu      │ memory   │
        ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
        │ 0  │ MagicMirror        │ fork     │ 47   │ online    │ 0%       │ 23.5mb   │
        └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
        

        At this point I’m going to give up and go back to square one and flash the drive again and start over. Ugh.

        S 1 Reply Last reply Reply Quote 0
        • S Offline
          sdetweil @davidgagne
          last edited by

          @davidgagne said in Raspberry Pi Zero W for Magic Mirror:

          024-05-29 23:10:01.570] [ERROR] Error: Cannot find module ‘request’
          Require stack:

          • /home/dvg/MagicMirror/modules/MMM-JEOPARDY/node_helper.js

          no… just fix the MMM-Jeopardy module as I suggested yesterday

          two steps
          you only did 1

          … the more concerning part is that pm2 didn’t get setup as a service and start on boot… i haven’t looked at the log yet

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          S D 2 Replies Last reply Reply Quote 0
          • S Offline
            sdetweil @sdetweil
            last edited by

            @davidgagne the install log looks good…

            don’t know what is going on… will have to think on it while I sleep…

            time to rest… til tomorrow

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            1 Reply Last reply Reply Quote 0
            • D Offline
              davidgagne @sdetweil
              last edited by

              @sdetweil I understand what you’re saying about fixing the Jeopardy module, but I really think that’s secondary to not getting MM to run in the first place (and it not starting as a service on boot). Once I get MM running reliably in the first place I will play around with modules. :-)

              1 Reply Last reply Reply Quote 0
              • D Offline
                davidgagne
                last edited by

                How to Get MagicMirror to Run on a Raspberry Pi Zero W Rev 1.1

                Late-May 2024

                Huge thanks to @sdetweil for all his help!


                1. Flash card with Legacy 32-bit.
                2. Connect via ssh to run script:
                  bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)"
                  

                  Answer yes to disable screen saver and use pm2 questions.

                3. Remove chromium with:
                  sudo apt-get remove chromium-browser
                  sudo apt autoremove
                  
                4. Add Firefox with:
                  sudo apt-get update
                  sudo apt-get install firefox-esr
                  
                5. Enable VNC using GUI (Interface Options):

                  sudo raspi-config

                6. Connect via TigerVNC (Apple app)
                7. Edit installers/mm.sh via VNC using Pi's baked-in text editor by adding:
                  cd ~/MagicMirror
                  export external_browser=firefox
                  DISPLAY=:0 npm start
                  
                8. Execute fix'em-up script:
                  bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/fixuppm2.sh)"
                  
                9. cd ~/MagicMirror/
                  pm2 start MagicMirror
                  
                10. sudo reboot

                Note: On my Pi Zero W it takes a solid ten minutes from reboot to actually seeing MM output via HDMI.

                S C plainbrokeP 4 Replies Last reply Reply Quote 1
                • S Offline
                  sdetweil @davidgagne
                  last edited by sdetweil

                  @davidgagne thanks.

                  5 and 6 are optional
                  as 7 can be done with nano over ssh

                     scroll down with keyboard arrow keys
                     hit enter to add a line
                     type the export line
                     ctrl-x to exit nano, yes to save contents
                  

                  8 and 9 over ssh
                  9 pm2 can be run from any folder location

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  D 1 Reply Last reply Reply Quote 0
                  • D Offline
                    davidgagne @sdetweil
                    last edited by

                    @sdetweil Is there any reason why this same procedure would not work on a 3B+? I’ve tried with multiple different versions of the OS but it always seems to get stuck on “Updating packages …” and – as far as I can tell – there’s nothing meaningful in install.log. Is this install script unique to the Zero W?

                    S 1 Reply Last reply Reply Quote 0
                    • S Offline
                      sdetweil @davidgagne
                      last edited by

                      @davidgagne no. the script works of any Debian based os. pi0 is SLOOOOOW…
                      but pi 3b+ should be ok. there should be a moving <-> while it’s updating… (haven’t figured out how to make that stand out more)

                      the script is doing apt get update, apt upgrade . this could take a while based on how much change since distro was released. over wifi, nothing I can do to speed it up.

                      I’ve tested on all the pi models. except the pi 1.
                      on odroid, Jetson nano, a chrome box and book running linux and a bunch of x86 distros., and macos Intel and arm.
                      I also tested on my arm chromebook, with the extra Ubuntu installed. install worked and server mode worked. no ui

                      if there is a problem, I’ll fix it. I’ll setup my 3b later.

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      D 1 Reply Last reply Reply Quote 0
                      • D Offline
                        davidgagne @sdetweil
                        last edited by

                        @sdetweil Right. That’s my confusion. I have been able to run the script a dozen (or more) times on the Zero W, but it always fails on the 3B+, which I had assumed would be faster / better than the Zero W.

                        S 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6
                        • 7
                        • 8
                        • 5 / 8
                        • First post
                          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