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.
- New grid layout, tentative 15/15/40/15/15 layout
- Draggable panels
- Main container in middle that gets replaced by current action
- Dismiss panels by dragging to the left or right borders
- On minimized panels, mute audio for videos? but no for audio play?
- New logo
- Multiple user support
- Integration with Alexa
- Smarthings support
- Improve Gesture control module
- Integration with Leap Motion
- Improve OpenCV module
- Find alternative for low energy bluetooth beacons
- Configurable commands
- Use NanoHttp
- Use Angular
- Use Bootstrap
- Store and load configuration from preferences
- Add voice command for the configuration screen
- Use secure preferences
- Run once on installation and on voice command after that
- WebView using custom tabs (Chrome)
- Add new commands
- Add selfie command
- Add video chat command
- Pause / Mute when is on the sidelines
- Add end call button
- Livecoding command?
- Reddit news
- NPR news
- Update commands
- Web module
- Add a proxy running on port 4000
- Spotify command
- Add pause/play button
- Make it configurable
- Add a spotify client check (Remove WebView login)
- Web module
For the hardware I've used:
- An Odroid C2
- A Logitech C920 webcam
- A Radius Network RadBeacon
- A HDMI monitor
- A shadowbox
- Mirror tint
- A powered usb hub
- A Wifi adapter
- A bluetooth adapter
- Some wood, nails, and glue
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 HandWave library.
#License
The contents of this repository are covered under the Apache License.