This project is a full-stack Industrial Digital Twin application designed to simulate and predict machinery failures in real-time.
Unlike static analysis scripts, this software features a GUI (Graphical User Interface) that allows engineers to interact with the Digital Twin, run auto-pilot simulations, and visualize decision boundaries dynamically. It acts as the "Brain" (Layer 2) of my IoT Portfolio, processing telemetry from the C-Firmware Layer.
- 🧠 Real-Time Inference: Uses a Random Forest Classifier to predict failure probability instantly based on user input or simulation.
- 🎮 Interactive Simulation (Auto-Pilot): Features a "Live Mode" that generates synthetic fluctuations in temperature and vibration to test the model's reaction speeds.
- 📊 SCADA-like Dashboard: A professional GUI built with
TkinterandMatplotlib, featuring:- Control Sliders for manual testing.
- Live Event Logging (Audit Trail).
- Dynamic Scatter Plot with "Glow" effects for active sensors.
⚠️ Visual Alerts: Immediate color-coded feedback (Green/Red) based on risk thresholds (>85°C or >4.5mm vibration).
The system follows a Model-View-Controller (MVC) pattern:
- Backend (Model): * Ingests raw CSV data (Robust ETL).
- Trains the Random Forest model on startup (
n_estimators=100). - Exposes an API-like method
predict_status(temp, vib).
- Trains the Random Forest model on startup (
- Frontend (View):
Tkinterwindow with responsive layout.- Embedded
Matplotlibcanvas for data visualization.
- Controller:
- Handles events (Button clicks, Slider moves, Timer loops for auto-pilot).
Prerequisites: Python 3.8+ and the following libraries:
pip install pandas numpy scikit-learn matplotlip