Another Smart Mirror
This is another Smart Mirror project done in Android. Based on Max Braun and
Nick Hall smart mirror projects.
Currently this project is being rewritten using Robopupu as the base framework for this project.
I would like to give a big thanks to Marko Salmela for creating the
Robopupu library and his constant support in supporting me. Without your great
work, much of the configurable aspect of this project would not be possible.
- [X] New grid layout, tentative 15/15/40/15/15 layout
- [X] Draggable panels
- [X] Main container in middle that gets replaced by current action
- [X] Dismiss panels by dragging to the left or right borders
- [X] On minimized panels, mute audio for videos? but no for audio play?
- [ ] New logo
- [ ] Multiple user support
- [X] Integration with Alexa
- [ ] Improve Gesture control module
- [ ] Integration with Leap Motion
- [ ] Improve OpenCV module
- [ ] Find alternative for low energy bluetooth beacons
- [ ] Configurable commands
- [X] Use NanoHttp
- [X] Use Angular
- [X] Use Bootstrap
- [X] Store and load configuration from preferences
- [X] Add voice command for the configuration screen
- [ ] Use secure preferences
- [X] Run once on installation and on voice command after that
- [ ] WebView using custom tabs (Chrome)
- [ ] Add new commands
- [ ] Add selfie command
- [X] Add video chat command
- [X] Pause / Mute when is on the sidelines
- [X] Add end call button
- [ ] Livecoding command?
- [ ] Reddit news
- [ ] NPR news
- [X] Update commands
- [X] Web module
- [X] Add a proxy running on port 4000
- [X] Spotify command
- [X] Add pause/play button
- [X] Make it configurable
- [X] Add a spotify client check (Remove WebView login)
For the hardware I've used:
Hotword detection is being driven by the Pocketsphinx library. Implementation and instructions how to use this library
it can be found on its website.
For Voice Commands, Houndify is being used. They have a free tier with a daily quota of how
many queries you can request per day. You need to register your application and get the Hound client ID and client key
and set those values at mirror.properties
To enable proximity recognition you need to have a Bluetooth beacon on hand like the
Radius Networks RadBeacon. After that
you need to follow the instructions detailed here.
Song support is provided by Spotify. To use Spotify you need to register your application at
https://developer.spotify.com and also own a Premium Spotify account. Once you get
your Spotify Client ID, add it to mirror.properties
Credit goes to Kriss for the original HandWave library and
Koalified for the updated version.
More information about OpenCV can be found in its website. This library is needed to use the
The contents of this repository are covered under the Apache License.