Accurate sleep tracking is something which exists in our modern world. However, there isn't a good trigger which can turn on things on based on when we wake up. If this is possible, then we can start our day and so can our technology (i.e. start making the coffee, wake up the computer, etc.)
What it does
EVA is your personal assistant to kicking off the day. So when you wake up, a wearable band detects the change in orientation. We set to flipping a light switch, but more can be added to that functionality. The band uses BLE to communicate with a mobile app and the app then sends a post request over the internet to trigger the lights. All of this is said and done with some nice voice commands to make you feel right at home.
How I built it
The mobile app is a fork of the Xamarin.Forms BLE sample. It uses the basic framework of the sample project. We then added buttons and indicators to the application to modify it for the hackathon. The BLE board was programmed using the mBed compiler in C++. It broadcasts values read from a gyroscope module, and this data is read by the bluetooth app. When the data is analyzed by the mobile phone, a certain defined threshold triggers the actions which occurs. A POST request is sent to the ATT M2X platform for logging raw data, and the values are also used to send a POST request to a Particle Photon that controls a motor to turn on the lights. We hooked up the app to a speaker to make the voice sound more natural.
Challenges I ran into
Reading values from the bluetooth board was difficult. Since the application requires both bluetooth and wifi communication. We were also confused what the raw data being transmitted from the mBed was, we later figured out it was hex code. There was some wiring involved, and the precision required was important to prevent the device from messing up.
Accomplishments that I'm proud of
It works as intended.
What I learned
BLE communication and the various protocols were really interesting. It was also a first attempt with working on the ATT M2X platform.
What's next for EVA
Make it do more things within our day. A bit of language processing would be awesome too.