WhatTheHack/029-IoTEdge
akkleine1986 963b6805a8
[Hack Update] 029-IoTEdge - 2022 Refresh (#512)
* 2022 Refresh

	Changes
	Main Readme
	Added Alan Kleinert as Contributor

	Student Challenge 1
	Corrected Locations for Device Streams in Challenge 1 (Duplicate Central US to Central US EUAP (Early Updates Access Program)
	Fixed broken link for "IoT Edge BackGround Deck" and removed capitalization from the G in BackGround.

	Coach Challenge 1
	Added additional guidance and references to creating a "virtual" edge device

	Student Challenge 2
	Removed  "Software ToolBox Top OPC Server" from options for OPC as there are no coaches notes on it and the least favorable option out of the 3

	Coach Challenge 2
	None

	Student Challenge 3
	CommandLine link was broken so replaced it with active link

	Coach Challenge 3
	"Details on container create options" link was broken.  Replaced with new active link.
	Added two additional guides to help with OPC Publisher config if needed.
	Changed "Details" hyperlink to TPM Attestation

	Student Challenge 4
	TSI is being decommissioned and is no longer being developed on.  This challenge should be refactored to use ADX and PowerBI

	Coach Challenge 4
	TSI is being decommissioned and is no longer being developed on.  This challenge should be refactored to use ADX and PowerBI

	Student Challenge 5
	Changed bases to based
	"Create a Query that filters or aggregates your data bases upon business requirements. Test this filter/aggregation (HAVING clause for example) but don't save in the query, only test."

	Coach Challenge 5
	None

	Student Challenge 6
	Removed duplicate of manifest, Switched the wording  to "you only target
	"Push the deployment manifest manifest to the IoT Hub, making sure that only the you target the tag you created in step 1, i.e., only the devices with that tag receive the deployment."

	Coach Challenge 6
	None

	Student Challenge 7
	Recommend removing Device Streaming all together as the new Device SDK no longer includes necessary packages. It doesn't appear any more development is going into this at this point.
	Azure/azure-iot-sdk-csharp: A C# SDK for connecting devices to Microsoft Azure IoT services (github.com)

	Coach Challenge 7
	Remove

* Update Challenge-05.md

* Update Challenge-07.md

* Update Challenge-01.md

Fixing the link so it does NOT open the WTH repo.

Co-authored-by: Peter C. Laudati <plaudati@hotmail.com>
2022-11-11 20:43:16 -05:00
..
Coach [Hack Update] 029-IoTEdge - 2022 Refresh (#512) 2022-11-11 20:43:16 -05:00
Student [Hack Update] 029-IoTEdge - 2022 Refresh (#512) 2022-11-11 20:43:16 -05:00
README.md [Hack Update] 029-IoTEdge - 2022 Refresh (#512) 2022-11-11 20:43:16 -05:00

README.md

What The Hack - IoT Process Control at the Edge

Introduction

Azure IoT capabilities offer a number of benefits to customers seeking to manage and operate embedded devices at scale but also to manage, deploy and operate Edge devices deployed to remote endpoints at scale. IoT Edge can be deployed to Windows/Linux devices running ARM/x86 processors of varying sizes up-to and including low-power compute devices like a Raspberry PI.

IoT Edge also offers some unique and powerful capabilities for industrial customers running manufacturing, inspection or control applications inside a plant. These workloads require low-latency connections to align with the tact-time of assembly/manufacturing operations and often times customers are concerned (rightfully so) about relying on WAN connectivity for their plant to operate. This is where IoT Edge can be deployed to offer value to customers needing to run, local in the plant, capabilities to support data collection, processing or to integrate as part of a closed-looped control system where close proximity to devices like Programmable Logic Controllers (PLCs) are running process control functions in a plant. Typically these customers have additional security concerns opening up industrial control system networks that are isolated by design for security reasons directly the Internet or to Internet connected services. IoT Edge can play an important role in this scenario to deploy local to a customer's environment features of Azure such as Azure functions, ML services, data collection/aggregation operations and closed-loop control applications in a secure and low-latency manner while offering the ability to manage and operate these environments at scale from the cloud.

So how can an Edge device connect to these industrial control networks? Usually these networks are specialized to the manufacturer of the PLC such as ControlNet, Profinet, Modbus and many others. For a compute device to easily communicate to these networks manufacturing plants typically employ OPC, or Open Platform Communications as a means to facilitate direct communication to industrial control hardware. This involves software from vendors such as Kepware, Rockwell Automation, Iconics, Siemens and countless others the bridge the gap between the control network and open-APIs that can be used by software to pull/push data to these PLCs running industrial applications/operations.

So how does this extend to the Azure IoT Edge space and how can this help? IoT Edge offers capabilities to run custom 'code' or commercially supported modules on the compute appliance to perform tasks or to be triggered by an external event. Microsoft makes available Industrial IoT modules that can be deployed to IoT Edge devices deployed to plants that allow these devices to easily extract and interact or be triggered by data/state changes on PLCs using OPC! This OpenHack will involve building a solution on how this can be leveraged to solve many common engineering scenarios in the industrial control space.

Background

Contoso has a sophisticated manufacturing environment distributed across many plants in many countries. They use a number of PLCs in these plants but have a common vendor they use for an OPC/UA server to capture data for their plant historian. They would like to take advantage of real-time analytics capabilities of the cloud to stream their production process control data generated by sensors and instrumentation captured by their PLCs in the cloud. Their security team is concerned about opening their OPC server up to public internet connectivity but their quality and maintenance teams would both like to use cloud ML and time-series reporting capabilities to analyze data emitted from PLCs. Your goal as an architect is to help them plan a solution on how to safely extract this data using existing compute resources while addressing their concerns for security.

This hack includes presentations that feature lectures introducing key topics associated with each challenge. It is recommended that the host present each lecture before attendees kick off that challenge.

Learning Objectives

In this hack you will solve common challenges for companies planning to use Azure IoT in Industrial IoT scenarios. This includes:

  1. Deploying and configuring the IoT Edge runtime
  2. Deploying modules to the running IoT Edge device
  3. Managing/monitoring/configuring IoT Edge devices at scale from IoT Hub
  4. Configuring an OPC (simulator) to generate factory data
  5. Interfacing IoT Edge to the factory simulator to capture data and push to the cloud
  6. Consuming data published to the cloud for analysis and reporting

Challenges

Repository Contents

  • ../Coach/Presentations
    • Contains all presentations listed in the Introduction above.
  • ../Coach/assets
    • Screenshots and ARM templates to deploy PLC simulator

Contributors

  • Ryan Berry
  • João Pedro Martins (@lokijota)
  • Orrin Edenfield
  • Amit Agrawal
  • Alan Kleinert