Coder Social home page Coder Social logo

dcwestra / mm-wall-calendar-setup Goto Github PK

View Code? Open in Web Editor NEW
21.0 6.0 1.0 82 KB

My custom set up for my magic mirror dashboard wall calendar

License: MIT License

JavaScript 74.01% CSS 25.99%
magic-mirror-config magic-mirror-modules magic-mirror-tutorial magicmirror magicmirror-config magicmirror-module magicmirror2 magic-mirror-css magicmirror-css

mm-wall-calendar-setup's Introduction

Wall Calendar Configuration for MagicMirror

My custom set up for my magic mirror dashboard wall calendar on Pi Zero 2W

29FF0B60-9DDB-4495-9144-485B64C2ED63

Many asked for a step by step guide for how I created my set-up. So here it is. I did use a fair number of other tutorials, so I will not repeat their work and will link to their steps when needed. I will make it as beginner friendly as possible.

1) Install full GUI OS on your raspberry pi.

  • I personally recommend DietPi because its light weight and has great CLI menus to set everything up.
  • DietPi starts headless but the initial set-up process for DietPi will run you through CLI menus that will give you the option to install different GUIs depending on your need. I chose the lightest weight option, which is LXDE.
  • If not using a Pi Zero or Zero 2, skip to step 3.

2) If using a Pi Zero 2 W, ssh in for install steps and overclock using

sudo dietpi-config

Then navigate the menu to performance options > overclocking > high

  • Overclocking helps ensure the MagicMirror install and subsequent reboots doesn't overwhelm and freeze the Pi Zero 2. Once installed, you can bring the overclocking back down.
  • The CPU on both the Pi Zero and Zero2 are powerful enough to run the software. The issue is the ammount of ram. It fills too quickly and memory swap is used. Overclocking helps it complete this process faster, preventing freezing and hang ups.

3) Install manually with this automated script:

bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)"
  • some tutorials have you add in an script for auto-start. Current versions of this script from sdetweil include that start up, so its not needed.
  • I know running pre configured scripts is sus, but this guy does a lot of development and support for MagicMirror, so he is credible and trustworthy.

4) navigate to the modules folder:

cd ~/MagicMirror/modules

5) Install MMM-CalendarExt2.

git clone --depth=1 https://github.com/MMM-CalendarExt2/MMM-CalendarExt2
cd MMM-CalendarExt2
npm install

6) Install MMM-MicrosoftToDo

DO THIS FIRST: follow the install guide carefully. There is a lot of prep work, but it does work. When it says to name the app, just call it Magic Mirror.

cd ~/MagicMirror/modules
git clone https://github.com/thobach/MMM-MicrosoftToDo.git
cd MMM-MicrosoftToDo && npm install

7) Replace the config.js file and custom.css file

  • config.js needs to go into ~MagicMirror/config

    • be sure to replace and update certain module settings like your calendar URLS, weather location, newfeeds, and the microsoft to do configurations
  • custom.css needs to go into ~/MagicMirror/css

    • browse the code and make any changes you would like. Most of the code should have comments on how to customize.
    • This is also the folder your wallpaper can be saved in and pull from.
  • The easiest way to get wall paper is with the wget command. Dont forget to update the url below to the wallpaper image you want.

cd ~/MagicMirror/css
wget WALLPAPER.URL
  • as an added hint/bonus, you can use your own pictures by uploading them to a cloud service like google drive, dropbox, etc and then downloading them

8) You are now ready to start MagicMirror with this command:

cd ~/MagicMirror && pm2 start MagicMirror

9) I also set a schedule for turning the output to the monitor on and off through crontab. This way the monitor automatically turns off when I am sleeping.

crontab -e

Then add this at the bottom:

0 22 * * * export DISPLAY=:0.0 && xrandr --output HDMI-1 --off  (Turns the monitor off)
0 6 * * * export DISPLAY=:0.0 && xrandr --output HDMI-1 --auto  (Turns the monitor on)

Note: If testing the display on and off through SSH with this modified command:

export DISPLAY=:0.0 xhost + && xrandr --output HDMI-1 --off
export DISPLAY=:0.0 xhost + && xrandr --output HDMI-1 --auto
  • Because we are running the commands locally through crontab 'xhost +' is not needed.

10) Added optimization for running minimally, you will need to edit and update the mm.sh file:

  • copied from sdetweil (seriously, trust this guy).

Especially low powered devices like the Pi Zero W might struggle running MagicMirror with the Chromium browser. A simpler browser like Midori might be a good alternative in this case. To switch to using the Midori browser change the MagicMirror/installers/mm.sh file to include the external_browser variable like:

cd ~/MagicMirror
export external_browser=midori
DISPLAY=:0 npm start

Let me know if you have any questions and I will elaborate.

Thanks!

mm-wall-calendar-setup's People

Contributors

dcwestra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

manahan45

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.