After a week filled with midterms our members have come to greatly value the rare commodity of sleep and seek to amass it by any means possible. Our hardware IoT solution reduces stress and the hectic nature of getting prepared in the morning, while also maximizing efficiency and user satisfaction.

What it does

Our project centers around time management before early morning events, both in regard to getting enough sleep the night before and operating in a timely fashion in the morning. Users are able to gain control over time management though a smart alarm that works alongside their google calendar events to balance their sleep schedule. The alarm takes location and start time of events, as well as the user's morning prep time to compute when the user should be getting sleep. The user is informed of when they should end their day in order to obtain a full 8 hours of sleep and receives an alarm in the morning to wake them.

How we built it

Hardware- Using a Particle Spark Core as our main driver of interactions, as it is an IoT micro-controller. It recieves the push notifications from the nodeJS server indicating alarm and timing information. A button, piezzo buzzer are directly connected to digital pins on the Spark Core, and 4 digital pins are used to transfer timing information in Binary Coded Decimal (BCD) to the Arduino with a Groove Shield, at which point an LCD connected to the Arduino displays the time remaining.

Software-Using our nodeJS server we make calls to the google-calendar api to determine a users first event the following day. We then make a call to the google-distance api to find the time needed to drive to that event. Using the calculated time remaining until the event, drive time, and past data about the users morning routine we calculate when the user should go to bed/wake up and send that data to the Particle Spark Core.

Challenges we ran into

Creating Particle functions in order to control the Spark Core remotely proved to be difficult in the end.

Accomplishments that we're proud of

Originally we built the back end of our project using JavaScript and a Python server but we ported our software over to NodeJs which simplified authentication in connecting to the google-calendar and allowed us to make use of the google-distance api.

What we learned

Sometimes the greatest difficulty in multifaceted projects is not the individual components but rather allowing for these components to work together effectively.

What's next for SmartMorning

Continuing to build integrated hardware IoT solutions to further achieve the project's overall goals. In the future we plan to dissuade the user from ignoring the alarm by increasing the steps that must be taken to disable it and increasing the penalties for doing so.

Built With

Share this project: