Difficulty: intermediate
Estimated Time: 10 minutes

In this course, we'll learn the high-level Azure IoT Edge concepts and learn how to use the Azure IoT Edge Dev Tool.

Azure IoT Edge addresses two main scenarios:

  1. Gateway: Enables non-internet connected devices to interact with Azure.
  2. Intelligence: Enables local storage, compute and real-time decision making on the edge of your network.

If you are new to Azure IoT Edge, then you should read through the Azure IoT Edge Concepts. In a nutshell, the Azure IoT Edge runtime is based on containers. The runtime itself is a container called EdgeAgent. IoT Edge also provides a container, called EdgeHub, that sends messages from the IoT Edge device to your IoT Hub. You, the developer, create custom modules, package them into containers and deploy them to the IoT Edge device via the IoT Hub. One of the biggest benefits of using the IoT Edge Runtime, is that you can remotely deploy new modules, adjust properties, and even remotely call methods on the IoT Edge Device.

The Azure IoT Edge Dev Tool assists developers in creating IoT Edge Solutions, coding and deploying modules and creating CI/CD pipelines. This CLI tool complements the IoT Edge VS Code extension by turning multi-step manual processes into simple one-line commands, such as iotedgedev build --deploy, which performs all of the following for each module: dotnet restore, build, publish, docker build, tag, push and then deploys the configuration to the IoT Edge device. You can find all of the details on Azure IoT Edge Dev Tool here.

We'll now walk through the IoT Edge Dev Tool Quickstart:

  1. Start the IoT Edge Container
  2. Initialize an IoT Edge Solution and setup our Azure IoT Hub and Edge Device
  3. Build and Deploy our IoT Edge Modules
  4. Setup and Start the IoT Edge Runtime
  5. Monitor Messages flowing from the IoT Edge Device to IoT Hub

Click the Start Scenario button to get started.

Jon Gallant

In this tutorial you learned about Azure IoT Edge and the Azure IoT Edge Dev Tool.

The Azure IoT Edge Dev Tool has many more features to assist in your day-to-day IoT Edge development activities. You can also use all of these same commands in your CI/CD pipeline.

Please visit http://aka.ms/iotedgedev for the complete Azure IoT Edge Dev Tool documentation.

Azure IoT Edge Dev Tool Introduction

Step 1 of 5

Step 1 - Run Azure IoT Edge Dev Tool Container

To get started, let's run a custom Azure IoT Edge Dev Container that contains all of the pre-requisites required for IoT Edge development, including:

  • Docker
  • .NET Core SDK
  • Python
  • Pip
  • Azure CLI

Click the following to run the container:

docker run -it -v /var/run/docker.sock:/var/run/docker.sock -v /home:/home -w /home/iotedge jongallant/iotedgedev

This container also includes the Azure IoT Edge Dev Tool, which was installed via pip with the following command:

pip install -U azure-iot-edge-dev-tool

(You do not need to execute this command because it is already included in the container)


Click the Continue button when you see the /home/iotedge folder in the terminal to the right.