Project

# Title Team Members TA Documents Sponsor
22 ARC Machine Monitor
Akhil Kodumuri
Calvin Lee
Rohan Inampudi
Zhicong Fan design_document1.pdf
final_paper1.pdf
photo1.jpg
photo2.jpg
photo3.png
photo4.png
proposal1.pdf
video
# ARC Machine MONITOR

Team Members:
- Calvin Lee (calvinl4)
- Rohan Inampudi (rohani2)
- Akhil Kodumuri (akhilvk2)

# Problem

One question that is always on a college student's mind is "Is the ARC busy?" There have been many times throughout our college career where we have gone to the ARC expecting a quick workout just to see lines to the machines we wanted to use. We've always wished that we could see what machines were being used and what were not. That is why, we would like to create an interface where students can use their phone to visually see which equipment at the ARC are being used and which are not.

# Solution

We would like to create an interface where students can use their phone to visually see which equipment at the ARC are being used and which are not. This way, students can anticipate whether or not they should go to the ARC. At a high level, there would be a button by the equipment being used. The button, upon being pressed by the user when a machine is being used, would then send a signal to an IoT device which would then send a signal to an AWS server. Our website will then use this server to update a UI which users can utilize to see which machine is being used.


# Solution Components

## Subsystem 1 (machine sensor pcb to IoT device)

In order to detect whether or not a machine is in use, we would like to create a PCB with the following components. A button (https://www.amazon.com/Gikfun-Waterproof-Button-Momentary-Arduino/dp/B07F8GBWGG/ref=asc_df_B07F8GBWGG/?tag=hyprod-20&linkCode=df0&hvadid=343224601369&hvpos=&hvnetw=g&hvrand=2325432847971158710&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9022196&hvtargid=pla-757057055269&psc=1&tag=&ref=&adgrpid=70737352522&hvpone=&hvptwo=&hvadid=343224601369&hvpos=&hvnetw=g&hvrand=2325432847971158710&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9022196&hvtargid=pla-757057055269) that will be pressed whenever a machine is being used, a timer in order to keep a time a machine is being used, an alarm (https://www.digikey.com/en/products/detail/tdk-corporation/PS1440P02BT/2236832?utm_adgroup=Alarms%2C%20Buzzers%2C%20and%20Sirens&utm_source=google&utm_medium=cpc&utm_campaign=Shopping_Product_Audio%20Products_NEW&utm_term=&utm_content=Alarms%2C%20Buzzers%2C%20and%20Sirens&gclid=Cj0KCQjw39uYBhCLARIsAD_SzMRocrg56djQZdtSr1banc2WuquRuRWNwZ3Xb1x-w5BqNdJqJw-9-HQaAjB5EALw_wcB), a network card (https://www.espressif.com/en/products/socs), and 2 leds of different colors to indicate that a machine is being used.

## Subsystem 2 (IoT device to AWS Server)

This server will host all information on which machine is being used. In order to send data to the AWS cloud, we will install AWS IoT Device SDK (https://docs.aws.amazon.com/iot/latest/developerguide/connecting-to-existing-device.html#gs-device-view-msg) onto our Raspberry Pi 3 Model B. All machine information that is sent to the Pi will be sent to the AWS cloud.


## Subsystem 3 (AWS Server to website)

The website we will design will keep track and display what machines at the ARC are being used by using the AWS server configured in Subsystem 2. This website will be configured using the Python framework Flask.

## Subsystem 4 (load sensor to alarm)
If there is time in the project, we would like to attach load or motion sensors in order to detect use of the equipment that occurred without pressing the button, which would set off alarm.

# Criterion For Success

Ultimately, we define success on whether or not the UI on our website can change the status of a machine at the ARC when it is being used. This can be tested by the following process: Person at ARC working out, button pressed to indicate machine in use, IoT device receives signal from button, IoT device sends data to AWS server, and, finally, machine status on website changes to "Occupied".


# Important Notes

One facet of our project that needs to be tested is power consumption. In order for this product to be used at the ARC, it is imperative that we find the most lightweight solution to our project. Our current proposal is a product of our preliminary research into the most energy efficient solution to our project idea.


# Appendix

Communication between Aruduino and Pi: https://medium.com/@anujdev11/communication-between-arduino-and-raspberry-pi-using-nrf24l01-818687f7f363

Sending Data Between MQTT:
https://docs.arduino.cc/tutorials/uno-wifi-rev2/uno-wifi-r2-mqtt-device-to-device


Electronic Replacement for COVID-19 Building Monitors @ UIUC

Patrick McBrayer, Zewen Rao, Yijie Zhang

Featured Project

Team Members: Patrick McBrayer, Yijie Zhang, Zewen Rao

Problem Statement:

Students who volunteer to monitor buildings at UIUC are at increased risk of contracting COVID-19 itself, and passing it on to others before they are aware of the infection. Due to this, I propose a project that would create a technological solution to this issue using physical 2-factor authentication through the “airlock” style doorways we have at ECEB and across campus.

Solution Overview:

As we do not have access to the backend of the Safer Illinois application, or the ability to use campus buildings as a workspace for our project, we will be designing a proof of concept 2FA system for UIUC building access. Our solution would be composed of two main subsystems, one that allows initial entry into the “airlock” portion of the building using a scannable QR code, and the other that detects the number of people that entered the space, to determine whether or not the user will be granted access to the interior of the building.

Solution Components:

Subsystem #1: Initial Detection of Building Access

- QR/barcode scanner capable of reading the code presented by the user, that tells the system whether that person has been granted or denied building access. (An example of this type of sensor: (https://www.amazon.com/Barcode-Reading-Scanner-Electronic-Connector/dp/B082B8SVB2/ref=sr_1_11?dchild=1&keywords=gm65+scanner&qid=1595651995&sr=8-11)

- QR code generator using C++/Python to support the QR code scanner.

- Microcontroller to receive the information from the QR code reader and decode the information, then decide whether to unlock the door, or keep it shut. (The microcontroller would also need an internal timer, as we plan on encoding a lifespan into the QR code, therefore making them unusable after 4 days).

- LED Light to indicate to the user whether or not access was granted.

- Electronic locking mechanism to open both sets of doors.

Subsystem #2: Airlock Authentication of a Single User

- 2 aligned sensors ( one tx and other is rx) on the bottom of the door that counts the number of people crossing a certain line. (possibly considering two sets of these, so the person could not jump over, or move under the sensors. Most likely having the second set around the middle of the door frame.

- Microcontroller to decode the information provided by the door sensors, and then determine the number of people who have entered the space. Based on this information we can either grant or deny access to the interior building.

- LED Light to indicate to the user if they have been granted access.

- Possibly a speaker at this stage as well, to tell the user the reason they have not been granted access, and letting them know the

incident has been reported if they attempted to let someone into the building.

Criterion of Success:

- Our system generates valid QR codes that can be read by our scanner, and the data encoded such as lifespan of the code and building access is transmitted to the microcontroller.

- Our 2FA detection of multiple entries into the space works across a wide range of users. This includes users bound to wheelchairs, and a wide range of heights and body sizes.