Here are the pictures:
The frame
The frame mounted
The frame mounted with everything in it
Shot from the right
Shot from the left
Main Mirror
Other Mirror
Here are the pictures:
The frame
The frame mounted
The frame mounted with everything in it
Shot from the right
Shot from the left
Main Mirror
Other Mirror
Hi all,
Normally I don’t post a lot on forums…but I was so impressed by the Magic Mirror and thought I would share my (almost) final result so it can help others create their Magic Mirror.
I was looking for something completely different (how can I turn on the screen of my wall mounted Windows Tablets via Motion Detection) when I found the Magic Mirror and thought “WTF is this?! This is really cool! I need to get one now! Oh crap, it’s 2am…well let’s find out what I need and get everything tomorrow and build it!”.
This mirror is actually “version 2”, “version 1” was mounted in an Ikea poster frame and was not deep enough to mount everything in it, but I wanted to get some experience and still put the foil on it etc., the only thing was that 30min after hanging it on the wall, “version 1” came off the wall completely…fortunately the 23" screen was still fine, and because I was 100% sure I wanted to have this, I sat down and created a better one, one that actually stays on the wall!
Version 2 was actually really easy to built:
What parts did I need:
The only real issues I had setting everything up (which I’ve read, others also experienced this), were:
So…what modules do I use (on the latest Raspbian Jessie):
calendar_monthly
MagicMirror-QuoteCatalog
MMM-Carousel
MMM-cryptocurrency
MMM-domoticz
MMM-Globe
MMM-Hue
MMM-KeyBindings
MMM-MirrorMirrorOnTheWall
MMM-MovieListings
MMM-MyCommute
MMM-NetworkScanner
MMM-ping
MMM-rainfc
MMM-Scrobbler
MMM-soccer
MMM-syslog
MMM-WunderGround
worldclock
I have setup the MMM-MirrorMirrorOnTheWall Skill which works fine, but I am also running Domoticz to control and monitor basically everything in my house and I am using HA Bridge so Alexa can talk to Domoticz to execute scripts etc. So, I have created a little script so I can also say things like “Alexa, turn on main/other mirror” or “Alexa, turn on/off camera 1/2” (Alexa talks to HA Bridge, HA Bridge talks to Domoticz, Domoticz executes the script (in this case it SSH into the Mirror and execute the script below)):
#!/bin/sh
if [ $1 = "on1" ]
then
DISPLAY=:0.0 /usr/bin/chromium-browser --kiosk 'http://192.168.1.30:8081' &
elif [ $1 = "on2" ]
then
DISPLAY=:0.0 /usr/bin/chromium-browser --kiosk 'http://192.168.1.31:8081' &
elif [ $1 = "off" ]
then
DISPLAY=:0.0 xdotool key ALT+F4
elif [ $1 = "rotate" ]
then
DISPLAY=:0.0 xdotool key Right
elif [ $1 = "main" ]
then
DISPLAY=:0.0 xdotool key Home
else
echo "No option specified, Exiting..."
fi
exit
And here is a script I created to reinstall everything quickly for testing purposes:
#!/bin/sh
cd ~
bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)"
echo "Copying config files..."
cp ~/Documents/config.js ~/MagicMirror/config/
cp ~/Documents/custom.css ~/MagicMirror/css/
cd ~
echo "Installing Carousel and KeyBindings..."
cd ~/MagicMirror/modules/
git clone https://github.com/shbatm/MMM-Carousel.git
git clone https://github.com/shbatm/MMM-KeyBindings
cd ~/MagicMirror/modules/
echo "Installing My Commute and Soccer..."
git clone https://github.com/jclarke0000/MMM-MyCommute.git
cd MMM-MyCommute && npm install
cd ~/MagicMirror/modules/
git clone https://github.com/fewieden/MMM-soccer.git
cd MMM-soccer && npm install
echo "Installing WorldClock, Monthly Calendar and QuoteCatalog..."
cd ~/MagicMirror/modules/
git clone https://github.com/eouia/worldclock
git clone https://github.com/KirAsh4/calendar_monthly
git clone https://github.com/salpar/MagicMirror-QuoteCatalog.git
cd MagicMirror-QuoteCatalog && npm install
echo "Installing Domoticz, Globe and Hue..."
mkdir ~/MagicMirror/modules/MMM-domoticz
cd ~/MagicMirror/modules/MMM-domoticz
git clone https://github.com/M-Arvidsson/MMM-domoticz.git domoticz
cd ~/MagicMirror/modules/
git clone https://github.com/LukeSkywalker92/MMM-Globe.git
git clone https://github.com/MitchSS/MMM-Hue.git
echo "Installing CryptoCurrency and MovieListings..."
git clone https://github.com/matteodanelli/MMM-cryptocurrency.git
git clone https://github.com/Tueti/MMM-MovieListings.git
cd MMM-MovieListings && npm install
cd ~/MagicMirror/modules/
echo "Installing Wunderground, SysLog and RainForcast..."
git clone https://github.com/RedNax67/MMM-WunderGround.git
git clone https://github.com/paviro/MMM-syslog.git
git clone https://github.com/73cirdan/MMM-rainfc
echo "Installing SystemStatus and Network Scanner..."
git clone https://github.com/fewieden/MMM-ping.git
cd MMM-ping && npm install --productive
sudo chmod u+s /bin/ping
cd ~/MagicMirror/modules/
git clone https://github.com/ianperrin/MMM-NetworkScanner.git
cd MMM-NetworkScanner && npm install
echo "Installing Mirror Mirror On the Wall Skill..."
cp -R ~/MirrorMirrorOnTheWallSkill/MMM-MirrorMirrorOnTheWall/ ~/MagicMirror/modules/
cd ~
echo
echo "Now Reboot and everything should be working..."
echo
exit
I got my custom.css from here My First Magic Mirror, thanks @slametps .
And I made some small changes in the following files to get all the CSS working perfectly fine together:
I will post some pictures off my Magic Mirror in the 2nd post and I will post my full config.js file (without private info) in the 3rd post, otherwise this post will really be too long!
Okay, this is it! I think I now gave you guys enough info to build an exact replica
@MichMich Wat een geweldig project, thanks!
@raywo said in [MMM-NowPlayingOnSpotify] – Display the currently on Spotify playing song:
@marcnlx Awesome idea! Maybe you can add a screenshot.
Sure, here you go.
@yawns said in My Magic Mirror - 100x70cm:
I’m impressed. A nice and clean build, well written documentation, some nice pictures to look at and everything with markups and such. Very well done, this is how more Showrooms should look like
Thanks! If you know how many hours I spent “extra” on my laptop because of not so well written documentation, no markups and such…I thought I would save everybody some time
Awesome module! I use it in fullscreen_below which creates a nice effect!
I did change the css a little (added margin-left and changed width to 90% for the album cover because this looks nicer with my custom.css), but this is really a great module.
@yawns You are correct. It’s mounted directly on top of the frame.
I didn’t notice heat is really a problem, except a little bit for the monitor board…although it now has way more room to let air out then when the back part of the monitor was still on it!
I was thinking about drilling some holes in the top of the frame to let the hot air out. There is also a small gap between the frame and the wall itself. On the RPi you can monitor temp as follows:
pi@mirror:~ $ vcgencmd measure_temp
temp=54.7'C
pi@mirror:~ $
I use a small script that shows temperature, but also shows it in Domoticz and sends a Telegram notification if the temperature gets too high:
pi@mirror:~ $ ./myscripts/rpitemp.sh
Raspberry Pi Temperature (domoticz) is 54.6 °C
pi@mirror:~ $ cat ./myscripts/rpitemp.sh
#!/bin/sh
domoticzip=192.168.1.12
user=xxxx
pass=xxxx
tempidx=204
maxtemp=70
RED='\033[0;31m'
NC='\033[0m'
val_temp=`vcgencmd measure_temp | cut -c 6-9`
val_temp2=`vcgencmd measure_temp | cut -c 6-9 | cut -c 1-2`
curl -s 'http://'$user':'$pass'@'$domoticzip'/json.htm?type=command¶m=udevice&idx='$tempidx'&nvalue=0&svalue='$val_temp'' > /dev/null
if [ $val_temp2 -gt $maxtemp ]; then
echo "${RED}Raspberry Pi Temperature ($(hostname)) is $val_temp °C ${NC}"
curl -s -X POST "https://api.telegram.org/botxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sendMessage" -F chat_id=xxxxxxxx -F text="Raspberry Pi Temperature ($(hostname)) is $val_temp °C"
else
echo "Raspberry Pi Temperature ($(hostname)) is $val_temp °C"
fi
exit
pi@mirror:~ $