Drink Me Up Before You Go-Go (Back to Sleep!)
Actually That's the Plan.
Alas Poor Fastpass, We Used It We Used it Well
Very professional hot glue precision. We wanted to make sure you couldn't just cheat and rip off the QR Code.
The typical dashboard screen. The bottom widgets are hoverable to display more detailed information. In this case, the weather is raised.
The alarm screen. The embedded player is unable to be lowered, paused, or halted without the QR code being scanned
On Mondays, We Wear Memes. The background is altered, the font is Impact, and the alarm video is a curated meme selection from the archives
We're big fans of coffee. But unfortunately, we're also big fans of sleep. Luckily, the two of those things cancel out, if you manage to get to drink some before dozing off again! So, we decided to create a system to brew a cup of coffee as we wake up, and to not let us go back to sleep until we finished drinking it! We also elected to throw in a couple of useful dashboard widgets to look at as we prepare for the day ahead.
What it does
At the defined alarm time, the system brews a cup of coffee, and the dashboard alarm goes off with a pleasant tune. The alarm can only be turned off with a scanis of the QR code at the bottom of the coffee mug, requiring that the cup is drained to be turned off. Additionally, a small number of widgets provide information on the weather, the occupancy of the UCF parking garages, and whether or not Publix's Chicken Tender Subs are on sale.
How we built it
The coffee machine is prepped the day before with water, a mug, and a coffee. The coffee machine is plugged into to a
Wemo Smartplug Mini, which allows us to remote trigger the power to the machine.
If This Then That (IFTTT) allows us to create webhooks to activate prepared triggers to toggle the power of the machine off and on. The coffee machine had to be hacked to always be on- we managed this with a truly hackish solution, a snack binder clip over the power button. Without access to a printer, we hotglued the only QR code we had on our persons to the bottom of the mug- a piece from a
1-Day, 1-Park Epcot/Disney Hollywood Studios/Animal Kingdom ticket.
The server backend is built on
Node and makes calls to various external apis/resources. First, we pull current weather data from the
openweathermap api. Secondly, we pull the parking data from the UCF parking web app. And finally, we pull the sale data of the chicken tender (bless) from the great
Challenges we ran into
Initially, we wanted to have the alarm be an external device using the
Dragonboard board. Unfortunately, we did not have access to a camera component. We then moved to try using the available
Raspberry Pi A+ board, which did have a camera component for us to use. Unfortunately, we then realized that we also would not have access for a MicroSD card to use with this, rendering the point moot. We settled on making a web app, knowing that we can build off of this into a fully independent external system later.
Trying to work around the University's WiFi for use with the Wemo outlet also proved to be a fruitless endeavor. We ultimately connected to a phone tether after much difficulty.
Accomplishments that we're proud of
We managed to pull through and deliver a full, feature complete project within the time limit that accomplished all of the initial goals, and then some. We're also proud that this is project we very much see us using in the future. We feel accomplished at working as a team, and feel we not only constructed a wonderful project, but forged unbreakable bonds that will never fade away <3 <3 <3.
What we learned
*Sleep is good. Even when making a project designed to wake you up. *Sometimes what you need isn't what's available, and sometime what's available isn't quite what you need *Define goals early. We featured pretty heavy feature bloat which resulted in us not starting on the bread and butter of the project until well into the evening. Luckily this worked out tonight, but this should not be expected to be the norm.
What's next for Drink Me Up Before You Go Go
Ideally we'll be porting this into an external setup and away from a web app. Additionally, we want this system to be what triggers the coffee maker directly, instead of relying on the Wemo outlet. This will reduce costs significantly and allow the project to be much easier to reproduce.