maxbbraun / mirror

Smart Mirror
https://medium.com/@maxbraun/my-bathroom-mirror-is-smarter-than-yours-94b21c6671ba#.81sljnn80
MIT License
580 stars 138 forks source link
android iot smart-mirror

Smart Mirror

This is the source code for the prototype UI of my smart mirror projects outlined in this article and its follow-up.

Smart Mirror 1

Smart Mirror 2

To get started, import the whole project into Android Studio, then build and run the apk. The first prototype uses HomeActivity.java and the second one uses CompactHomeActivity.java.

While the time, date, and news show up without any additional changes, you need to first enable the respective APIs in order to see the weather, commute, and body measures. Edit keys.xml and enter the keys for the AccuWeather API, the AirNow API, the Google Maps Directions API, and the Withings API.

The home and work addresses and the travel mode for the commute are pulled from a Firebase Realtime Database and can be edited in the Firebase Console after adding Firebase to your Android Studio project. The client expects a commute_settings path with string children home, work, and travel_mode. The composition of the compact UI is also configured via the Firebase Database: The compact_ui_settings path has boolean children for body, commute, time, and weather that determine which ones are shown. See database-example.json for a sample layout.