/iotedgedev

The Azure IoT Edge Dev Tool greatly simplifies your Azure IoT Edge development process. It has everything you need to get started and helps with your day-to-day Edge development.

Primary LanguagePythonOtherNOASSERTION

Azure IoT Edge Dev Tool

Travis Build Status VSTS Build Status

The IoT Edge Dev Tool greatly simplifies Azure IoT Edge development down to simple commands driven by environment variables.

  • It gets you started with IoT Edge development with the IoT Edge Dev Container and IoT Edge solution scaffolding that contains a default module and all the required configuration files.
  • It speeds up your inner-loop dev (dev, debug, test) by reducing multi-step build & deploy processes into one-line CLI commands as well as drives your outer-loop CI/CD pipeline. You can use all the same commands in both stages of your development life-cycle.

Overview

For the absolute fastest way to get started with IoT Edge Dev, please see the Quickstart section below.

For a more detailed overview of IoT Edge Dev Tool including setup and commands, please see the Wiki.

Quickstart

This quickstart will run a container, create a solution, setup Azure resources, build and deploy modules to your device, setup and start the Edge simulator and then monitor messages flowing into IoT Hub.

Here's a 3 minute video walk-through of this Quickstart:

Azure IoT Edge Dev Tool: Quickstart

The only thing you need to install is Docker. All of the other dev dependencies are included in the container.

  1. Install Docker

    • Open Docker Settings and setup a Shared Drive that you'll use to store your IoT Edge Solution files.
    • Windows
      • Be sure to check whether you are running in Linux container mode or Windows container mode.
    • Linux
  2. Run the IoT Edge Dev Container

    Before you run the container, you will need to create a local folder to store your IoT Edge solution files.

    Windows

    mkdir c:\temp\iotedge
    docker run -ti -v /var/run/docker.sock:/var/run/docker.sock -v c:/temp/iotedge:/home/iotedge microsoft/iotedgedev
    

    Linux

    sudo mkdir /home/iotedge
    docker run -ti -v /var/run/docker.sock:/var/run/docker.sock -v /home/iotedge:/home/iotedge microsoft/iotedgedev
    
  3. Initialize IoT Edge solution and setup Azure resources

    iotedgedev init

    iotedgedev init will run both iotedgedev new . and iotedgedev iothub setup, which will create a new solution and setup your Azure resources in a single command.

    If you want to use your existing IoT Hub and IoT Edge device, you can run iotedgedev new ., and update the .env file with the IoT Hub connection string and IoT Edge device connection string. iotedgedev new . will add a default C# filtermodule to the solution. To customize this behavior, use iotedgedev new . --module <module-name> --template <template>

  4. Add modules to IoT Edge solution

    iotedgedev add <module-name> --template <template>

    Currently the available template values are csharp, nodejs, python, csharpfunction. We are working on supporting more templates.

  5. Build IoT Edge module images

    iotedgedev build

  6. Setup the IoT Edge Simulator

    iotedgedev setup

  7. Start the IoT Edge Simulator to run the solution

    iotedgedev start

    You can also combine setup and start with iotedgedev start --setup

  8. Monitor messages sent from IoT Edge Simulator to IoT Hub

    iotedgedev monitor

  9. Stop the IoT Edge Simulator

    iotedgedev stop

  10. Push IoT Edge module images

    iotedgedev push

  11. Deploy modules to IoT Edge device

    iotedgedev deploy

    You can also combine push and deploy with iotedgedev push --deploy

  12. Monitor messages sent from IoT Edge Runtime to IoT Hub

    iotedgedev monitor

Resources

Please refer to the Wiki for details on setup, usage, and troubleshooting.

Please refer to the Contributing file for details on contributing changes.