Learning Alarm: Plan & Setup

More and more people are beginning to use their phones as their alarm clocks and why not? They have a variety of alarm apps they can choose from, set their preferred music to wake up to and carry their alarms on the go. Despite this overwhelming trend, I am going to build my alarm clock using a Raspberry Pi. Here are a few reason why.

  1. Ease of Development: Since I am going to use machine learning to power the alarm clock, I need to code in Python, a language the Raspberry Pi is made for. Also, I don’t have to worry about creating builds or running on different versions of Android every time Google releases an update. Instead I can just hit F5 on my keyboard and my app will run.
  2. More Possibilities: The Raspberry Pi has a plethora of sensors and hardware inputs that I can use to communicate with my application and vice versa. It opens up the possibility of using IR sensors to make sure I have gotten out of bed, ability to connect physical buttons that I can use to snooze the alarm and as a computer it is ultra-portable and can be integrated in a custom design housing.
  3. Platform for Future: One of the driving motivations for this project was to see how artificial intelligence behaves in the physical world. The Raspberry Pi is a great platform for  subsequent projects that explore this intersection. I would rather work on hardware that I will most likely use again in the future.

To kick off the project, I bought a couple a USB-Powered speakers for the ‘Pi’ and made a simple python based alarm clock. If you ever need to run an alarm from your computer, here is the code.

My next steps are to come up with the environment and parameters that the Reinforcement Learning algorithm will be optimizing. I also want to begin integrating TensorFlow into the alarm app and start creating a general architecture for how the program will run, save learned data and interact with people (and vice versa).

As always, if you have any thoughts/ideas/suggestions, please let me know.

 

Leave a Reply

Your email address will not be published.

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.