Git Product home page Git Product logo

mcw-predictive-maintenance-for-remote-field-devices's Introduction

Predictive Maintenance for remote field devices

This workshop is archived and no longer being maintained. Content is read-only.

Fabrikam, Inc. creates innovative IoT solutions for the oil and gas manufacturing industry. It is beginning work on a new, predictive maintenance solution that targets rod pumps (the iconic pivoting pumps that dot oil fields around the world). With their solution in place, companies will be able to monitor and configure pump settings and operations remotely, and only send personnel onsite when necessary for repair or maintenance when the solution indicates that something has gone wrong. However, Fabrikam wants to go beyond reactive alerting- they want to want to enable the solution with the ability to predict problems so they can be averted before a fault occurs and damage is done.

They would like to understand their options for expediting the implementation of the PoC. Specifically, they are looking to learn what offerings Azure provides that could enable a quick end-to-end start on the infrastructure for monitoring and managing devices and the system metadata. On top of this, they are curious about what other platform services Azure provides that they should consider in this scenario.

February 2022

Target audience

  • IoT Engineer
  • IoT Developer
  • Data Scientist
  • Data Engineer

Abstracts

Workshop

In this workshop, you will learn how to evaluate Microsoft's catalog of PaaS and SaaS-based IoT products to determine the optimal combination of tools to fulfill Fabrikam's needs. You will design and implement a solution that simplifies IoT device management and reporting, providing Fabrikam with a faster path to realizing their IoT strategy without requiring a lot of custom development. Next, you will learn how to deploy a trained predictive maintenance Machine Learning model and design a stream processing pipeline that makes predictions with the model in near real-time. At the end of this pipeline is an alert that is sent to the oil pump maintenance team when a pump failure is imminent.

At the end of this workshop, you will be better able to design an IoT-based predictive maintenance solution in Azure.

Whiteboard design session

In this whiteboard design session, you will work with a group to evaluate Azure's PaaS and SaaS-based IoT products and design a solution that uses the optimal combination of tools to fulfill Fabrikam's needs. You will provide guidance for designing a solution that simplifies IoT device management and reporting, enabling Fabrikam to more rapidly implement their IoT strategy without requiring a lot of custom development. Next, you will design a solution that deploys a trained predictive maintenance Machine Learning model and uses a stream processing pipeline that makes predictions with the model in near real-time. At the end of this pipeline an alert is sent to the oil pump maintenance team when a pump failure is imminent.

At the end of this whiteboard design session, you will be better able to design an IoT-based predictive maintenance solution in Azure.

Hands-on lab

In this hands-on lab, you will implement a proof-of-concept (PoC) that uses Azure's premiere IoT SaaS-based service that simplifies IoT management and reduces development tasks in the cloud. Next, you will create a solution that deploys a trained predictive maintenance Machine Learning model and uses a stream processing pipeline that makes predictions with the model in near real-time. At the end of this pipeline is an alert that is sent to the oil pump maintenance team when a pump failure is imminent.

At the end of this hands-on-lab, you will be better able to implement an IoT-based predictive maintenance solution in Azure.

Azure services and related products

  • Azure IoT Central
  • Azure Databricks
  • Azure Machine Learning
  • Azure Event Hubs
  • Azure Functions
  • Azure Storage
  • Microsoft Power Automate

Related references

Help & Support

We welcome feedback and comments from Microsoft SMEs & learning partners who deliver MCWs.

Having trouble?

  • First, verify you have followed all written lab instructions (including the Before the Hands-on lab document).
  • Next, submit an issue with a detailed description of the problem.
  • Do not submit pull requests. Our content authors will make all changes and submit pull requests for approval.

If you are planning to present a workshop, review and test the materials early! We recommend at least two weeks prior.

Please allow 5 - 10 business days for review and resolution of issues.

mcw-predictive-maintenance-for-remote-field-devices's People

Contributors

codingbandit avatar dawnmariedesjardins avatar emilysaeli avatar joelhulen avatar microsoftopensource avatar msftgits avatar sadukie avatar timahenning avatar waltermyersiii avatar zoinertejada avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mcw-predictive-maintenance-for-remote-field-devices's Issues

Master -> Main default branch name update

@DawnmarieDesJardins @timahenning

In order for this repo to be updated from master to main, we need to:

  • Update BHOL, Task 1, Step 3.
  • Update BHOL Task 5, Step 2.
  • Update HOL, Task 2, Step 1.
  • Update HOL, Task 2, Step 2,
  • Update HOL, Task 6, Step 1.

These are just text updates. It looks like no images are impacted.

Making note of these here. Currently working on the test/fix.

Confusion on .Net core version

Hi,

In the Before HOL requirements it is mentioned as we need .net core 2.2 to perform the lab but in the lab files the code is written for netcoreapp 3.0

image

Can you please verify whether we need to use two dotnet SDK's for debugging two different projects i.e "FieldDeviceSimulator" requires .netcore 3.1 and "FailurePredictionFunction" requires .netcore 2.2

image

Thank you

Exercise 5 TASK 1 STEP 7

Hi,

In the exercise 5 task 1 step 7 ,Wrong step is mentioned for the configuration of event hub .
Please find the attachment

image

Thank you

Issue in Exercise-7, Task-8

In Exercise-7/ Task-8, getting the below-mentioned error while running the PumpFailurePrediction.cs file.

Azure Functions Core Tools
Core Tools Version: 3.0.3442 Commit hash: 6bfab24b2743f8421475d996402c398d2fe4a9e0 (32-bit)
Function Runtime Version: 3.0.15417.0

[2021-10-26T06:21:13.570Z] Found C:\MCW-Predictive-Maintenance-for-remote-field-devices-master\Hands-on lab\Resources\FailurePredictionFunction\FailurePredictionFunction.csproj. Using for user secrets file configuration.

Functions:

PumpFailurePrediction: eventHubTrigger

For detailed output, run func with --verbose flag.
The terminal process "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command func host start" terminated with exit code: 1.

Exercise 2 Task3 Issue

Hi Team,
Any idea why the code is generating this issue and not able to register the devices? Please see the screen below
Ex2Task3

Out of date

The documentation is out of date.
The workshop cannot be followed because the IoT Central service has completely changed.

Exercise 2 :Task 3

Hi @DawnmarieDesJardins

In exercise 2 Task 3 ,when I debug the project in Visual studio code Dot net simulator is not showing up ,I'm getting the following message due to .net version issue.
image
Can you please specify the exact version for .Net core 2.2 to be used as it has multiple sub versions.
image

Lab Guide Updates

  1. Exercise 7, task 4 Step 4: While configuring the flow, it is mentioned to select the trigger When there are messages in a queue which is now updated to When there are messages in a queue (V2) (preview) as shown below.

Both Screenshot and instruction has to be updated.

LAB71

  1. Exercise 7, task 4 Step 5 : While configuring the Azure Queue, Instead of Connection Name the user have to set Authentication Type as Access key along with Storage Account Name and Shared Storage Key as shown in the below screenshot.

Both instruction and screenshot has to be updated.

LAB72

  1. Exercise 7, task 4 Step 6: While Configuring the Queue, user have to select the Storage account name along with Queue Name as shown below.

Both Instruction and screenshot has to be updated.

LAB73

  1. Exercise 7, task 4 Step 10: While configuring the flow, it is mentioned to select the trigger Delete message which is is updated to Delete message (V2) (preview) as shown in the below Image.

Both instruction and screenshot has to be updated.

LAB74

Issue in Exercise 7, task 8

In Exercise 7, task 8, facing an issue while running the function app locally. The logic app inside PowerApps is not getting triggered and we are not receiving any mail as shown in the lab guide.

Please find the error details below:

[2022-03-11T11:29:35.521Z] Executing 'PumpFailurePrediction' (Reason='(null)', Id=fd752961-743c-46e6-96c3-8132f1015d89)
[2022-03-11T11:29:35.522Z] Trigger Details: PartionId: 1, Offset: 5071384-5077168, EnqueueTimeUtc: 2022-03-11T06:14:52.2620000Z-2022-03-11T06:14:54.5280000Z, SequenceNumber: 7893-7902, Count: 10
[2022-03-11T11:29:35.539Z] Executed 'PumpFailurePrediction' (Failed, Id=fd752961-743c-46e6-96c3-8132f1015d89, Duration=15ms)
[2022-03-11T11:29:35.543Z] System.Private.CoreLib: Exception while executing function: PumpFailurePrediction. FailurePredictionFunction: 's' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0. System.Text.Json: 's' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0.

Issues in Hands-on-lab

Exercise 2 Task 3: As per the instruction when I tried debugging the solution, the operation failed with below error. Please find the attached screenshot below for reference.

pred-1

As per the requirements listed in the Before Hands-on-lab, I have installed .Net3.1 before debugging the solution. After checking on this issue, I figured out that path has to be changed in the launch.Json file
from ${workspaceFolder}/bin/Debug/netcoreapp3.0/Fabrikam.FieldDevice.Generator.dll
to ${workspaceFolder}/bin/Debug/netcoreapp3.1/Fabrikam.FieldDevice.Generator.dll

Exercise 4 Task 3: The dashboard UI of IOT Central application has been updated, instruction are to be updated for adding the tiles and properties into the dashboard as per the new UI.

Exercise 6 Task 1: Issue while running the cell to import libraries inside the Anomaly Detection notebook. Please find the attached screenshot below for reference.

pred-2

Exercise 7 Task 6: As per the instruction when I try to run the solution it fails with below error. Attached the screenshot below for reference.

pred-3

We have workshops scheduled on 26th, please look into the above issues and provide an update on the same...

Wrong .netcoreapp referenced

In Exercise 3 task 3, the launch.json file is referencing the wrong path to the .netcoreapp
"program": "${workspaceFolder}/bin/Debug/netcoreapp2.2/Fabrikam.FieldDevice.Generator.dll",

It should be :
"program": "${workspaceFolder}/bin/Debug/netcoreapp3.0/Fabrikam.FieldDevice.Generator.dll",

An error occurs after compiling the code as is. To fix it, the previous line had to be changed.

-Lino

Issues in exercise 6 and 7

In exercise 6 : Error occurs while running the notebook anomaly detection
importing statsmodels v 0.8.0
image
Resolution: It shows the error but after that if you run the next command it shows statsmodel is installed with v0.9.0

Cmd 7: set_random_seed is not a method in tensorflow 2.0, it was before.
image
image
Resolution: Change in command 7 line 15 to “import tensorflow as tf” and in cmd 19 line 2 change the code to “tf.random.set_seed(10)”. It’ll work.

Exercise 7:
After running PumpFailurePrediction.cs, an error occurs that doesn’t output the log statements of the devices ,because of this error deployment of functions app also fails
image

Resolution:
The .NET version in the code provided is 2.x whereas while creating the function app, it only takes .NET version as 3.x

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.