Skip to content

jreyes/mirror

Repository files navigation

Another Smart Mirror

Join the chat at https://gitter.im/jreyes/mirror Build Status

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.

Demo of Another Smart Mirror v1

Thanks

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.

Todo

  • 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)

Hardware

For the hardware I've used:

Libraries

Pocketsphinx

Hotword detection is being driven by the Pocketsphinx library. Implementation and instructions how to use this library it can be found on its website.

Houndify

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

Proximity Recognition

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.

Spotify

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

HandWave Library

Credit goes to Kriss for the original HandWave library and Koalified for the updated version.

OpenCV Library

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.