# yeyi58095/iot_lab architecture

> Architecture diagram of the GitHub repository yeyi58095/iot_lab, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/yeyi58095/iot_lab
- Repository: https://github.com/yeyi58095/iot_lab

## Overview

This repository is a collection of course labs and reports, not one integrated application. Its work covers ECG/PPG signal analysis, sensor-monitoring and plotting projects, BLE-based experiments, and an ultrasonic-ranging capstone. The clearest executable workflow is the ECG analysis script reading the data_3 spreadsheet and displaying signal/envelope and frequency plots. Other project files are mostly opaque App Inventor archives or reports, so their internal wiring and runtime behavior cannot be established from the sampled source.

Main entry points: [`homework1/data_3/analyze/analyze_ECG.py`](https://github.com/yeyi58095/iot_lab/blob/main/homework1/data_3/analyze/analyze_ECG.py) (Signal Analysis), [`week2/Hello_Purr.aia`](https://github.com/yeyi58095/iot_lab/blob/main/week2/Hello_Purr.aia) (Hello Purr), [`week8`](https://github.com/yeyi58095/iot_lab/tree/main/week8) (Sensor Measurements), [`期末報告/超音波測距雷達系統設計與實作報告.docx`](https://github.com/yeyi58095/iot_lab/blob/main/%E6%9C%9F%E6%9C%AB%E5%A0%B1%E5%91%8A/%E8%B6%85%E9%9F%B3%E6%B3%A2%E6%B8%AC%E8%B7%9D%E9%9B%B7%E9%81%94%E7%B3%BB%E7%B5%B1%E8%A8%AD%E8%A8%88%E8%88%87%E5%AF%A6%E4%BD%9C%E5%A0%B1%E5%91%8A.docx) (Ultrasonic Radar Report)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ecg["ECG Analysis"]
  node_ecg_data["ECG/PPG Data<br/>[data_3.xlsx]"]
  node_ecg_script["Signal Analysis<br/>[analyze_ECG.py]"]
  node_ecg_plots["Signal Plots"]
  node_ecg_report["Lab Report"]
end

subgraph group_mobile["Mobile Sensor Labs"]
  node_app_first["First Project<br/>[First_project.aia]"]
  node_app_purr["Hello Purr<br/>[Hello_Purr.aia]"]
  node_purr_audio["Meow Audio<br/>[meow.mp3]"]
  node_app_accel["Accelerometer Monitor"]
  node_app_plot["Acceleration Plot"]
  node_app_lab3["Lab 3 App<br/>[Lab3_2.aia]"]
end

subgraph group_ble["BLE Experiments"]
  node_ble_firmware["BLE Firmware<br/>[BLE_first.ino]"]
  node_ble_app["TriBLE App<br/>[TriBLE.aia]"]
  node_ble_demo["TriBLE Demo Firmware"]
  node_canvas_app["BLE Canvas App<br/>[TriBLE_Canvas.aia]"]
  node_lab4_app["Lab 4 App<br/>[Lab_4.aia]"]
end

subgraph group_measurements["Lab Measurements"]
  node_week8_data["Sensor Measurements"]
  node_week8_report["Midterm Report"]
end

subgraph group_capstone["Ultrasonic Capstone"]
  node_ultrasound_report["Ultrasonic Radar Report"]
  node_ultrasound_slides["Radar Presentation"]
end

node_student(("Student"))

node_ecg_script -->|"reads"| node_ecg_data
node_ecg_script -->|"displays"| node_ecg_plots
node_student -->|"uses"| node_app_first
node_student -->|"uses"| node_app_purr
node_app_purr -->|"includes"| node_purr_audio
node_student -->|"uses"| node_app_accel
node_student -->|"uses"| node_app_plot
node_student -->|"uses"| node_app_lab3
node_student -->|"experiments with"| node_ble_firmware
node_student -->|"uses"| node_ble_app
node_student -->|"experiments with"| node_ble_demo
node_student -->|"uses"| node_canvas_app
node_student -->|"uses"| node_lab4_app
node_student -->|"records"| node_week8_data
node_week8_data -->|"summarized in"| node_week8_report
node_student -->|"studies"| node_ultrasound_report
node_ultrasound_report -->|"presented as"| node_ultrasound_slides
node_student -->|"documents"| node_ecg_report

click node_ecg_data "https://github.com/yeyi58095/iot_lab/blob/main/homework1/data_3/data_3.xlsx"
click node_ecg_script "https://github.com/yeyi58095/iot_lab/blob/main/homework1/data_3/analyze/analyze_ECG.py"
click node_ecg_report "https://github.com/yeyi58095/iot_lab/blob/main/homework1/LabReport_lab1.docx"
click node_app_first "https://github.com/yeyi58095/iot_lab/blob/main/week2/First_project.aia"
click node_app_purr "https://github.com/yeyi58095/iot_lab/blob/main/week2/Hello_Purr.aia"
click node_purr_audio "https://github.com/yeyi58095/iot_lab/blob/main/week2/hello_Purr_image_and_video/meow.mp3"
click node_app_accel "https://github.com/yeyi58095/iot_lab/blob/main/week5/Lab1/AccelerometerMonitoring.aia"
click node_app_plot "https://github.com/yeyi58095/iot_lab/blob/main/week5/Lab2/PLOT_Acceleeration.aia"
click node_app_lab3 "https://github.com/yeyi58095/iot_lab/blob/main/week5/Lab3_2.aia"
click node_ble_firmware "https://github.com/yeyi58095/iot_lab/blob/main/week6/BLE_first/BLE_first.ino"
click node_ble_app "https://github.com/yeyi58095/iot_lab/blob/main/week6/TriBLE.aia"
click node_ble_demo "https://github.com/yeyi58095/iot_lab/blob/main/week6/TriBLE_Stu_Demo/TriBLE_Stu_Demo.ino"
click node_canvas_app "https://github.com/yeyi58095/iot_lab/blob/main/week7/TriBLE_Canvas.aia"
click node_lab4_app "https://github.com/yeyi58095/iot_lab/blob/main/week7/Lab_4.aia"
click node_week8_data "https://github.com/yeyi58095/iot_lab/tree/main/week8"
click node_week8_report "https://github.com/yeyi58095/iot_lab/blob/main/week8/EE3014_Midterm_Report_%E5%9C%96%E8%A1%A8%E7%89%88.docx"
click node_ultrasound_report "https://github.com/yeyi58095/iot_lab/blob/main/%E6%9C%9F%E6%9C%AB%E5%A0%B1%E5%91%8A/%E8%B6%85%E9%9F%B3%E6%B3%A2%E6%B8%AC%E8%B7%9D%E9%9B%B7%E9%81%94%E7%B3%BB%E7%B5%B1%E8%A8%AD%E8%A8%88%E8%88%87%E5%AF%A6%E4%BD%9C%E5%A0%B1%E5%91%8A.docx"
click node_ultrasound_slides "https://github.com/yeyi58095/iot_lab/blob/main/%E6%9C%9F%E6%9C%AB%E5%A0%B1%E5%91%8A/%E8%B6%85%E9%9F%B3%E6%B3%A2%E6%B8%AC%E8%B7%9D%E9%9B%B7%E9%81%94%E7%B3%BB%E7%B5%B1%E8%A8%AD%E8%A8%88%E8%88%87%E5%AF%A6%E4%BD%9C.pptx"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_ecg_data,node_ecg_script,node_ecg_plots,node_ecg_report toneBlue
class node_app_first,node_app_purr,node_purr_audio,node_app_accel,node_app_plot,node_app_lab3 toneAmber
class node_ble_firmware,node_ble_app,node_ble_demo,node_canvas_app,node_lab4_app toneMint
class node_week8_data,node_week8_report toneRose
class node_ultrasound_report,node_ultrasound_slides,node_student toneIndigo
```

## Components

### ECG Analysis

- [ECG/PPG Data](https://github.com/yeyi58095/iot_lab/blob/main/homework1/data_3/data_3.xlsx): `homework1/data_3/data_3.xlsx`
- [Signal Analysis](https://github.com/yeyi58095/iot_lab/blob/main/homework1/data_3/analyze/analyze_ECG.py): `homework1/data_3/analyze/analyze_ECG.py`
- **Signal Plots**
- [Lab Report](https://github.com/yeyi58095/iot_lab/blob/main/homework1/LabReport_lab1.docx): `homework1/LabReport_lab1.docx`

### Mobile Sensor Labs

- [First Project](https://github.com/yeyi58095/iot_lab/blob/main/week2/First_project.aia): `week2/First_project.aia`
- [Hello Purr](https://github.com/yeyi58095/iot_lab/blob/main/week2/Hello_Purr.aia): `week2/Hello_Purr.aia`
- [Meow Audio](https://github.com/yeyi58095/iot_lab/blob/main/week2/hello_Purr_image_and_video/meow.mp3): `week2/hello_Purr_image_and_video/meow.mp3`
- [Accelerometer Monitor](https://github.com/yeyi58095/iot_lab/blob/main/week5/Lab1/AccelerometerMonitoring.aia): `week5/Lab1/AccelerometerMonitoring.aia`
- [Acceleration Plot](https://github.com/yeyi58095/iot_lab/blob/main/week5/Lab2/PLOT_Acceleeration.aia): `week5/Lab2/PLOT_Acceleeration.aia`
- [Lab 3 App](https://github.com/yeyi58095/iot_lab/blob/main/week5/Lab3_2.aia): `week5/Lab3_2.aia`

### BLE Experiments

- [BLE Firmware](https://github.com/yeyi58095/iot_lab/blob/main/week6/BLE_first/BLE_first.ino): `week6/BLE_first/BLE_first.ino`
- [TriBLE App](https://github.com/yeyi58095/iot_lab/blob/main/week6/TriBLE.aia): `week6/TriBLE.aia`
- [TriBLE Demo Firmware](https://github.com/yeyi58095/iot_lab/blob/main/week6/TriBLE_Stu_Demo/TriBLE_Stu_Demo.ino): `week6/TriBLE_Stu_Demo/TriBLE_Stu_Demo.ino`
- [BLE Canvas App](https://github.com/yeyi58095/iot_lab/blob/main/week7/TriBLE_Canvas.aia): `week7/TriBLE_Canvas.aia`
- [Lab 4 App](https://github.com/yeyi58095/iot_lab/blob/main/week7/Lab_4.aia): `week7/Lab_4.aia`

### Lab Measurements

- [Sensor Measurements](https://github.com/yeyi58095/iot_lab/tree/main/week8): `week8`
- [Midterm Report](https://github.com/yeyi58095/iot_lab/blob/main/week8/EE3014_Midterm_Report_%E5%9C%96%E8%A1%A8%E7%89%88.docx): `week8/EE3014_Midterm_Report_圖表版.docx`

### Ultrasonic Capstone

- [Ultrasonic Radar Report](https://github.com/yeyi58095/iot_lab/blob/main/%E6%9C%9F%E6%9C%AB%E5%A0%B1%E5%91%8A/%E8%B6%85%E9%9F%B3%E6%B3%A2%E6%B8%AC%E8%B7%9D%E9%9B%B7%E9%81%94%E7%B3%BB%E7%B5%B1%E8%A8%AD%E8%A8%88%E8%88%87%E5%AF%A6%E4%BD%9C%E5%A0%B1%E5%91%8A.docx): `期末報告/超音波測距雷達系統設計與實作報告.docx`
- [Radar Presentation](https://github.com/yeyi58095/iot_lab/blob/main/%E6%9C%9F%E6%9C%AB%E5%A0%B1%E5%91%8A/%E8%B6%85%E9%9F%B3%E6%B3%A2%E6%B8%AC%E8%B7%9D%E9%9B%B7%E9%81%94%E7%B3%BB%E7%B5%B1%E8%A8%AD%E8%A8%88%E8%88%87%E5%AF%A6%E4%BD%9C.pptx): `期末報告/超音波測距雷達系統設計與實作.pptx`

### Other components

- **Student**

## Connections

- Signal Analysis → ECG/PPG Data: reads
- Signal Analysis → Signal Plots: displays
- Student → First Project: uses
- Student → Hello Purr: uses
- Hello Purr → Meow Audio: includes
- Student → Accelerometer Monitor: uses
- Student → Acceleration Plot: uses
- Student → Lab 3 App: uses
- Student → BLE Firmware: experiments with
- Student → TriBLE App: uses
- Student → TriBLE Demo Firmware: experiments with
- Student → BLE Canvas App: uses
- Student → Lab 4 App: uses
- Student → Sensor Measurements: records
- Sensor Measurements → Midterm Report: summarized in
- Student → Ultrasonic Radar Report: studies
- Ultrasonic Radar Report → Radar Presentation: presented as
- Student → Lab Report: documents
