Read the statement by Michael Teeuw here.
Raspberry Pi Zero W for Magic Mirror
-
@davidgagne there are more commands after npm init
-
@sdetweil Ah. I see that. But … I don’t think the Jeopardy module is the main problem here. I’d prefer to simply remove that and try to get back to where I can even get MM to run in the first place; then I’ll screw around with adding modules. As it is I still can’t get MM to even run at all (plus all the restarts).
-
@sdetweil Am I wrong about this? It actually appears that ‘electron’ is the missing module. But that’s not in /modules it’s in /js … Do I follow the same
npm initsteps to get it? -
@davidgagne no the electron missing is a problem in MagicMirror code…
hang on…
-
@davidgagne ok, lets clean up and restart
all command line commands
pm2 flush (to get clear out the old logs) pm2 status cd ~/MagicMirror npm startall show work… and if you loaded the missing library in the MMM-Jeopardy module then all should be ok.
then ctrl-q on the MM screen should stop it
then
pm2 restart 0and MM should come back up
-
@sdetweil Okay! I’m doing this right now and will keep you posted. THANK YOU AGAIN.
-
`@sdetweil Sadly that didn’t seem to work at all.
pm2 flushgave me:[PM2] Spawning PM2 daemon with pm2_home=/home/dvg/.pm2 [PM2] PM2 Successfully daemonized [PM2] Flushing /home/dvg/.pm2/pm2.log [PM2] Logs flushedThen
pm2 statusgave me:┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤ │ 0 │ MagicMirror │ fork │ 0 │ online │ 23.3% │ 40.3mb │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘Then I did
cd ~/MagicMirror/and rannpm startwhich 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 installedThis all seemed pointless, but I ran
pm2 restart 0anyway 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.
-
@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
-
@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
-
@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. :-)
-
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!
- Flash card with Legacy 32-bit.
- 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.
- Remove chromium with:
sudo apt-get remove chromium-browser sudo apt autoremove - Add Firefox with:
sudo apt-get update sudo apt-get install firefox-esr - Enable VNC using GUI (Interface Options):
sudo raspi-config - Connect via TigerVNC (Apple app)
- 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 - Execute fix'em-up script:
bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/fixuppm2.sh)" -
cd ~/MagicMirror/ pm2 start MagicMirror -
sudo reboot
Note: On my Pi Zero W it takes a solid ten minutes from reboot to actually seeing MM output via HDMI.
-
@davidgagne thanks.
5 and 6 are optional
as 7 can be done with nano over sshscroll down with keyboard arrow keys hit enter to add a line type the export line ctrl-x to exit nano, yes to save contents8 and 9 over ssh
9 pm2 can be run from any folder location -
@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?
-
@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 uiif there is a problem, I’ll fix it. I’ll setup my 3b later.
-
@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.
-
-
@davidgagne Wow, your summary above is just amazing! This is exactly what I was looking for.
Can you comment on why the choice of legacy OS was selected? Is there some kind of tradeoff that is being made here?
-
@capedbuffethero the pi0 is older armv6l processor, it can only run 32 bit mode. the memory is small on pi0,
everything that doesn’t fit in memory causes swapping, to the sd card. pi0 has the older slower sd chip.
so, use the legacy 32 bit image to reduce the footprint
-
@capedbuffethero Thanks! Please upvote if you found it valuable. I’m fairly new here and trying to improve my rep so all my posts aren’t held for moderation. :)
-
@davidgagne It appears I need 1 reputation to upvote.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login