Difference between revisions of "Raspberry Pi MagicMirror"
m |
|||
(13 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | Materials | + | == Materials == |
− | 1x USB Female to Female | + | * 1x USB Female to Female |
− | 1x MicroSD with adapter | + | * 1x MicroSD with adapter |
− | 1x Element 10 LCD | + | * 1x Element 10 LCD |
− | 1x Element 10 power | + | * 1x Element 10 power |
− | 1x custom wooden frame | + | * 1x custom wooden frame |
− | 1x document frame with glass (11"x8.5") | + | * 1x document frame with glass (11"x8.5") |
− | 1x 12"x12" privacy mirror film | + | * 1x 12"x12" privacy mirror film |
− | 2x self tapping screw | + | * 2x self tapping screw |
− | Supplies | + | == Supplies == |
− | Sandpaper (for fitting the glass) | + | * Sandpaper (for fitting the glass) |
− | Adhesive (for adhering the glass to the frame) | + | * Adhesive (for adhering the glass to the frame) |
− | Tools | + | == Tools == |
− | Screw driver with phillips head (to remove screws on Element 10 LCD case | + | * Screw driver with phillips head (to remove screws on Element 10 LCD case |
− | Powered drill | + | * Powered drill |
− | 1/16" bit for pilot hole | + | * 1/16" bit for pilot hole |
+ | = Directions = | ||
− | Step 1 | + | == Step 1: Gather materials & select work area== |
− | Gather your materials and select a work area, each work area should have a screw driver and drill | + | * Gather your materials and select a work area, each work area should have a screw driver and drill |
− | Step 2 | + | == Step 2: Unpack the frame== |
− | Unpackage the glass from the document frame, discard frame (unless you want to keep it) | + | * Unpackage the glass from the document frame, discard frame (unless you want to keep it) |
− | With your wooden frame, fit the glass in and if necessary use sandpaper to make a perfect fit by sanding any edges that prevent it full sitting in the lip | + | * With your wooden frame, fit the glass in and if necessary use sandpaper to make a perfect fit by sanding any edges that prevent it full sitting in the lip |
− | Set the glass aside and be careful not to break it. You may want to label it with your name | + | * Set the glass aside and be careful not to break it. You may want to label it with your name |
− | Step 3: Disassemble the LCD from the frame | + | == Step 3: Disassemble the LCD from the frame == |
− | Remove 4 screws from the back of the frame then pry off the plastic casing. | + | * Remove 4 screws from the back of the frame then pry off the plastic casing. |
− | Remove 2 screws from the top of the LCD (where the green circuit board isn't), save the se 2 screws | + | * Remove 2 screws from the top of the LCD (where the green circuit board isn't), save the se 2 screws |
− | Remove 5 screws from the green circuit board to uncover 2 addition screws in brackets for the LCD identical to the top. | + | * Remove 5 screws from the green circuit board to uncover 2 addition screws in brackets for the LCD identical to the top. |
− | Remove 2 screws from the plastic case and the LCD should now pop out. | + | * Remove 2 screws from the plastic case and the LCD should now pop out. |
− | Add the 5 screws back to the circuit board connecting it to the LCD | + | * Add the 5 screws back to the circuit board connecting it to the LCD |
− | Remove the USB like device in the circuit board that says "CONNECT TO WUSB" | + | * Remove the USB like device in the circuit board that says "CONNECT TO WUSB" |
− | Step 4: Attach the LCD to the wood frame | + | == Step 4: Attach the LCD to the wood frame == |
− | Pre drill pilot holes with the drill and small bit by placing the LCD tabs at the top of the frame (note 2 tabs are inaccessible due to the green circuit boards) | + | * Pre drill pilot holes with the drill and small bit by placing the LCD tabs at the top of the frame (note 2 tabs are inaccessible due to the green circuit boards) |
− | The top of the frame with the 2 notched out areas we will call the top from this point forward | + | * The top of the frame with the 2 notched out areas we will call the top from this point forward |
− | With the 2 self tapping screws, screw these with a hand screw driver, angling slightly toward the top of the frame | + | * With the 2 self tapping screws, screw these with a hand screw driver, angling slightly toward the top of the frame |
− | The LCD can now freely hang from the wood frame | + | * The LCD can now freely hang from the wood frame |
− | Step 5: Connect your Pi to the LCD | + | == Step 5: Connect your Pi to the LCD == |
− | Move into the classroom for this step, take your laptop, LCD, frame, power supply and USB Cable | + | * Move into the classroom for this step, take your laptop, LCD, frame, power supply and USB Cable |
− | Connect your Pi to the ethernet and a USB cord from the Pi to the LCD in the port that is labeled "CONNECT TO WUSB" | + | * Connect your Pi to the ethernet and a USB cord from the Pi to the LCD in the port that is labeled "CONNECT TO WUSB" |
− | Connect your Pi to a power source | + | * Connect your Pi to a power source |
− | The Pi should now boot and you should see the Pi desktop | + | * The Pi should now boot and you should see the Pi desktop |
− | You should see that the desktop is inverted and we need to login and change that in the next step | + | * You should see that the desktop is inverted and we need to login and change that in the next step |
− | Step 6: Configuring the Pi | + | == Step 6: Configuring the Pi == |
− | You can connect with a keyboard and mouse directly to the Pi or you can connect from any other computer | + | * You can connect with a keyboard and mouse directly to the Pi or you can connect from any other computer |
− | With the Pi powered on you should see the IP address at the top right of the stats on the desktop, note the IP address under the mispelled "Eithernet" that should say Ethernet | + | * With the Pi powered on you should see the IP address at the top right of the stats on the desktop, note the IP address under the mispelled "Eithernet" that should say Ethernet |
− | On your desktop with a SSH client such as the MacOS built in Terminal (click on search and type in TERMINAL to load it) or PUTTY on Windows (ChromeOS you may want to Google) | + | * On your desktop with a SSH client such as the MacOS built in Terminal (click on search and type in TERMINAL to load it) or PUTTY on Windows (ChromeOS you may want to Google) |
type the following to connect to the Pi | type the following to connect to the Pi | ||
− | ssh pi@[IP ADDRESS | + | |
+ | <code>ssh pi@[IP ADDRESS] </code> | ||
+ | |||
+ | Example: | ||
+ | |||
+ | <code>ssh 10.0.0.7</code> | ||
+ | |||
Type YES If prompted that you want to connect | Type YES If prompted that you want to connect | ||
− | Password when prompted: magicmirror | + | |
+ | Password when prompted: | ||
+ | |||
+ | <code>'''Password:''' magicmirror</code> | ||
+ | |||
You are now connected to your Pi | You are now connected to your Pi | ||
Line 64: | Line 75: | ||
Common linux commands we will use | Common linux commands we will use | ||
− | |||
− | |||
− | |||
− | sudo XXXX super user do where XXXX is the command you want to run as a different user | + | <code>cd XXXX</code>: change directory XXXX where XXXX is the folder you want to |
+ | <code>mkdir XXXX</code> make directory XXXX where XXXX is the folder you want to create | ||
+ | <code>cd ..</code> change directory to one directory above | ||
+ | |||
+ | <code>sudo XXXX</code> super user do where XXXX is the command you want to run as a different user | ||
+ | |||
+ | <code>sudo !!</code> [read as sudo bang bang] saves you time by executing the previous command as sudo | ||
+ | |||
+ | <code>ls list</code> | ||
− | + | <code>ls -l</code> list with details | |
− | |||
− | ls -l list with details | ||
− | nano the program that we'll use to edit text | + | <code>nano XXXX</code> '''nano''' the program that we'll use to edit text where XXXX is the name of the file to edit or create (if it doesn't exist) |
+ | |||
+ | === Editing Conky, the information that is displayed on the Pi's desktop === | ||
+ | to edit the 'misspelled ethernet' on the main page, type | ||
+ | |||
+ | <code>nano ~/.conkyrc </code> | ||
+ | |||
+ | '''Note''' that anything that starts with a '''#''' is commented and the computer doesn't do anything with that line, so you can always type notes to yourself | ||
+ | |||
+ | <code>#The computer ignores this because it starts with a pound/hash tag sign</code> | ||
− | |||
− | |||
− | |||
Let's change the update interval from 2.0 seconds to 5.0 seconds and note how the display flashes with updates every 5 seconds instead of every 2 | Let's change the update interval from 2.0 seconds to 5.0 seconds and note how the display flashes with updates every 5 seconds instead of every 2 | ||
− | Once edited from 2.0 to 5.0 press CONTROL + O to save the file to | + | |
− | An error should appear! We should have started this with sudo | + | Once edited from 2.0 to 5.0 press <code>CONTROL + O</code> to save the file to '''O'''utput |
− | Type CONTROL + X to exit, you will be prompted to save the output, press N for No to discard changes | + | |
+ | An error should appear! We should have started this with <code>sudo</code> | ||
+ | |||
+ | Type <code>CONTROL + X</code> to exit, you will be prompted to save the output, press N for No to discard changes | ||
now you can type either | now you can type either | ||
− | sudo nano ~/.conkyrc | + | |
+ | <code>sudo nano ~/.conkyrc </code> | ||
+ | |||
or the shortcut is | or the shortcut is | ||
− | sudo !! | + | |
− | The editor should open, make the same changes and press CONTROL + O to output, you should see a confirmation, press ENTER | + | <code>sudo !!</code> |
− | Go back into the file and change the update_interval to 2.0 instead of 5.0 | + | |
+ | The editor should open, make the same changes and press <code>CONTROL + O</code> to output, you should see a confirmation, press ENTER | ||
+ | Go back into the file and change the | ||
+ | |||
+ | <code>update_interval</code> to 2.0 instead of 5.0 | ||
+ | |||
CONTROL + W is a search feature for "where is" type Eithernet (it is case sensitive) and press enter; correct this spelling to Ethernet | CONTROL + W is a search feature for "where is" type Eithernet (it is case sensitive) and press enter; correct this spelling to Ethernet | ||
− | Output your file, save and exit (CONTROL + O, enter, CONTROL + X) | + | Output your file, save and exit (<code>CONTROL + O</code>, enter, <code>CONTROL + X</code>) |
You should now be back at the terminal screen and our Pi should be updated correctly | You should now be back at the terminal screen and our Pi should be updated correctly | ||
Line 96: | Line 126: | ||
To start the magic mirror program, change to the MagicMirror directory created for you already before arrival by typing | To start the magic mirror program, change to the MagicMirror directory created for you already before arrival by typing | ||
To see where you are anytime, type | To see where you are anytime, type | ||
− | pwd | + | |
+ | <code>pwd</code> | ||
+ | |||
as in Print Working Directory | as in Print Working Directory | ||
type ls to see a listing of the files | type ls to see a listing of the files | ||
type ls -l to see a listing with details | type ls -l to see a listing with details | ||
you should be in an area that lists common folders such as Music, Documents and you should see one named MagicMirror, enter that folder by typing | you should be in an area that lists common folders such as Music, Documents and you should see one named MagicMirror, enter that folder by typing | ||
− | cd MagicMirror | + | |
− | Note: linux and the Raspberry Pi | + | <code>cd MagicMirror</code> |
− | type | + | |
− | type | + | Note: linux and the '''text in Raspberry Pi is case sensitive''', so pay attention |
+ | type the following to see a list of the files | ||
+ | |||
+ | <code>ls </code> | ||
+ | |||
+ | type the following to see a listing with details | ||
+ | <code>ls -l</code> | ||
To begin the MagicMirror program | To begin the MagicMirror program | ||
+ | <code>DISPLAY=:0 nohup npm start &</code> | ||
+ | Look at your display and in about 15 seconds your first screen should appear, but it is upside down in the frame! Let's fix that! | ||
+ | We don't quite have enough ability to stop the Magic Mirror, so let's restart the Raspberry Pi by typing the following | ||
+ | sudo shutdown -r now | ||
+ | Read as "super user shutdown hyphen r now" with r being the restart option | ||
+ | You will now lose connection to the Raspberry Pi, in about 1 minute, log back into the Pi by typing | ||
+ | <code>ssh pi@X.X.X.X </code> | ||
+ | from our first attempt at connecting to the Pi from Terminal or PUTTY, enter your password then return, type pwd to see the working directory where you are | ||
+ | |||
+ | Step 7: Rotating the screen | ||
+ | |||
+ | When logged back into the Pi, type the following to edit the monitor preferences | ||
+ | |||
+ | <code>sudo nano /usr/share/X11/xorg.conf.d/60-pluggable.conf </code> | ||
+ | |||
+ | You will see the following | ||
+ | <code> | ||
+ | Section "Device" | ||
+ | Identifier "displaylink device" | ||
+ | driver "fbdev" | ||
+ | Option "fbdev" "/dev/fb1" | ||
+ | Option "ShadowFB" "off" | ||
+ | EndSection | ||
+ | </code> | ||
+ | |||
+ | Add the following before the '<code>EndSection</code>' as a new line | ||
+ | |||
+ | <code> Option "rotate" "UD"</code> | ||
+ | |||
+ | What you're doing here is telling the screen to rotate up down | ||
+ | |||
+ | It should now read as | ||
+ | |||
+ | <code> | ||
+ | Section "Device" | ||
+ | Identifier "displaylink device" | ||
+ | driver "fbdev" | ||
+ | Option "fbdev" "/dev/fb1" | ||
+ | Option "ShadowFB" "off" | ||
+ | '''Option "rotate" "UD"''' | ||
+ | EndSection | ||
+ | </code> | ||
+ | |||
+ | Save the file by pressing <code>CONTROL + O</code>, then <code>CONTROL + X</code> | ||
+ | Restart the Pi by typing | ||
+ | |||
+ | <code>sudo shutdown -r now</code> | ||
+ | |||
+ | == Step 8: Really starting the MagicMirror == | ||
+ | Now let's get started with the MagicMirror | ||
+ | |||
+ | Further Documentation can be found for your review after the class by visiting | ||
+ | https://github.com/MichMich/MagicMirror | ||
+ | |||
+ | Change directories to the MagicMirror/config directory by typing | ||
+ | |||
+ | <code>cd MagicMirror</code> | ||
+ | |||
+ | To see the folders & files type | ||
+ | |||
+ | <code>ls</code> | ||
+ | |||
+ | Change directories to the config folder | ||
+ | |||
+ | <code>cd config</code> | ||
+ | |||
+ | To see the folders & files type | ||
+ | |||
+ | <code>ls</code> | ||
+ | |||
+ | The previous directions when we started said we needed to copy the config.js.sample to our own config.js file; to do this type | ||
+ | |||
+ | <code>cp config.js.sample config.js</code> | ||
+ | |||
+ | go back to the MagicMirror folder by typing | ||
+ | |||
+ | <code>cd ..</code> | ||
+ | now start the MagicMirror and you should see a correctly oriented time, date, etc. | ||
+ | |||
+ | <code>DISPLAY=:0 nohup npm start &</code> | ||
+ | |||
+ | == Step 9: Editing the display == | ||
+ | Let's display LVL1's upcoming events so you never miss another workshop like Arduino 101 or Raspberry Pi 101 | ||
+ | Find a calendar you like, maybe your own, maybe an organization's. | ||
+ | To find a calendar of your own or a public one like LVL1: In Google Calendar, click on the arrow to the right of LVL1 and select Calendar Settings | ||
+ | <code>https://calendar.google.com/calendar/ical/1n5qvjga6i4t6lde35vq5dg8ds%40group.calendar.google.com/public/basic.ics</code> | ||
+ | Under Calendar Address, grab the ICAL link by right clicking and select copy link address | ||
+ | Find the calendar module back in your Terminal window and opening up the config.js file we created by navigating to MagicMirror/Config | ||
+ | |||
+ | <code>cd MagicMirror | ||
+ | |||
+ | cd config | ||
+ | |||
+ | sudo nano config.js | ||
+ | </code> | ||
+ | Use your arrow keys to scroll down until you find the area for module: 'calendar' | ||
+ | Here you'll see an area called calendars with a URL as an attribute | ||
+ | Edit the <code>url: 'webcal://www.calendarlabs.com/templates.....'</code> to the link you copied or the LVL1 one listed below; you can go to the end and press backspace or be in front of the text and deleted out everything inside of the two apostrophes '' so that it only says | ||
+ | url: '' | ||
+ | and the make it | ||
+ | <code>url: 'YOUR STUFF PASTED HERE KEEP THE APOSTROPHES'</code> | ||
+ | |||
+ | Save, exit & restart the MagicMirror program | ||
+ | <code>CONTROL + O | ||
+ | CONTROL + X | ||
DISPLAY=:0 nohup npm start & | DISPLAY=:0 nohup npm start & | ||
− | + | </code> | |
− | + | ||
+ | Your magic mirror should now bring in this new calendar! | ||
+ | |||
+ | So what's next? That's up to you, see documentation here: | ||
+ | https://github.com/MichMich/MagicMirror | ||
+ | Modules & more info: | ||
+ | https://magicmirror.builders/ and click on Modules at the top to see documentation | ||
+ | |||
+ | Show your skills: | ||
+ | For this new calendar, instead of it saying US Holidays, make it say something more reflective of the calendar you selected to display | ||
+ | For this new calendar instead of the relative time until the events, make it say the time by adding a new property to the calendar that changes it from the default of relative (IE: 2 days away) to 'absolute' | ||
+ | Review some of the 3rd party items and install one to see how you can write your own or bring in someone else's module | ||
+ | |||
+ | |||
+ | |||
+ | == Step X: Make and adhere your 2 way mirror to the frame == | ||
+ | Homework Part 1: Autostarting the MagicMirror | ||
+ | https://github.com/MichMich/MagicMirror/wiki/Auto-Starting-MagicMirror | ||
− | + | [[Category:HOWTO]] |
Latest revision as of 19:55, 19 February 2019
Contents
- 1 Materials
- 2 Supplies
- 3 Tools
- 4 Directions
- 4.1 Step 1: Gather materials & select work area
- 4.2 Step 2: Unpack the frame
- 4.3 Step 3: Disassemble the LCD from the frame
- 4.4 Step 4: Attach the LCD to the wood frame
- 4.5 Step 5: Connect your Pi to the LCD
- 4.6 Step 6: Configuring the Pi
- 4.7 Step 8: Really starting the MagicMirror
- 4.8 Step 9: Editing the display
- 4.9 Step X: Make and adhere your 2 way mirror to the frame
Materials
- 1x USB Female to Female
- 1x MicroSD with adapter
- 1x Element 10 LCD
- 1x Element 10 power
- 1x custom wooden frame
- 1x document frame with glass (11"x8.5")
- 1x 12"x12" privacy mirror film
- 2x self tapping screw
Supplies
- Sandpaper (for fitting the glass)
- Adhesive (for adhering the glass to the frame)
Tools
- Screw driver with phillips head (to remove screws on Element 10 LCD case
- Powered drill
- 1/16" bit for pilot hole
Directions
Step 1: Gather materials & select work area
- Gather your materials and select a work area, each work area should have a screw driver and drill
Step 2: Unpack the frame
- Unpackage the glass from the document frame, discard frame (unless you want to keep it)
- With your wooden frame, fit the glass in and if necessary use sandpaper to make a perfect fit by sanding any edges that prevent it full sitting in the lip
- Set the glass aside and be careful not to break it. You may want to label it with your name
Step 3: Disassemble the LCD from the frame
- Remove 4 screws from the back of the frame then pry off the plastic casing.
- Remove 2 screws from the top of the LCD (where the green circuit board isn't), save the se 2 screws
- Remove 5 screws from the green circuit board to uncover 2 addition screws in brackets for the LCD identical to the top.
- Remove 2 screws from the plastic case and the LCD should now pop out.
- Add the 5 screws back to the circuit board connecting it to the LCD
- Remove the USB like device in the circuit board that says "CONNECT TO WUSB"
Step 4: Attach the LCD to the wood frame
- Pre drill pilot holes with the drill and small bit by placing the LCD tabs at the top of the frame (note 2 tabs are inaccessible due to the green circuit boards)
- The top of the frame with the 2 notched out areas we will call the top from this point forward
- With the 2 self tapping screws, screw these with a hand screw driver, angling slightly toward the top of the frame
- The LCD can now freely hang from the wood frame
Step 5: Connect your Pi to the LCD
- Move into the classroom for this step, take your laptop, LCD, frame, power supply and USB Cable
- Connect your Pi to the ethernet and a USB cord from the Pi to the LCD in the port that is labeled "CONNECT TO WUSB"
- Connect your Pi to a power source
- The Pi should now boot and you should see the Pi desktop
- You should see that the desktop is inverted and we need to login and change that in the next step
Step 6: Configuring the Pi
- You can connect with a keyboard and mouse directly to the Pi or you can connect from any other computer
- With the Pi powered on you should see the IP address at the top right of the stats on the desktop, note the IP address under the mispelled "Eithernet" that should say Ethernet
- On your desktop with a SSH client such as the MacOS built in Terminal (click on search and type in TERMINAL to load it) or PUTTY on Windows (ChromeOS you may want to Google)
type the following to connect to the Pi
ssh pi@[IP ADDRESS]
Example:
ssh 10.0.0.7
Type YES If prompted that you want to connect
Password when prompted:
Password: magicmirror
You are now connected to your Pi
This terminal window allows you to copy and paste commands from this tutorial
Common linux commands we will use
cd XXXX
: change directory XXXX where XXXX is the folder you want to
mkdir XXXX
make directory XXXX where XXXX is the folder you want to create
cd ..
change directory to one directory above
sudo XXXX
super user do where XXXX is the command you want to run as a different user
sudo !!
[read as sudo bang bang] saves you time by executing the previous command as sudo
ls list
ls -l
list with details
nano XXXX
nano the program that we'll use to edit text where XXXX is the name of the file to edit or create (if it doesn't exist)
Editing Conky, the information that is displayed on the Pi's desktop
to edit the 'misspelled ethernet' on the main page, type
nano ~/.conkyrc
Note that anything that starts with a # is commented and the computer doesn't do anything with that line, so you can always type notes to yourself
#The computer ignores this because it starts with a pound/hash tag sign
Let's change the update interval from 2.0 seconds to 5.0 seconds and note how the display flashes with updates every 5 seconds instead of every 2
Once edited from 2.0 to 5.0 press CONTROL + O
to save the file to Output
An error should appear! We should have started this with sudo
Type CONTROL + X
to exit, you will be prompted to save the output, press N for No to discard changes
now you can type either
sudo nano ~/.conkyrc
or the shortcut is
sudo !!
The editor should open, make the same changes and press CONTROL + O
to output, you should see a confirmation, press ENTER
Go back into the file and change the
update_interval
to 2.0 instead of 5.0
CONTROL + W is a search feature for "where is" type Eithernet (it is case sensitive) and press enter; correct this spelling to Ethernet
Output your file, save and exit (CONTROL + O
, enter, CONTROL + X
)
You should now be back at the terminal screen and our Pi should be updated correctly
Step 7: Displaying your first magic mirror To start the magic mirror program, change to the MagicMirror directory created for you already before arrival by typing To see where you are anytime, type
pwd
as in Print Working Directory type ls to see a listing of the files type ls -l to see a listing with details you should be in an area that lists common folders such as Music, Documents and you should see one named MagicMirror, enter that folder by typing
cd MagicMirror
Note: linux and the text in Raspberry Pi is case sensitive, so pay attention type the following to see a list of the files
ls
type the following to see a listing with details
ls -l
To begin the MagicMirror program
DISPLAY=:0 nohup npm start &
Look at your display and in about 15 seconds your first screen should appear, but it is upside down in the frame! Let's fix that!
We don't quite have enough ability to stop the Magic Mirror, so let's restart the Raspberry Pi by typing the following
sudo shutdown -r now
Read as "super user shutdown hyphen r now" with r being the restart option
You will now lose connection to the Raspberry Pi, in about 1 minute, log back into the Pi by typing
ssh pi@X.X.X.X
from our first attempt at connecting to the Pi from Terminal or PUTTY, enter your password then return, type pwd to see the working directory where you are
Step 7: Rotating the screen
When logged back into the Pi, type the following to edit the monitor preferences
sudo nano /usr/share/X11/xorg.conf.d/60-pluggable.conf
You will see the following
Section "Device"
Identifier "displaylink device"
driver "fbdev"
Option "fbdev" "/dev/fb1"
Option "ShadowFB" "off"
EndSection
Add the following before the 'EndSection
' as a new line
Option "rotate" "UD"
What you're doing here is telling the screen to rotate up down
It should now read as
Section "Device"
Identifier "displaylink device"
driver "fbdev"
Option "fbdev" "/dev/fb1"
Option "ShadowFB" "off"
Option "rotate" "UD"
EndSection
Save the file by pressing CONTROL + O
, then CONTROL + X
Restart the Pi by typing
sudo shutdown -r now
Step 8: Really starting the MagicMirror
Now let's get started with the MagicMirror
Further Documentation can be found for your review after the class by visiting https://github.com/MichMich/MagicMirror
Change directories to the MagicMirror/config directory by typing
cd MagicMirror
To see the folders & files type
ls
Change directories to the config folder
cd config
To see the folders & files type
ls
The previous directions when we started said we needed to copy the config.js.sample to our own config.js file; to do this type
cp config.js.sample config.js
go back to the MagicMirror folder by typing
cd ..
now start the MagicMirror and you should see a correctly oriented time, date, etc.
DISPLAY=:0 nohup npm start &
Step 9: Editing the display
Let's display LVL1's upcoming events so you never miss another workshop like Arduino 101 or Raspberry Pi 101
Find a calendar you like, maybe your own, maybe an organization's.
To find a calendar of your own or a public one like LVL1: In Google Calendar, click on the arrow to the right of LVL1 and select Calendar Settings
https://calendar.google.com/calendar/ical/1n5qvjga6i4t6lde35vq5dg8ds%40group.calendar.google.com/public/basic.ics
Under Calendar Address, grab the ICAL link by right clicking and select copy link address
Find the calendar module back in your Terminal window and opening up the config.js file we created by navigating to MagicMirror/Config
cd MagicMirror
cd config
sudo nano config.js
Use your arrow keys to scroll down until you find the area for module: 'calendar'
Here you'll see an area called calendars with a URL as an attribute
Edit the url: 'webcal://www.calendarlabs.com/templates.....'
to the link you copied or the LVL1 one listed below; you can go to the end and press backspace or be in front of the text and deleted out everything inside of the two apostrophes so that it only says
url:
and the make it
url: 'YOUR STUFF PASTED HERE KEEP THE APOSTROPHES'
Save, exit & restart the MagicMirror program
CONTROL + O
CONTROL + X
DISPLAY=:0 nohup npm start &
Your magic mirror should now bring in this new calendar!
So what's next? That's up to you, see documentation here: https://github.com/MichMich/MagicMirror Modules & more info: https://magicmirror.builders/ and click on Modules at the top to see documentation
Show your skills: For this new calendar, instead of it saying US Holidays, make it say something more reflective of the calendar you selected to display For this new calendar instead of the relative time until the events, make it say the time by adding a new property to the calendar that changes it from the default of relative (IE: 2 days away) to 'absolute' Review some of the 3rd party items and install one to see how you can write your own or bring in someone else's module
Step X: Make and adhere your 2 way mirror to the frame
Homework Part 1: Autostarting the MagicMirror https://github.com/MichMich/MagicMirror/wiki/Auto-Starting-MagicMirror