ECE497 Project: Alarm with Remote Speaker

Team members: Brian Jennings and Manoj Kurapati

Grading Template
I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

 00 Executive Summary 00 Installation Instructions 00 User Instructions 00 Highlights 00 Theory of Operation 00 Work Breakdown 00 Future Work 00 Conclusions 00 Demo 00 Late Comments: I'm looking forward to seeing this.

Score: 10/100

(Inline Comment)

Executive Summary


Have an alarm set up on a dresser which connects to a speaker either wirelessly or via cable (my concern is maybe wireless speakers are always reliable). The speaker is next to the bed. When the alarm goes off, you have to get out of bed to go to the alarm to turn it off.

The clock time shows up on the seven segment display. The “AM/PM LED” is on if the time is PM and off if the time is AM. If the “Show Alarm” button is pressed and held, it stops showing the clock time and instead shows the alarm time on the seven segment display. The alarm hour can be set by pressing the “Set Hour” button and the alarm minute can be displayed by pressing the “Set Minute” button. If the “Alarm Toggle” button is pressed, it turns the alarm on. If it is pressed again, it turns the alarm off. The “Alarm LED” is turned on if the alarm is on, and it is off if the alarm is off. When the alarm is on and the the alarm time matches the clock time, then the alarm goes off. When that is the case, the a youtube clip will be fetched and played on the Bluetooth speaker and the alarm will be turned off. We were currently using this youtube clip to play: https://www.youtube.com/watch?v=nPRHumwZfk4. When we press the “Snooze” button, the Bluetooth speaker will stop playing.

Parts Used

 * Beagle Bone Green Wireless
 * 5 Push Buttons
 * Red LED
 * Green LED
 * Bluetooth Speaker
 * Adafruit Seven Segment Display with I2C Backpack

Installing Necessary Libraries
git clone https://github.com/manojkur/RemoteAlarmClock cd RemoteAlarmClock ./install.sh
 * Checkout the project repository: https://github.com/manojkur/RemoteAlarmClock
 * Run the install.sh script to install all of the necessary libraries


 * More Instructions are available in the README.md located int the repository

Setting Up Bluetooth
Pulseaudio --start Bluetoothctl
 * Run:

scan on
 * Turn on Bluetooth device, if not paired yet run:

pair (Address of device) trust (Address of device) connect (Address of device)
 * Once you’ve found device:

connect (Address of the device) exit
 * If you have already paired to the device:

Setting Up Correct Time
timedatectl
 * View the current time:

timedatectl status
 * View the current time zone:

timedatectl list-timezones
 * List the available time zones:

timedatectl set-timezone Zone/SubZone
 * Set the time zone:

timedatectl set-time "yyyy-MM-dd hh:mm:ss"
 * The other option is locally setting time by using:

Alarm Clock Schematic
*NOTE: Used Beaglebone Black in Fritzing for schematic, but used Beaglebone Green Wireless for project. Fritzing did not have the Green, but the pin positions are the same.*

Highlights
Youtube Demo included at here


 * Fully functional Alarm clock that can be programmed to any time for an alarm
 * Time converted to be normal 12 hour time
 * Bluetooth speaker that can be placed in another part of the room, forcing you to wake up
 * Song can be selected via youtube link, providing a free source for music and other media to wake up to!

Future Work
In the future, we could create a case for the alarm clock. We could also see if there is a way to get the API for Spotify to work with the alarm clock, so the alarm clock can also function as a jukebox.

Conclusions
Bluetooth is not always reliable since it sometimes disconnects. So in the future we might want to explore other connection options. Also the speaker is just powered by a battery, which would eventually cause issues with running out of battery when you might need it most. So the answer would in the future use a speaker that did not rely on battery power to function.