by Noor Alsabahi, Lead Data Engineer at Ness Digital Engineering
The rapid growth of renewable energy sources has brought about a fundamental shift in our approach to power generation. Among these sources, wind turbines have emerged as a reliable and sustainable means of harnessing wind power to generate electricity. The benefits of wind energy are vast, offering clean power generation, reduced carbon emissions, and increased energy independence.
However, harnessing the potential of wind energy comes with its own set of challenges. Wind turbines operate in dynamic and ever-changing environments, making it crucial to monitor and control their performance to maximize energy production efficiently. Real-time insights into turbine health, performance, and environmental conditions are vital for ensuring optimal efficiency, predictive maintenance, and effective decision-making.
This is where AWS IoT (Internet of Things) and ML at Edge solutions come into play. In this post, we’ll share how, at Ness Digital Engineering, we leveraged the power of cloud computing, IoT connectivity, and machine learning algorithms to provide an end-to-end solution architecture that addresses the challenges faced in monitoring and controlling wind turbines.
To implement this solution, we have designed a robust solution architecture that revolves around equipping wind turbines with sensor devices, specifically Raspberry Pi sensors, through AWS IoT. These sensors capture real-time data on various parameters such as wind speed, orientation, and movement, utilizing accelerometer and gyroscope metrics. This data is securely transmitted to the cloud, processed, analyzed, and used to retrain and optimize the machine learning model over time. The deployed model on the edge device is an Autoencoder model for anomaly detection.
(figure 1: Solution Architecture)
The solution comprises two main pipelines or workflows:
- MLOps Workflow: When there is an update on Amazon CodeCommit or for testing purposes, Amazon CodeBuild triggers the MLOps pipeline. This pipeline includes the preprocessing, training, and evaluation phases. If the evaluation surpasses the defined threshold, the model is registered in the Amazon Model Register. Model approval can be automated, but in our scenario, it is currently done manually.
- Model Deployment Workflow: Changing the status of the SageMaker model register raises an event in EventBridge. EventBridge, in turn, triggers another Amazon CodeBuild that runs the Model Deployment workflow. This workflow involves loading the deployment code from CodeCommit, obtaining the latest model version, compiling and optimizing the model using SageMaker Neo, creating and storing Greengrass components in the component registry, and finally deploying the model to the edge device through Greengrass deployment executed in IoT Core. The IoT Core also includes a device shadow.
(Figure 2: MLOps and model deployment workflows)
On the Greengrass edge device where the model is deployed, the following components are installed: Neo Model Agent, Shadow Manager, and a custom turbine component.
The turbine component directly communicates with the sensors and performs three main tasks:
- Accumulates the data received from the sensor until a specific threshold is reached, triggering an inference request to the model.
- Sends telemetry and inference results to the cloud via an IoT rule, forwarding the data to the Timestream database.
- Communicates with the Shadow Manager to reflect the shadow device status on the edge device.
(Figure 3: Greengrass core device)
Data Insights and Visualization:
For data insights and visualization, Grafana is utilized and connected to the Timestream DB, allowing real-time data visualization and the generation of alerts in case of detected anomalies.
(Figure 4: Grafana real-time visualization – anomaly detected)
(Figure 5: Grafana custom data query)
The solution is implemented using CloudFormation templates. AWS CDK in .NET and AWS CLI execute the necessary scripts and CloudFormation templates on the cloud. These include various steps for setting up IoT, Greengrass Stack CloudFormation, certificates, Timestream Stack CloudFormation, manual provisioning of Raspberry Pi sensors, initial Greengrass Deployment script, Grafana script, MLOps pipeline source S3 CloudFormation, Python pipeline source code script, MLOps CloudFormation, Model Deployment CloudFormation, and EventBridge CloudFormation.
(Figure 6: Deployment)
Through this comprehensive solution, we could monitor real-time data from wind turbine sensors, detect anomalies, and control the turbine based on the insights gained. Additionally, other components and services can be easily integrated into the process for different purposes. For example, IoT SiteWise can provide an additional monitoring dashboard for operational purposes, and SNS can be linked to IoT events to capture and alert operations.
The solution architecture can also be generalized to work across multiple accounts on a large scale.
#iot #aws #greengrass #windTurbine #internetOfThings #grafana #mlops #modelDeployment #sagemaker #mlpipeline #iotcore #greenTechnology