Difference between revisions of "ECE434blynkAlarmClock"
(→Packaging) |
(→Highlights) |
||
Line 81: | Line 81: | ||
== Highlights == | == Highlights == | ||
− | Currently, my bone forgot how to talk to the video drivers, and I have not been able to resolve this issue. Once this gets resolved, a demo will be added. | + | 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 == | == Theory of Operation == |
Revision as of 10:18, 18 November 2020
Embedded Linux Class by Mark A. Yoder
Team members: Venmap
Contents
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
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
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.
Embedded Linux Class by Mark A. Yoder