Post

Requirements β€” Designing an IoT-Based PC Monitoring System

Requirements β€” Designing an IoT-Based PC Monitoring System

🎯 Overview

Before building the system, it is essential to define clear functional and non-functional requirements.


πŸ“Š Functional Requirements

1. System Metrics Collection

  • CPU usage
  • Memory usage
  • Disk I/O

2. Hardware Sensor Collection

  • Temperature (CPU, GPU)
  • Fan speed (RPM)
  • Power consumption

3. Multi-Rate Data Ingestion

Metric TypeInterval
Temperature / Fan3 seconds
CPU / Memory / Disk60 seconds

4. Data Storage

  • Time-series storage (InfluxDB)
  • Aggregated storage (MySQL)

5. Alert System

  • Slack notification
  • Threshold-based triggers
  • Future: anomaly detection

βš™οΈ Non-Functional Requirements

Performance

  • Handle high-frequency ingestion
  • Low latency alerting

Reliability

  • No data loss
  • Stable data pipeline

Scalability

  • Support multi-PC architecture (future)

🧠 Design Challenges

1. Windows Limitation

  • No native API for fan/temp
  • Requires external tools (HWiNFO)

2. Hybrid Data Pipeline

  • Combining Telegraf + Python

3. Data Volume

  • High-frequency sensor data β†’ storage impact

πŸ—οΈ Design Strategy

  • Separate system metrics and sensor metrics
  • Use different ingestion pipelines
  • Normalize data before storage

πŸš€ Next Step

In the next post, we will design the system architecture and data pipeline.


This post is licensed under CC BY 4.0 by the author.