GithubHelp home page GithubHelp logo

buttlerblake / smart-mirror Goto Github PK

View Code? Open in Web Editor NEW

This project forked from evancohen/smart-mirror

0.0 1.0 0.0 4.79 MB

:milky_way: The fairest of them all

Home Page: http://smart-mirror.io

CSS 37.33% HTML 6.47% JavaScript 56.20%

smart-mirror's Introduction

Smart Mirror

Join the chat at https://gitter.im/evancohen/smart-mirror

This project was inspired by HomeMirror and Michael Teeuw's Magic Mirror. It uses annyang for voice interactivity, electron to make it cross platform, and integrates with Philips Hue. It is my own take on what a "smart mirror" can be.

See it in action (Video)

Why start from scratch?

Starting from scratch was less about other projects not being good enough and more about my own learning experience. While I did get a lot of inspiration from other projects I really wanted to see how much further I could take things.

Gitter:

A live chat to get help and discuss mirror related issues: https://gitter.im/evancohen/smart-mirror. Usually there are a few folks hanging around in the lobby, but if there arent you are probubly better off filing an issue.

Getting Started

Hardware Components

  • Raspberry Pi 2**
  • USB Microphone (Or Webcam w/ microphone)
  • Monitor (with the bezel removed)
  • Mirror Pane (aka Observation Glass)
  • Philips Hue

** Also compatible with other Linux, Windows, and OSX devices. See the cordova branch for Android and iOS compatibility.

Installation

In order to get started I suggest a clean install of Raspbian. You can snag a fresh copy of Jessie (recommended, it's the future) or Wheezy from the Raspbian Download Page.

You'll also need to install Node (v4.0.0+) which now comes bundled with npm.

wget https://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-armv7l.tar.gz 
tar -xvf node-v4.0.0-linux-armv7l.tar.gz 
cd node-v4.0.0-linux-armv7l

Copy to /usr/local

sudo cp -R * /usr/local/
Getting the code

Next up you'll want to clone this repository into your user's home folder on your Pi:

cd ~
git clone https://github.com/evancohen/smart-mirror.git
Configuring the mirror

You'll need to fill in two things into js/config.js:

  1. A Forecast API key (don't worry it's free)
  2. Philips Hue Bridge IP address with a configured user. Details about how to set this up in the Philips Hue Developer Documentation
  3. [Optional] An array of iCal addresses (from your Google or Outlook calendar for example)

The format of your config should look something like this:

var FORCAST_API_KEY = "a6s5dg39j78qj38sjs91je9djadfa1e";
var HUE_BASE = "http://192.168.1.99/api/as9234ho0dfhoq01f2as3yh4m0/";
var PERSONAL_CALENDAR = ["https://calendar.google.com/calendar/ical/SOMESTUFF/basic.ics",
"https://outlook.office365.com/owa/calendar/SOMESTUFF/reachcalendar.ics"];
Configuring the Pi

In order to rotate your monitor you'll need to add the following line to /boot/config.txt

display_rotate=1

You can also set this value to '3' to have a flipped vertical orientation.

In order to disable the screensaver you'll want to comment out (with a '#') the @xscreensaver and @lxpanel lines in /etc/xdg/lxsession/LXDE/autostart. You'll also want to add the following lines to that same file

@xset s off
@xset -dpms
@xset s noblank
Install dependencies and run

Before we can run the thing we've got to install the projects dependencies. From the root of the smart-mirror directory run:

npm install

This will take a minute, it has to download electron-prebuilt. Once that is done you can launch the mirror with

npm start

Development

To launch the mirror with a debug window attached use the following command:

npm start dev

More info coming soon(ish). In the meantime head over to the gitter chat for help.

Troubleshooting

If you are having trouble getting a USB microphone to work on your Pi try following these steps

License

MIT

Author

Evan Cohen

More info

Favicon from In the Wake of the King, a head nod to The Watcher โ€“ "A byblow of the king and a queen of the sea, she has remained apart from the workings of her family, more home beneath the waves, watching all through water and mirror. Her ambitions lie outside the Eternal Kingdom, but her secrets are valuable everywhere."

Awesome.

smart-mirror's People

Contributors

akyla1991 avatar andrewda avatar evancohen avatar gerrymanoim avatar gitter-badger avatar juanbrujo avatar kylefrost avatar mojosoeun avatar tnws avatar yaydogan avatar

Watchers

 avatar

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.