This hackathon was designed as a proof of concept demonstrating the capabilities of Microsoft's Azure IoT and Azure Digital Twins in conjunction with Bentley Systems' iTwin Platform. The diagram above explains the data flow of how this application comes together.
The processes in the light blue background indicate Microsoft technologies, while the light green background indicate Bentley Systems technologies. The application focused in this repository center around three major components:
Note that all data within this project are simulated.
NOTE: If you intend on running this application locally, it will not work! All 'Getting Started' instructions assume you have the necessary permissions. The quick-start guides were designed for team members of the hackathon, and is retained purely for educational purposes. This code will not work without the appropriate resources and permissions.
The azure-function serves as the mediator between IoT Hub and the iTwin viewer.
- Retrieving and processing data from IoT Hub.
- Sending parsed data to Physics Model API to generate predicted physical model power.
- Sending parsed data to Machine Learning API to generate predicted machine learning model power.
- Aggregating data from the Iot Event hub connection and updating our ADT instance.
- Routing weather forecasted data to PM/ML APIs to generate predicted power.
For more a more detailed explanation, please read the README.md in directory azure-function.
The itwin-viewer is the UI visualizer for the windfarm.
- Configuring the imodel connection and authorization to use Bentley Systems' iTwin Platform
- Render specified models and reality mesh for the windfarm.
- Load reality data and Bing map to provide terrain graphics.
- Retrieve data from ADT and emit the data across the application.
For more a more detailed explanation, please read the README.md in directory itwin-viewer.
This extension adds UI components and functionality to our viewer.
- Visualize live IoT sensor data and warning/errors from the ADT instance via markers and decorators.
- Creates an alert system for unexpected power outputs given from Machine and Physics learning models.
- Provide a historical data via Azure Time Series Insights to visualize past power output readings. and predicted power from Physics and Machine Learning Model.
For more a more detailed explanation, please read the README.md in directory windfarm-extension.