Magic Mirror - content.instructables.com

14
instructables Magic Mirror by khinds10 Wall Based Magic Mirror for Current Weather & Time Display Step 1: Flashing RaspberriPi Hard Disk / Install Required Software (Using Ubuntu Linux) Magic Mirror: Page 1

Transcript of Magic Mirror - content.instructables.com

Page 1: Magic Mirror - content.instructables.com

instructables

Magic Mirror

by khinds10

Wall Based Magic Mirror for Current Weather & Time Display

Step 1: Flashing RaspberriPi Hard Disk / Install Required Software (Using Ubuntu Linux)

Magic Mirror: Page 1

Page 2: Magic Mirror - content.instructables.com

Download "RASPBIAN JESSIE LITE"https://www.raspberrypi.org/downloads/raspbian/

Create your new hard disk for DashboardPI

Insert the microSD to your computer via USB adapterand create the disk image using the dd command

Locate your inserted microSD card via the df -h

Magic Mirror: Page 2

Page 3: Magic Mirror - content.instructables.com

command, unmount it and create the disk image withthe disk copy dd command

$ df -h /dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678

$ umount /dev/sdb1

Caution: be sure the command is completelyaccurate, you can damage other disks with thiscommand

if=location of RASPBIAN JESSIE LITE image fileof=location of your microSD card

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.imgof=/dev/sdb (note: in this case, it's /dev/sdb,/dev/sdb1 was an existing factory partition on themicroSD) Setting up your RaspberriPi

Insert your new microSD card to the raspberrypi andpower it on with a monitor connected to the HDMIport

Login

user: pi pass: raspberry

Change your account password for security

sudo passwd pi

Enable RaspberriPi Advanced Options

sudo raspi-config

Choose: 1 Expand File System

9 Advanced Options

A2 Hostname change it to "MagicMirror"

A4 SSH Enable SSH Server

A7 I2C Enable i2c interface Enable the English/USKeyboard

sudo nano /etc/default/keyboard Change the followingline: XKBLAYOUT="us" Reboot PI for Keyboard

layout changes / file system resizing to take effect

$ sudo shutdown -r now Auto-Connect to your WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.confAdd the following lines to have your raspberrypiautomatically connect to your home WiFi (if yourwireless network is named "linksys" for example, inthe following example)

network={ ssid="linksys" psk="WIRELESSPASSWORD HERE" }

Reboot PI to connect to WiFi network

$ sudo shutdown -r now

Now that your PI is finally on the local network, youcan login remotely to it via SSH. But first you need toget the IP address it currently has.

$ ifconfig Look for "inet addr: 192.168.XXX.XXX" inthe following command's output for your PI's IPAddress Go to another machine and login to yourraspberrypi via ssh

$ ssh [email protected] Start Installing requiredpackages

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install vim git python-smbus i2c-toolspython-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev python-requests Update local timezone settings

$ sudo dpkg-reconfigure tzdata select your timezoneusing the interface Setup the simple directory lcommand [optional]

$ vi ~/.bashrc

add the following line:

$ alias l='ls -lh'

$ source ~/.bashrc

Magic Mirror: Page 3

Page 4: Magic Mirror - content.instructables.com

Fix VIM default syntax highlighting [optional]

$ sudo vi /etc/vim/vimrc

uncomment the following line:

syntax on DHT11 Install

$ cd ~

$ git clonehttps://github.com/adafruit/Adafruit_Python_DHT.g...

$ cd Adafruit_Python_DHT/

$ sudo python setup.py install

$ sudo python ez_setup.py

$ cd examples/

$ vi simpletest.py

Change the following line:

sensor = Adafruit_DHT.DHT11 Comment the line out

pin = 'P8_11' Uncomment the line and change the pinnumber to 16

pin = 16 Run the test

python simpletest.py

You should see a metric reading of Temp andHumidity displayed on the command line.

Step 2: Supplies Needed: 12" X 24" Acrylic See-Through Mirror, 3mm

Step 3: Supplies Needed: Balsa Wood Strips 0.125 X 0.5 Inches

Magic Mirror: Page 4

Page 5: Magic Mirror - content.instructables.com

Step 4: Supplies Needed: 12x24 Inch Black Picture Frame

Step 5: Supplies Needed: OLD Android Tablets (x2)

Magic Mirror: Page 5

Page 6: Magic Mirror - content.instructables.com

Step 6: Supplies Needed: DHT11 Humidistat

Step 7: Supplies Needed: RaspberriPi Zero (or Regular RaspberriPi Should Work)

Step 8: Build and Wire the Device

DHT11 Humidistat

VCC -> 5V

GND -> GND

DATA -> GPIO 16 / PIN 36

Magic Mirror: Page 6

Page 7: Magic Mirror - content.instructables.com

Step 9: 3D Print Brackets

In the /construction folder of the project 3D print the following attachments to build the picture frame borders andtablet holders.

Print the Following Tablet Holders:

tablet-mounts.stl

Print the Following Frame Corner blocks and balsa wood attachments:

mirror-corner-blocks.stl

mirror-corners.stl

mirror-sides.stl

Magic Mirror: Page 7

Page 8: Magic Mirror - content.instructables.com

Step 10: Assembly

Gather together the frame balsa wood strips and the 3D printed attachments

Magic Mirror: Page 8

Page 9: Magic Mirror - content.instructables.com

Step 11: Assembly (cont.)

Assemble the balsawood strips inside the corner brackets (sliding the balsawood through the side brackets, makesure they're square against the corners of the picture frame. Paint everything black with spray paint.

Magic Mirror: Page 9

Page 10: Magic Mirror - content.instructables.com

Step 12: Assembly (cont.)

Screw the corners to the 4 corner blocks to hold the frame together.

Step 13: Assembly (cont.)

Attach the tablets and Raspberry PiZero to the wood to eventually fix to the wall.

Magic Mirror: Page 10

Page 11: Magic Mirror - content.instructables.com

Step 14: Assembly (cont.)

Attach to the wall the board. (Note the 2 screws on the top left and right, they will be used to hold up the pictureframe with frame border attached to place in front of the tablets to shine through the mirror)

Magic Mirror: Page 11

Page 12: Magic Mirror - content.instructables.com

Step 15: Finish Assembly

Finally replace the cardboard piece inside the picture frame with a two way mirror and on each corner of thepicture frame screw into the corner (3D printed) blocks to hold the picture frame to the frame border.

Magic Mirror: Page 12

Page 13: Magic Mirror - content.instructables.com

Magic Mirror: Page 13

Page 14: Magic Mirror - content.instructables.com

Step 16: Software Required

Create the Device Hub Project hosted on a PHPenabled webhost of your choice for the top tabletto get data

https://github.com/khinds10/DeviceHub

Create Weather Tablet Project for the bottomtablet

https://github.com/khinds10/WeatherTablet

Setup Startup Scripts, Temp Logger to API scripteach 3 minutes

In the raspberrypi folder of the project copy thesettings.shadown.py file to settings.py with the hostfile of the DeviceHub project above you have setup.

$ crontab -e Add the following lines:

*/3 * * * * python/home/pi//MagicMirror/raspberrypi/temp-check.py

Verify the display starts working on reboot

$ sudo reboot

Create the tablet clock website

Create a PHP enabled website online with thecontents of the "tablet" folder in this project.

Configure the website: In the "tablet/server" folder ofthe project, copy the config.shadow.php file to a filenamed "config.php" Edit the "config.php" configurethe $deviceHubAPI value to point to the device hub ofyour choosing from the referenced project above(https://github.com/khinds10/DeviceHub)

Example Apache2 Configuration File for the tabletclock PHP website

DocumentRoot /var/www/tablet ServerNamemyclocktablet.com [email protected] ErrorLog${APACHE_LOG_DIR}/error-clock-tablet.logCustomLog ${APACHE_LOG_DIR}/access-clock-tablet.log combined Options FollowSymLinksAllowOverride All Require all granted

FINISHED!

Magic Mirror: Page 14