Skip to content

Real-time Arduino IoT system for temperature and voltage monitoring with interactive Python visualizations.

Notifications You must be signed in to change notification settings

barisgudul/Ardunio_IOT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌡️ Arduino IoT Temperature and Voltage Monitoring System

Python Arduino License Data Pipeline

Professional IoT solution for collecting, analyzing, and visualizing real-time temperature and voltage data

🚀 Key Features

  • Real-Time Data Collection: Instant data reading from Arduino via serial port
  • Smart Data Storage: Automatic CSV format data logging with timestamps
  • Advanced Visualization: Interactive and professional graphs with Plotly
  • Multi-Sensor Analysis: Correlation analysis between two temperature sensors
  • Data Quality Control: Automatic data validation and error detection
  • Time Series Analysis: Detailed analysis of temperature and voltage changes

📊 Data Visualization and Analysis

1. Time Series Analysis

Time Series Graph

Features and Analysis:

  • 🌡️ Dual Sensor Comparison: Simultaneous readings from two different temperature sensors
  • 📈 Raw and Processed Data: Dotted lines show raw data, solid lines show 30-second averages
  • Voltage Monitoring: Voltage changes are continuously monitored in the lower panel
  • 🔍 Interactive Features:
    • Zoom in/out capability
    • Time range selection
    • Detailed information on hover over data points

2. Temperature Difference Distribution Analysis

Temperature Difference Distribution

Statistical Details:

  • 📊 Histogram Analysis: Frequency distribution of temperature differences
  • 🎻 Violin Plot: Density and shape analysis of the distribution
  • 📏 Standard Deviation: Gray area shows ±1σ range
  • 🎯 Mean Value: Dashed line marks the average difference
  • 🔍 Outlier Detection: Shows deviations from normal distribution

3. Sensor Correlation Graph

Sensor Correlation

Analysis Details:

  • 📊 Linear Relationship: Ideal match line (dashed black)
  • 🌈 Time Encoding: Point colors indicate measurement time
  • 📈 R² Value: Numerical indicator of sensor agreement
  • 🎯 Precision Analysis: Visual analysis of deviations through scatter plot

Note: When graphs open in web browser, they are interactive:

  • Can zoom in/out
  • Show detailed information on hover
  • Toggle graph components
  • Export in PNG/SVG/HTML formats

🛠 Technologies Used

Technology Purpose
Python Main programming language
pyserial Serial communication with Arduino
pandas Data processing and analysis
plotly Interactive graphs
numpy Numerical calculations
scikit-learn Statistical analysis

💻 Installation and Running

# Install required packages
pip install pyserial pandas numpy plotly scikit-learn

# Connect Arduino and set port number
# Edit PORT variable in main.py

# Run the program
python main.py

📋 Data Format

The CSV file contains the following columns:

  • PC_Timestamp: Computer timestamp
  • PC_Date: Human-readable date
  • Arduino_Timestamp: Arduino millisecond counter
  • Arduino_Elapsed_Time: Elapsed time (HH:MM:SS)
  • Temperature1: Temperature from sensor 1 (°C)
  • Temperature2: Temperature from sensor 2 (°C)
  • Voltage: Voltage value (V)

📄 License

This project is licensed under the MIT License.

✅ Free for academic and research use
✅ Modifications and redistribution allowed
❌ Commercial use requires written permission

📧 Contact

Project Maintainer
Email
LinkedIn

About

Real-time Arduino IoT system for temperature and voltage monitoring with interactive Python visualizations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages