Many people have trouble waking up in the morning - some more than others. In fact, there are dozens of special alarm clocks on that market to help "night-owls", heavy sleepers, and diagnosed narcoleptics make sure they get up on time. Many of them require the snoozer to solve some sort of problem to "prove" that they're actually awake before the alarm will allow itself to be shut-off. And, the stakes are high - getting fired from a job or kicked out of school are real possibilities.
The problem is that these alarm clocks don't work. Recalcitrant snoozers can solve a math problem or two, or stand on a mat for ten seconds almost literally in their sleep. To really be effective, we need an alarm clock that can tell if you've actually made it out of bed.
I propose combining the power of Amazon Alexa and Walabot to create the ultimate in snooze-proof alarm clocks. Alexa will allow you to set alarm times and control various wake up devices. For example, Alexa can turn on lights, and control power through a smart plug to a siren (or to Simone Giertz's wake-up machine...) And, Walabot can determine if you're still in bed, or even if you get back in bed later!
But wait, what if bright lights, a siren and a spinning rubber hand slapping someone in the face still isn't enough to get them to wake up? We'll have Alexa call or message a friend to come help.
As someone with experience creating and publishing Amazon Skills who's a borderline narcoleptic, I look forward to building this project.
Walabot alarm clock proof-of-concept:
Wake-up alarm based on Walabot, Amazon Alexa, and IFTTT to control IoT / "smart" devices. This project is a proof-of-concept that triggers off standard Alexa alarms using the IFTTT Alexa integration ("Your alarm goes off").
A future project will include Alexa Skill integration but to be useful, an Alexa Skill needs a back-end that can store user accounts which increases the infrastructure complexity by an order of magnitude or two.
This project is a work in progress
Raspberry Pi config
- Install scripts
- Node.js/Express, Python, Walabot drivers, RabbitMQ
Python Walabot Service
- Connect and configure Walabot device
- Check if user is in bed (asleep) or awake
- Publish status to RabbitMQ
Node / Express webserver
- Handle incoming alarm webhook
- Send/receive webhooks to/from IFTTT
- Actions configuration
- Walabot python service interface using RabbitMQ
- Walabot control logic - trigger wake-up device(s) if you are still in bed after the alarm goes off
- Auto-create ngrok tunnel
- Authtoken support (free or paid accounts)
- Custom subdomain support (paid accounts only)
- Test install scripts
- More app testing
- Tweak Walabot sensitivity/angles settings