smart-mirror
The fairest of them all. A DIY voice controlled smart mirror with IoT integration.
Top Related Projects
MagicMirror² is an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant.
Quick Overview
Smart Mirror is an open-source project that turns a two-way mirror into an interactive display. It provides a customizable interface for displaying information such as weather, calendar events, news, and more, creating a futuristic and functional mirror experience.
Pros
- Highly customizable with various modules and themes
- Active community support and regular updates
- Compatible with Raspberry Pi and other low-cost hardware
- Voice control capabilities for hands-free interaction
Cons
- Requires some technical knowledge for setup and customization
- Hardware costs can add up (mirror, display, Raspberry Pi, etc.)
- May require periodic maintenance and updates
- Limited to indoor use due to hardware constraints
Code Examples
// Example of adding a custom module
(function() {
'use strict';
Module.register("mymodule", {
defaults: {
text: "Hello World!"
},
getDom: function() {
var wrapper = document.createElement("div");
wrapper.innerHTML = this.config.text;
return wrapper;
}
});
})();
// Example of configuring modules in config.js
{
module: 'clock',
position: 'top_left'
},
{
module: 'calendar',
position: 'top_left',
config: {
calendars: [
{
symbol: 'calendar-check',
url: 'webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics'
}
]
}
}
// Example of using voice commands
{
module: "MMM-voice",
position: "bottom_bar",
config: {
commands: {
"show weather": {
moduleExec: {module: ["weather"], exec: "toggle"}
},
"hide weather": {
moduleExec: {module: ["weather"], exec: "toggle"}
}
}
}
}
Getting Started
-
Clone the repository:
git clone https://github.com/evancohen/smart-mirror.git
-
Install dependencies:
cd smart-mirror npm install
-
Configure your mirror by editing
config.js
:cp config.example.js config.js nano config.js
-
Start the application:
npm start
For detailed instructions, refer to the project's documentation on GitHub.
Competitor Comparisons
MagicMirror² is an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant.
Pros of MagicMirror
- Larger and more active community, resulting in more modules and frequent updates
- More comprehensive documentation and setup guides
- Better support for multiple languages and internationalization
Cons of MagicMirror
- Steeper learning curve for beginners due to its modular architecture
- Requires more system resources, which may impact performance on low-end devices
Code Comparison
MagicMirror uses a modular structure for its components:
Module.register("clock", {
getScripts: function() {
return ["moment.js"];
},
getDom: function() {
var element = document.createElement("div");
element.className = "time";
element.innerHTML = moment().format("HH:mm:ss");
return element;
}
});
Smart Mirror uses a more straightforward approach:
angular.module('SmartMirror')
.controller('Clock', function($scope, $timeout) {
var updateTime = function() {
$scope.date = new Date();
$timeout(updateTime, 1000);
}
updateTime();
});
Both projects aim to create customizable smart mirror interfaces, but MagicMirror offers more flexibility and community support, while Smart Mirror provides a simpler setup for beginners.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Smart Mirror
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
Documentation
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.
License
MIT
Author
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.
Top Related Projects
MagicMirror² is an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot