Overview
Learn how to deploy Intel® DevCatalog reference implementations to Azure* IoT Edge for Linux* on Windows* (EFLOW) †.
Azure IoT EFLOW allows you to run containerized Linux workloads alongside Microsoft* Windows applications in Windows IoT deployments.
Target System Requirements
Find details on supported platforms on the Microsoft website.
By default, the Azure IoT EFLOW installation supports CPU only. To be able to utilize integrated Graphics (iGPU) through the Azure IoT EFLOW Virtual Machine environment, you must install the Intel® Graphics – Windows* DCH Drivers that correspond to the hardware being used.
Prerequisite | Description |
---|---|
System Hardware |
|
Operating System | Microsoft Windows 10 IoT Enterprise Version 10.0.19044 or above |
How It Works
Through the Azure IoT EFLOW workflow, you can seamlessly deploy Linux-based Cloud native workloads from Azure to Windows IoT.
Azure IoT EFLOW is based on Microsoft* Hyper-V* technology. It is a virtual machine running a Microsoft* CBL-Mariner Linux distribution. To support AI acceleration using GPU, Azure IoT EFLOW has adopted the GPU-PV architecture used in Windows Subsystem for Linux (WSL) 2.
Provision and Deploy an Application with Azure IoT EFLOW
There are three ways to provision and deploy the reference implementations to Azure IoT EFLOW:
- Use Azure IoT Hub:
- Deploy application containers from the Cloud into Azure IoT EFLOW virtual machine (VM) through Azure IoT Hub.
- Visualize the output on Windows, which hosts Azure IoT EFLOW, or select the visualization tool of your choice (Grafana, Power BI*, Custom UI*, etc.).
- To learn more about this method, see the Learn More section.
- Use Azure IoT Central:
- Deploy the application containers from the Cloud into Azure IoT EFLOW VM using the deployment manifest file and then provision it with Device ID, Scope ID and Primary Key of the edge device created on Azure IoT Central.
- Do the visualization on the same edge device on Azure IoT Central that was provisioned with Azure IoT EFLOW VM.
- To learn more about this method, see the Learn More section.
- Use Both Azure IoT Hub and Azure IoT Central:
- Deploy the application containers from the Cloud into Azure IoT EFLOW VM through Azure IoT Hub and visualize through Azure IoT Central.
- Do the deployment using a deployment manifest file or by explicitly going through the IoT Modules Container Create options for the IoT edge device created under Azure IoT Hub.
- An Azure IoT Central connection needs to be made before deploying the modules on Azure IoT EFLOW VM. The EFLOW VM does not need to be provisioned with the Azure IoT Central device.
In the section Deploy Reference Implementations to Azure IoT EFLOW, the deployment of the reference implementations to Azure IoT EFLOW is done using method three, Use Both Azure IoT Hub and Azure IoT Central.
Deploy Reference Implementations to Azure IoT EFLOW
This section provides links to documentation about how to deploy specific Intel® DevCatalog reference implementations to Azure IoT EFLOW. To learn more about the individual reference implemenations, see the Learn More section.
Intelligent Traffic Management
Intelligent Traffic Management is designed to detect and track vehicles as well as pedestrians and to estimate a safety metric for an intersection. The reference implementation also detects collisions and near misses. A real-time dashboard visualizes the intelligence extracted from the traffic intersection along with annotated video stream(s). Deploy with Azure IoT EFLOW.
Social Distancing Detection for Retail Settings
A social distancing detection solution demonstrates an end-to-end analytics pipeline to detect people and calculates social distance between people from multiple input feeds. Frames are transformed, scaled and normalized into BGR images which can be fed to the inference engine in the Intel® Distribution of OpenVINO™ toolkit. Deploy with Azure IoT EFLOW.
Automated Checkout
Learn how to integrate device services using sensor fusion and microservices with this automated checkout reference implementation. Automated checkout solution simulates the hardware components and user actions in a retail use case: monitoring the inventory and operating conditions of a retail cooler or cabinet. Deploy with Azure IoT EFLOW.
Summary and Next Steps
You have successfully deployed Intelligent Traffic Management and/or Social Distancing Detection for Retail Settings reference implementations to Azure IoT EFLOW.
As a next step, try out the other examples on the Connect Edge Devices to Azure IoT use case.
Learn More
To continue your learning, see the following guides and software resources:
- Learn more about deploying and provisioning an Azure IoT EFLOW device:
- Microsoft* Azure IoT EFLOW documentation.
- Learn more about the individual reference implementations and their supported hardware:
- Azure IoT Edge for Linux on Windows Diagram
Appendix
Azure IoT EFLOW installation alone allows users to run vision workloads on CPU only. To utilize integrated Graphics (iGPU), you must enable Hyper-V and Intel® Graphics Driver (with WSL GPU support) prior to installing Azure IoT EFLOW from Microsoft. Refer to the following sections for details.
Enable Hyper-V
If you have not already done so, enable Hyper-V to create virtual machines on Windows*. Follow the instructions below to enable the Hyper-V feature using PowerShell.
NOTE: This step is required for both CPU and iGPU.
- Open an elevated PowerShell* console and run the following command:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
- You will be prompted to reboot. Enter Y to reboot.
NOTE: Hyper-V can be enabled in many ways. Refer to Microsoft* Documentation for further details and options.
Install Intel® Graphics Driver (with WSL GPU support)
Intel® Graphics Driver (version 30.0.100.9955 or later) is required to support WSL GPU. Follow the instructions below to update the Intel® Graphics Driver.
- Download and install Intel® Graphics Driver (version 30.0.100.9955) from Intel® Graphics – Windows* DCH Drivers.
NOTE: For Intel® pre-launch platforms, work with your Intel representative to create an account and get access to the platform BKC document (CCL#648433).
WSL Installation
WSL installation is needed as some libraries are shared between WSL and Azure IoT EFLOW runtime. Follow the instructions below to install WSL.
- Open an elevated PowerShell console and run the following command:
wsl --install
The system will be required to restart after WSL installation. By default, the installed Linux distribution is Ubuntu*.
NOTE: WSL can be installed via another method; refer to Microsoft* Documentation for further details and more options.
Support Forum
If you're unable to resolve your issues, contact the Support Forum.
†You are responsible for payment of all third-party charges, including payment for use of Microsoft Azure services.
For the most up-to-date information on Microsoft® Azure products, see the Microsoft Azure website.