Code Monkey home page Code Monkey logo

smart-mirror's Introduction

Smart Mirror

Discord Chat Build Status

A voice controlled life automation hub, most commonly powered by the Raspberry Pi.

Installation

Quick installation for the Raspberry Pi 2+

curl -sL https://raw.githubusercontent.com/evancohen/smart-mirror/master/scripts/pi-install.sh | bash

Check out the documentation for more information:

Discord

A live chat to get help and discuss mirror related issues: https://discord.gg/EMb4ynW. Usually there are a few folks hanging around in the lobby, but if there arent you are probably better off filing an issue.

Development and Contributing

See the dev branch for features that are curently in development. If you would like to contribue please follow the contribution guidelines. To launch the mirror with a debug window attached use the following command:

npm start dev

you can also toggle the debug/developers window on/off, with the keyboard ctrl-ahift-i sequence on the smart-mirror screen

For more information see the Development and Contributing section of the documentation.

Current Feature Requests/Suggestions

Please use feathub.com to add Feature Requests and Suggestions. We also recommend looking through the already existing requests to help in ranking the most popular and useful Features to Smart-Mirror users.

[Feature Requests

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

andrewda avatar chr1s1 avatar chris-redbeed avatar dannyluu avatar dehlen avatar evancohen avatar flexage avatar frankmatheis avatar gerrymanoim avatar grantmagdanz avatar invincibleboris avatar joaopjt avatar joelhawksley avatar justbill2020 avatar krisaggio avatar kurtdb avatar l3d00m avatar lediodes avatar mdande avatar mojosoeun avatar nicolasmn avatar overfl0w11 avatar rabidaudio avatar sdetweil avatar shoaibuddin avatar shogan avatar tgeci avatar tnws avatar xsu1010 avatar yaydogan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smart-mirror's Issues

Weather

Weather is not looking ... how can i connect weather?

Equivalent project but on ReactJS

Hi Evan, i was really inspired by your project and rewrote one using ReactJS, if you don't mind me sharing the link here so that ReactJS folks can take a look at how it can be done.
React-mirror

Unable to install electron-prebuilt

I have followed the tutorial several times. It fails at the npm installs step with or without sudo.

Running RPI 2 B Jessie.

it fails at the electron-prebuilt install

Speech recognition doesn't work under electron

With a fresh checkout running under electron (npm start), annyang is not longer working. I am using a USB logitech webcam microphone for the input.

If I run the exact same set of files under chromium, the microphone and speech recognition work fine. Was there any configuration necessary under electron, alsa or asound to get electron to work?

Lose audio from 3.5mm jack when edited for usb mic

When I edit the files as suggested in issue #20 I lose audio from the 3.5mm jack. I have try all combinations of editing both files but I can't get them to work at the same time. Forcing it through raspi-config does not help either. Iv also tried mixer set numid=3 1 in Terminal. But both won't work at the same time.

Npm install

I'm getting the following error after performing the following cmds.

CD /*/smart-mirror
Npm install

Bash: npm: command not found

Does this only run in Chrome?

I'm currently using MIdori for my smart mirror, seems like this only works with Chrome? Is that correct? If so which version of chromium were you able to get working?

Displayed time is not correct

The time shown on the main page is always a couple of minutes behind the actual time for me. Using the voice command to get the time gives the correct time in the debug window however, so it looks as it is not updating correctly.

Search for function

This does not seem to work.

Is this a function that has actually been completed as yet? or something that is still in the works?

// Search images
AnnyangService.addCommand('Show me *term', function(term) {
console.debug("Showing", term);
});

I also can't see anything that relates to the functions of adding reminders.

Brilliant work thus far

mirror on laptop

My question might appear quite awkward but its because i dont anything about web development.

Thus i want to know, how can i use/run this project on my chrome browser(laptop) in windows without using raspberry.

Why dont you guys make a webpage/webapp like this http://vann.io/graveyard/smrt/# , it would get quite easy for newbies like me.

Mi-Light support?

Is it possible to add Mi-light as a cheap replacement of Philips Hue?

What browser should you use for this?

I havent been able to get it working with epiphany-browser which comes stock with raspbian-jessie.

When I try to use this demo link: https://evancohen.github.io/smart-mirror/ I dont get anything.

I figured thats a good sanity check. I have installed nodejs and npm and followed the github install instructions and after npm start I get this error:

[email protected] start /home/pi/smart-mirror
electron main.js

npm ERR! [email protected] start: electron main.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the smart-mirror package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! electron main.js
npm ERR! You can get their info via:
npm ERR! npm owner ls smart-mirror
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 4.1.13-v7+
npm ERR! command "/home/pi/node-v0.10.28-linux-arm-pi/bin/node" "/home/pi/node-v0.10.28-linux-arm-pi/bin/npm" "start"
npm ERR! cwd /home/pi/smart-mirror
npm ERR! node -v v0.10.28
npm ERR! npm -v 1.4.9
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/pi/smart-mirror/npm-debug.log
npm ERR! not ok code 0

2 or more users

Would be cool to have 2 or more users share the mirror but display different data from different calendars.... Any idea how to implement it?

Check e-mail

Would be nice to add under the calendar. Your latest 4-5 mails showing up.

Sound card

Hi Evan, which sound card did you use with Raspberry Pi for it to pick up sound and listen to you? Thanks!

Evan

I'm trying to get into contact with Evan. [email protected]

Please contact me. I think you'll be interested.

Face Detection!

Wouldn't it be nice that instead of showing a single comment all the time, mirror may show different comments and greet us based on the detected face.

Can you suggest me any method to so.

Moreover i would also like to "HOW TO USE PUSHBULLET API". Basically being a newbie i don't know how and where to add these api code.

please can you tell me about this in detail.

THANKS!!!

Set weather units to auto for international support

Shortcut for having full internationalization support for weather units is just to add units=auto GET parameter to forecast.io API call in weather-service.js. It then selects the relevant units automatically, based on geographic location.

Setting Weather Units to Auto Location

Hey there,

wondering if you could update/provide assistance on setting the units of the weather widget to go along with the geolocation that it is pulling?

I am in Aus and fahrenheit makes no sense to me lol

Create mobile configuration agent

There needs to be a way to better input configuration info into the mirror. Hosting a local Node server with an HTML page that would let you control temp units, time format, service keys, updates, etc. would be a great way to solve that problem.

Electron error when running npm start

I get an error when trying to run the npm start command. I've tried looking at other issues, but I still can't figure it out. From what I can tell, the electron-prebuilt install runs fine, but actually starting the mirror gives an error. It gives an error with and without sudo.

sudo npm install electron-prebuilt

[email protected] postinstall /home/pi/smart-mirror/node_modules/electron-prebuilt
node install.js

Downloading electron-v0.36.7-linux-arm.zip
[============================================>] 100.0% of 33.88 MB (496.34 kB/s)
[email protected] node_modules/electron-prebuilt
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])

npm start

[email protected] start /home/pi/smart-mirror
electron main.js

npm ERR! Linux 4.1.13-v7+
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v4.0.0
npm ERR! npm v2.14.2
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: electron main.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script 'electron main.js '.
npm ERR! This is most likely a problem with the smart-mirror package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! electron main.js
npm ERR! You can get their info via:
npm ERR! npm owner ls smart-mirror
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /home/pi/smart-mirror/npm-debug.log

npm version
{ 'smart-mirror': '0.0.1',
npm: '2.14.2',
ares: '1.10.1-DEV',
http_parser: '2.5.0',
modules: '46',
node: '4.0.0',
openssl: '1.0.2d',
uv: '1.7.3',
v8: '4.5.103.30',
zlib: '1.2.8' }

Thanks in advance for any help.

Ideas

Hey Evan,

just an idea... maybe it's possible to include Spotify (which is OpenSource!?) via VoiceRecognation...

Issues starting smart mirror

I'm having issues trying to start the smart mirror. Logs below if anyone can suggest any help?

pi@raspberrypi:~/smart-mirror $ npm install
pi@raspberrypi:~/smart-mirror $ npm start

> [email protected] start /home/pi/smart-mirror
> electron main.js


npm ERR! Linux 4.1.13-v7+
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v4.2.4
npm ERR! npm  v2.14.12
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: `electron main.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script 'electron main.js'.
npm ERR! This is most likely a problem with the smart-mirror package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     electron main.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls smart-mirror
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/pi/smart-mirror/npm-debug.log
pi@raspberrypi:~/smart-mirror $

npm-debug.log.txt

Are you open to enhancements?

I'm really new to github, but my impression is that the overarching approach here is code and idea sharing. I don't have a clue as to how I might suggest some things to you - and even though I had no exposure to angular.js yesterday, I've added some functionality that might have some value. I suspect it wouldn't have taken you long, but - eh, what do I know?

Also, your instructions appear to be written from the point of view of somebody who has some experience in Raspberry Pi's UNIX distro - I rewrote them for myself, but they are in a state such that I'd guess 95% of all RPi users could replicate the resultant functionality relatively quickly. Might that be of help? I know the community has an approach of "learn how to do it and we'll support you through Q&A" but sometimes one just want some quick results, without having to wade through esoterica of SSH, CSS, and the like.

Are you game for that? If not, I understand.

Thanks,

Lee

Ideas

How about syncing your smartphone notifications and displaying it on the mirror? I think that would make the mirror really "smart".
I am kinda beginner, and don't know how to push these notifications to the httpserver , so it would be nice if you are integrating it(if u like the idea).

Make internationalization a possibility

I see a lot of questions passing where people ask: hey, how do I display my data like this or like that. (eg the weather format being in centigrade or kelvin)

Wouldn't it be a great possibility if we put the configuration of that stuff in the config.js? That way it will become the only file people who want to use the software will have to look at. (unless they want to hack it, in which case they should be encouraged to also use the same approach)

I did a quick try by trying to standardize the way the dates (and the time) are formatted.for my calendar integration, but didn't get it to work yet. Might be looking further into this in the near future.

Configurable Mirror Localization

Have the mirror somehow either ask in what language you'd like it to be or just figure it out automatically via the coordinates.

electron not found/install issues

Hey evan, So I got npm installed on my pi, but when I ran the "npm start" I get a whole slew of errors the first of which reads "sh: 1: electron: not found"

The rest of the error prompt is as follows:
npm ERR! [email protected] start: 'electron main,js'
npm ERR! Exit status 127
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the smart-mirror package,
npm ERR! not with npm itself.
npm ERR! Error: EACCES, open ' npm-debug.log'
npm ERR! { [Error: EACCES, open 'npm-debug.log'] errno: 3, code: 'EACCES' : 'npm-debug.log; }

npm ERR! System Linux 4.1.7-v7+
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "start"
npm ERR! cwd /git/smart-mirror
npm ERR! node -v v0.10.29
npm ERR! cod ELIFECYCLE
npm WARN This failure might be due to the use of legacy binary "node"
npm ERR! npm -v 1.4.21
npm ERR! path npm-debug.log
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open 'npm-debug.log'

I know it is a bit overkill to put the whole error prompt but i don't see why it would hurt. Anything helps. Thanks in advance

Lights

Just out of curiosity, how did you go about hooking up the system to your house lights/changing colors? Would love to do something similar.

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.