ECE434blynkAlarmClock

From eLinux.org
Revision as of 10:18, 18 November 2020 by Venmap (talk | contribs) (Highlights)
Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder


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

Final Product
Wiring fritzing diagram

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

LCD BeagleBone
MISO P9_21
LED P9_16
SCK P9_22
MOSI P9_18
D/C P9_19
RESET P9_20
CS P9_17
GND P9_2
VCC P9_4

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.

Theory of Operation

Flowchart

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.




thumb‎ Embedded Linux Class by Mark A. Yoder