ECE434 Project - AvailabilityDisplay

Team members: Luke D Clinton] [User:Hydezc|Zach A Hyde

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 Packaging 00 Installation Instructions 00 User Instructions 00 Highlights 00 Theory of Operation 00 Work Breakdown 00 Future Work/Conclusions 00 Hackster.io 00 Demo/Poster 00 Late Comments: Have a good day.

Score:

(Inline Comment)



Executive Summary
Picture that summarizes the project. 

We are using Blynk, LCD screen, Led Matrix, and a button in order to create a status display with a functioning doorbell. When someone presses the button, the owner will get a notification on the device they have connected to the program through Blynk. The user can also adjust there current status, ie: busy or available, and what class they are in, by pressing labeled virtual buttons on the Blynk app. We have also teamed up with one of our mechanical engineering colluges, Thaniel Heath, In order to make am enclosure for the project.

We are disallowed from using certain API on the ROSE-HULMAN network because it could lead to breaches in privacy. Because of this issue, we pivoted away from automatically reading the users teams status. The user now has full manual control.

While we had to stray from our original concept some, our final product is still a good proof of concept. There are some advantages to fully control, but it qwould have been nice to be able to have automatic teams status detection. This would have made the final product even easier to use.

Packaging
We have made a 3d printed package that we can mount on walls.

Installation Instructions
Install Blynk. https://elinux.org/EBC_Exercise_35_Blynk This link explains how to setup Blynk. The user also needs to install JSON using pip3 on Linux. Then the user can clone this git repository: https://github.com/hydezc/ECE434StatusDisplay. Once this repository is cloned and pulled, the user should be all good to go.

User Instructions
The User must connect to the project via blynk. Once that is done, the user can control what class they are currently in and their availability status by the respectively labeled buttons on the Blynk app. When a visitor is at the door. They activate the doorbell by pressing the button on the the front of the project. When the doorbell is activated, the user will git a notification on their phone from the Blynk app.

Highlights
This project is very nice for ensuring that you will not be walked in on during important meetings that may be discussing sensitive information. The current plan is for this to update automatically when you join a teams meeting with some form of manual override.

Theory of Operation
We have a Blynk program that is constantly running;. When someone hits the button on the project, it sends a Blynk notification to the user, and gives the visitor a visual display that the doorbell has been rung. On the Blynk app, There are buttons that will send different messages to the LCD screen that is connected to the bone. The messages are json files used to display which class, or not in a class, the the user is in. There are different buttons for each class. In order to change the classes available to be displayed, the user must edit the json files that have the classes in them. When updating the status from available to a class, the LED matrix will change to red to indicate that the user is busy. In order to connect the Beaglebone to the internet without connecting it to a computer, we are using a USB wifi adapter.

Work Breakdown
Research teams hooks | Luke Clinton Research Microsoft Graph API | Zach Hyde Contacted EIT about access to Microsoft Graph API (Denied) | Zach Hyde Research Bluetooth Modules for Manual Override Alternative | Zach Hyde Luke Clinton

Possible Improvements
In the future, we could potentially try this with Zoom or Teams web hooks in order to automatically display the users status. in order to do that, we would have to have access to a directory that could cause a potentially privacy breach with how the Rose-Hulman system is set up.

Conclusions
The availability display works through user control via the blynk app. Visitors can ring the "doorbell" in order to notify that the user that they are at the door. the doorbell is a phone notification through the Blynk app.