Magic Mirror 2.0¶
To be honest, it's not my first time building a Magic Mirror project. My first magicmirror can be found here. The Magic Mirror 2.0 is based on Raspberry Pi 4 with Docker Container.
magicmirror.builders official website.
khassel's magicmirror docker image documentation website.
The Build Process¶
I had dead iMac 2011 27" with 2k display. I've managed to use it's LCD panel with this product from AliExpress. It actually a full controller for the specific LCD panel, including the inverter for backlight. Basically, it's a full-fledged LCD Monitor with HDMI we need for the Raspberry Pi 4.
I've decided to test the controller for the LCD Panel inside the original iMac's body.
I've connected raspberry to the new monitor for the magicmirror testing and configuration.
Since my previous experience with my first magicmirror build, I've decided to add a Motion Sensor to the Raspberry Pi to detect the movement of the person infront of the mirror and turn the display on/off accordingly.
The second thing i've added is a Power Button to turn the Raspberry Pi on, off and restart it without a physical access to the Raspberry Pi.
I couldn't find any open source projects for the functionality I needed of the power button and the Motion Sensor. So I've decided to create my own solution. Bellow are the scripts that I've created:
Thats how i've tested the functionality of the power button and the motion sensor.
I've order a reflective glass with 4 holes for mounting. It was a challenge to find a suitable reflective glass for the MagicMirror. The product I've found is not perfect - the glass is tinted, but it's a good enough solution and way better then Glass Mirror Films I've used on my first Magic Mirror Project.
After I've done all the
proof of concepts that every thing will work as i intended, I've continue to build the frame to house all the components.
I've used scrap wood I had laying around to build the frame and the mounting for the LCD panel, and the glass
For mounting the Magic Mirror to the wall i've used the smallest TV Mount I've found.
After the frame is built, I've added the electronics to the frame.
Performing senity check on the electronics, and display assembly.
Since I when on the
floating effect the glass isn't covering the all the frame, all the exposed parts of the glass are needed to be covered to avoid light leaking.
And the final Magic Mirror on the wall.
The magicmiror is based on MagicMirror project. running on docker on Raspberry OS.
Below the docker compose file for your reference.
version: '3' services: magicmirror: image: karsten13/magicmirror container_name: magicmirror hostname: magicmirror restart: always ports: - 80:8080 volumes: - ./config:/opt/magic_mirror/config - ./modules:/opt/magic_mirror/modules - ./css:/opt/magic_mirror/css - /tmp/.X11-unix:/tmp/.X11-unix - /opt/vc:/opt/vc/:ro - /sys:/sys - /usr/bin/vcgencmd:/usr/bin/vcgencmd - /etc/localtime:/etc/localtime devices: - /dev/vchiq environment: - LD_LIBRARY_PATH=/opt/vc/lib - DISPLAY=unix:0.0 - TZ=Asia/Jerusalem - SET_CONTAINER_TIMEZONE=true - CONTAINER_TIMEZONE=Asia/Jerusalem shm_size: '1024mb' command: - npm - run - start