This project leverages Windows IoT Core and Azure Machine Learning connected to an IoT hub with web front-end to monitor and predict the remaining useful life of a jet engine.
Obtaining a real jet-engine was a bit difficult, so I opted to use a Smithsonian Jetworks Jet Engine Model. The device was first modified to be powered using a 5V adapter. Next, I attached a neodymium magnet to of the engine blades that would react to a strategically placed reed switch.
This allowed me to track the MPH of the motor using the following code:
speedInMetersPerSecond = (Math.PI * wheelDiameterInMeters) / ((currTime - lastTime).TotalSeconds); mph = speedInMetersPerSecond * 2.23693629;
I also employed an Adafruit PWM Module to control an LED. The intended idea was to control the motor speed using a UI control, but I was unable to complete. The intensity was controlled via a slider on a remote control UI.
Here is the remote UI, running on a Windows 10 tablet.
Next, I employed the Azure IoT Suite’s Predictive Maintenance solution provided @ https://www.azureiotsuite.com
In just a few clicks, this will deploy:
- 1 Azure Active Directory application
- 1 IoT Hub (S2 - Standard tier)
- 1 Event Hub (Basic throughput unit)
- 2 Storage accounts (Standard-GRS)
- 1 Stream Analytics job (1 streaming unit)
- 1 App service plans (S1 - Standard: 2 small)
- 1 App service plan (P1 - Premium: 2 small)
- 1 Web app (included in App Service plan)
- 1 Azure App Service Web App for Website (P1 - Premium: 2 small)
- 1 Azure App Service Web App for Web jobs (S1 - Standard: 2 small)
Using this, an Azure Machine Learning Model is deployed which can be exposed to inputs from the application running on the Raspberry Pi.
This allows us to send data into the model which is then visualized on a web front-end.