ECE434blynkAlarmClock

Team members: Venmap

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

 09 Executive Summary 09 Packaging 09 Installation Instructions 09 User Instructions 09 Highlights 09 Theory of Operation 09 Work Breakdown 09 Future Work/Conclusions 09 Hackster.io 09 Demo/Poster 00 Late Comments: Have a good day.

Score: 90/100

(Inline Comment)

Executive Summary
This project is a 'smart' alarm clock that displays the time/weather and allows for a user to remotely set an alarm using a mobile app (blynk). Alarms can be set and replaced via the blynk app, and when the alarm goes off, a sound will play for 5 seconds.

Packaging
The hardware for this project is fairly small:

1x beaglebone black

1x display (TFT 2.4inch LCD Display)

1x phone w/ blynk

1x usb to audio interface

1x speaker

Basic wiring (taken from https://elinux.org/EBC_Exercise_12a_2.4_TFT_LCD_display_via_SPI) set up for SPI0

Installation Instructions
Follow the instructions located here to set up the framebuffer for the LCD. Run the setup.sh script located in the github repository

Install the blynk app on your phone Create a new project in blynk and choose the "Generic Board" option for hardware. Choose connection type "Wifi". Add a time input block to the app, and assign it to V0 input pin. When you create a project, the authorization code for the blynk api is sent to your email. Replace the field in config.py with your key

go to https://openweathermap.org and sign up for an api key. When you receive the api key, replace the field in the config.py file with your key

link to github -- https://github.com/venemap/ece434homeworkVenema/tree/master/finalProjectVenema

User Instructions
Make sure internet is passed through to your beaglebone (Whether wifi or over usb) Run the main.py as sudo (required for framebuffer to work) When the display turns on, you can then input an alarm from the blynk app (note: blynk app only sends a new timer to the program if the timer in the app is changed and ok is pressed)

Highlights
Currently, my bone forgot how to talk to the video drivers, and I have not been able to resolve this issue. The framebuffer /dev/fb0/ still works, but when trying to run even the demo programs from the exercises github, it fails to launch. Once this gets resolved, a demo will be added.

Work Breakdown
I worked alone on this, so all work was done by me

Future Work
1. Making full enclosure for the system

2. Spotify integration for alarm

3. Changing backgrounds based on weather conditions

Conclusions
I think there is a fair amount of promise to be had with this, but making a decent looking UI is not something that I am good at. The basic functionality is fairly good, but I would have liked to add in things like weather forecast (high and low of the day), but I could not find a way to do that without making the UI look bad. The audio integration still needs some work, as right now the audio playback is limited. It could link to youtube or spotify to make a more interesting alarm sequence.