MirrorOS is a new platform for smart mirrors built on Electron that focuses mainly in interactivity featuring voice commands and a smarthpone remote app. It runs web apps which are easy to build and has a set of APIs that developers can use to easily integrate voice commands and smartphone remote control.
NOTE: This project is in a very early phase. You can expect bugs and crashes. It has been tested on Raspberry Pi 2 and 3.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs
sudo apt-get install python-pyaudio python3-pyaudio
# Clone the repository git clone https://github.com/s6joui/MirrorOS # Go into the repository cd MirrorOS # Install node dependencies and run npm install && npm start
Follow the configuration steps below to get everything working. To test the different apps I recommend using the remote control smartphone app described below.
Most apps will need access to API keys from different services to fully work. Edit the
config.json file and add your own API keys.
In this file you can also set the default home app and the default assistant app as well as enabling gesture support but this requires you to have the appropiate sensors to work.
Minimunm hardware requirements
- Raspberry Pi 2 or later
You can control MirrorOS from any device that has a browser by going to the IP address that's shown on the top left of the screen. It's specially useful with a smartphone. From the remote control app you can install other apps, launch apps and use your smartphone's microphone to send commands to the mirror.
Shows weather and date information. Can set reminders.
Super app (Assistant)
This is a Sri-like app. Ask anything!
Watch YouTube videos.
Search Instagram pictures by hashtag.
Shows news from differnet sources. Not customizable yet.
Coming soon... In the meantime check the source of the included apps. They are all in the "apps" folder.
Simply zip your files so that the manifest.json stays at the root of the zip and upload to a server. You can then install the app by entering the url on the remote control app.