Project

# Title Team Members TA Documents Sponsor
17 Arduino-Powered Network Flow Visualization Toolbox
Bolin Zhang
Jiahao Fang
Yiyang Huang
Ziyuan Chen
design_document3.pdf
final_paper3.pdf
proposal2.pdf
video
Pavel Loskot
## PROJECT DESCRIPTION

Many real-world systems involve flows over networks. Our team aims to build a **modular, reconfigurable hardware emulator** to visualize network flows under capacity constraints on links. Each node can be configured to act as a sink, a source, or a "transfer station" that holds zero flux. This toolset will facilitate the understanding of flow optimization algorithms in a classroom setting.

## SOLUTION OVERVIEW

We use a scalable design where components are easily replaceable to account for network expansion. The emulator should have a central Arduino controller that talks to each node and link to display the capacities and actual flow amounts.

*Tentative: It may be desirable to have a software GUI to display the network alongside the physical model due to space (# LEDs) and protocol (# pins) constraints in each node/link.*

## SOLUTION COMPONENTS

### Subsystem 1: Physical Network Model

- We should build a fully functional physical model where pipes represent network links and the LEDs within show the maximal capacity and real-time flow of "data packets."
- Each node should be configurable as sink, source, or neither ("transfer station") with a user-friendly interface such as buttons or switches.

### Subsystem 2: Software Flow Computer

- We should build an intuitive software interface that allows the user to easily configure nodes (3 modes) and links (capacity) while controlling the LED flow display.
- We should implement a robust and *lightweight* optimization algorithm that efficiently computes network flows on an embedded Arduino board while considering all constraints (node configurations, link capacities).
- Alongside the design process, we should write comprehensive documentation detailing the manuals for software setup, operation, troubleshooting, and our development process.

## CRITERION OF SUCCESS

- The physical model should be modular, i.e., each node has a certain number of "slots" reserved for installing new links (pipes).
- The Arduino software should communicate with all nodes and pipes and update the flows in real-time in response to changes in setup. At the current stage, we aim to serve 4~6 fully connected nodes.
- The algorithm should handle (and report) edge cases such as a network with zero or multiple feasible flows.

## DISTRIBUTION OF WORK

- Ziyuan Chen (ECE) - software developer: maintain the code for flow optimization and Arduino-hardware communication protocol
- Bolin, Jiahao (EE) - hardware developer: handle the physical layout of peripherals (pipes and LEDs), design user interface
- Yiyang Huang (ME) - integration and testing specialist: design the protocol for node configuration and conduct stress tests in edge cases

Seat U: Sensing System for Real-time Library Seat Occupation Detection

Jiayuan Huang, Hangzheng Lin, Jiaqi Lou, Hanyin Shao

Featured Project

# Problem

During the exam week, it is very difficult to find a seat in the library. Sometimes students cannot find a satisfying seat even if they walk through the library all around. Some students complain about unknown traffic in the library. For more convenient library seats seeking, students would like to know which other seats are empty ahead of time in order to decide whether they will go to the library and where to find available seats.

# Solution Overview

We will design a sensor-based device for each table to detect occupancy. The occupancy data will be uploaded through wifi to the cloud. There will be three states for each seat: occupied by people, occupied by items, or unoccupied. Then we will design an APP to visualize these data.

# Components

## The sensing subsystem:

• Data preprocessing and WiFi module to transfer data (ESP32)

• Multi-kinds of sensors to detect objects and collect data

• Wired power supply to support long-term real-time detection

## Human-computer interaction subsystem:

• Database server to store the collected data

• APP on the phone that allows clients to check the status of library seats

• It can indicate whether the seat is occupied with people (reserved by personal items), occupied without people, or available

# Criteria of Success

• Classify three different states of seats (occupied by people, occupied by items, or unoccupied)

• The accuracy of detecting whether a seat is reserved by items is above 90%

• The accuracy of detecting whether a seat is occupied by people is above 95%

• The sensor-based device APP is user-friendly and accurately visualizes the seat occupation

• The states of the seats get updated every 1 minute in the APP

• Adaptive to different kinds of table in the library (flexibility)

• Implement the database server bidirectionally: upload data from the device and download data to the APP