Skip to content

πŸš— A Python-based simulator for vehicle telemetry and diagnostics. Emulates real-time RPM and speed monitoring using multithreading and Matplotlib β€” useful for prototyping and testing automotive software systems without physical hardware.

License

Notifications You must be signed in to change notification settings

lyushher/Vehicle_Telemetry_and_Diagnostic_System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš— Vehicle Telemetry and Diagnostic System

πŸ› οΈ Real-Time Vehicle Telemetry & Diagnostics Simulator

A Python-based system that simulates core functionalities of an Electronic Control Unit (ECU) used in modern vehicles.
This project provides a real-time visual and interactive environment to observe how engine data behaves during acceleration and braking events.

  • πŸ–₯️ Tkinter GUI replicates a simple dashboard interface
  • πŸ“Š Matplotlib graphs display live RPM and speed updates
  • βš™οΈ Multithreaded engine ensures smooth sensor simulation
  • πŸ“ Periodic logging of engine temperature, fuel level, and battery voltage to CSV

Ideal for educational use, early-stage automotive prototyping, and testing embedded logic before deployment.


βš™οΈ Tech Stack

Technology Purpose
Python 3 Core programming language
Tkinter Desktop GUI interface
Matplotlib Real-time graph plotting
Threading Concurrent data updates
CSV Periodic sensor data logging

✨ Features

  • Real-time RPM and speed simulation with graphical display
  • Gas and brake control buttons with acceleration physics
  • Threaded background data updates to keep GUI responsive
  • Periodic logging of vehicle data: RPM, speed, temperature, fuel, voltage
  • Dark mode UI with dual matplotlib plots for live visualization

πŸ“ Project Structure

Vehicle_Telemetry_and_Diagnostic_System/
β”œβ”€β”€ main.py                  # Main GUI simulator
β”œβ”€β”€ telemetry/               # Vehicle data logic
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ simulator.py         # (planned)
β”‚   β”œβ”€β”€ controller.py        # (planned)
β”‚   └── sensors.py           # Randomized temp, fuel, battery voltage
β”œβ”€β”€ telemetry_logger.py      # Logs sensor data to CSV
β”œβ”€β”€ gui/                     # (optional UI modules)
β”œβ”€β”€ tests/                   # (unit tests - planned)
β”œβ”€β”€ logs/                    # Log output directory (auto-created)
└── README.md                # Project documentation

πŸš€ Getting Started

πŸ”§ Installation

  1. Clone the repository:
git clone https://github.com/lyushher/Vehicle_Telemetry_and_Diagnostic_System.git
cd Vehicle_Telemetry_and_Diagnostic_System
  1. (Optional) Create a virtual environment:
python -m venv venv
source venv/bin/activate  # or .\venv\Scripts\activate on Windows
  1. Install dependencies:
pip install matplotlib

▢️ Run the Simulator

python main.py

πŸ“Š Logs

Sensor data is logged every 2 seconds to logs/telemetry_log.csv. Each entry includes:

  • Timestamp
  • RPM
  • Speed (km/h)
  • Engine Temperature (Β°C)
  • Fuel Level (%)
  • Battery Voltage (V)

πŸ§ͺ Testing (Planned)

  • Unit tests using pytest
  • Coverage reports via pytest-cov

πŸ”§ CI/CD (Planned)

  • GitHub Actions for automated testing
  • Linting and code quality checks

☁️ Deployment (Planned)

  • Docker containerization
  • EC2 / Streamlit / FastAPI-based deployment

πŸ“¬ API Endpoints (Planned)

This project will include a REST API using FastAPI to expose real-time telemetry data. Example endpoints:

GET /telemetry        # Latest sensor readings
GET /logs             # Access logged data

πŸ“„ License

This project is licensed under the MIT License.


Note: This project is under active development and will progressively include API endpoints, tests, and cloud deployment support.

About

πŸš— A Python-based simulator for vehicle telemetry and diagnostics. Emulates real-time RPM and speed monitoring using multithreading and Matplotlib β€” useful for prototyping and testing automotive software systems without physical hardware.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages