Wind Turbine Controller & Real-Time IoT Monitoring Platform
I designed and implemented a full end-to-end wind turbine control and monitoring system, focused on real-time data processing, IoT communication, and live visualization.
The project simulates a real-world industrial scenario, combining IoT devices, backend services, real-time streaming, and a web-based control interface.
Project Overview
The system consists of a wind turbine simulator acting as multiple IoT devices, a backend server responsible for data ingestion and processing, and a web application that provides live monitoring and control capabilities.
The goal was to simulate how modern wind turbines are monitored and controlled in real time, using production-grade communication patterns and technologies.
Architecture Summary
High-level architecture:
- IoT Simulator
- Simulates wind turbines and sensor data
- Sends telemetry data using MQTT
Backend Server
- Subscribes to MQTT topics
- Processes incoming turbine data
- Stores data in a database
- Triggers actions based on defined thresholds
- Exposes REST APIs for turbine control
Web Application (.NET)
- Displays live turbine data using SignalR
- Provides monitoring dashboards
- Allows configuration and control via UI

IoT Simulation & Data Ingestion
A custom wind turbine simulator generates telemetry such as:
- Rotor speed
- Power output
- Wind speed
- Temperature and operational metrics
This data is sent continuously via MQTT, mimicking real industrial IoT devices communicating with a central system.
The backend server subscribes to these MQTT topics and processes the incoming messages in near real time.
Real-Time Data Streaming with SignalR
To achieve live data visualization, the backend pushes processed turbine data to the web application using SignalR.
This allows:
- Real-time dashboards
- Instant UI updates without polling
- Live status changes across connected clients
Users can observe turbine behavior as it happens, creating a realistic control-room experience.
Monitoring, Thresholds & Automated Triggers
The system includes a monitoring and alerting layer.
- Incoming data is continuously evaluated
If turbine values exceed defined thresholds:
- Data is immediately persisted to the database
- A trigger is executed (e.g. alert, shutdown logic, event logging)
Thresholds are fully configurable and managed through the web UI, making the system flexible and easy to extend.
Turbine Control via Web UI & REST API
The web application allows operators to:
- Start and stop turbines
- Enable or disable turbines
- Configure threshold values in real time
These actions are sent from the UI to the backend using REST APIs, which then propagate control commands back to the simulated turbines.
This closes the loop between monitoring, decision-making, and control.
Key Technologies Used
- MQTT – IoT device communication
- .NET Backend – Data processing, APIs, and business logic
- SignalR – Real-time data streaming to the UI
- REST APIs – Turbine control and configuration
- Database – Monitoring data persistence and triggers
- Web UI – Live dashboards and control interface
Why This Project Matters
This project demonstrates:
- End-to-end system design
- Real-time data processing
- IoT communication patterns
- Event-driven architecture
- Live UI updates at scale
- Clean separation between simulation, backend, and frontend
It closely mirrors real-world industrial IoT and energy-sector systems, making it highly relevant for production environments.
