Skip to content

Manual Dev Machine Setup

Chaoyi Yuan edited this page Jul 14, 2020 · 22 revisions

Here is what you need to do to get Azure IoT Edge Dev Tool (aka iotedgedev) running on your dev machine manually instead of using the IoT Edge Dev Container.

If you are using a separate Edge device, like a Raspberry Pi, you do not need to run all of these steps on your IoT Edge device, you can install and setup Edge runtime directly on the device. See the Edge Device Setup wiki page for more information on setting up your Edge device.

Note: See the "Test Coverage" wiki page to see what the IoT Edge Dev Tool has been tested with.

  1. Install Docker

    • Windows
      • Be sure to check whether you are running in Linux container mode or Windows container mode.
    • Linux
  2. Install Python 2.7+ or Python 3.6+ and pip (Python 3.6 is recommended)

    • Windows: Install from Python's website
    • Linux: sudo apt install python-pip or sudo apt install python3-pip
    • macOS: The OpenSSL used by the system built-in Python is old and vulnerable. Please use Python installed with Homebrew
  3. Install Azure CLI 2.0

  4. Install Azure CLI IoT extension

    • New Install: az extension add --name azure-cli-iot-ext
    • Update Install: az extension update --name azure-cli-iot-ext
  5. (Python < 3.5 only) Install Node.js and the iothub-explorer package

    • uamqp, which is needed by Azure CLI IoT extension for monitoring messages, is not supported in Python < 3.5. For Python < 3.5 users, please install Node.js and the iothub-explorer Node.js package: npm i -g iothub-explorer
  6. (Raspberry Pi only) Install extra system dependencies

    sudo apt-get install python2.7-dev libffi-dev libssl-dev -y
  7. (Linux only) Install Docker Compose

    pip install -U docker-compose
  8. Install iotedgedev

    You do not need to run this on the Edge device. See the Edge Device Setup page for more information on setting up your Edge device.

    You can also run under a Python Virtual Environment. See the Python Virtual Environment Setup instructions page for details on how to set that up.

    There is a known dependency conflict between iotedgedev and now-deprecated azure-iot-edge-runtime-ctl. Please make sure you have uninstalled azure-iot-edge-runtime-ctl before installing iotedgedev: pip uninstall azure-iot-edge-runtime-ctl , or use a clean virtual environment.

    pip install -U iotedgedev
  9. Install module dependencies

    C# module and C# Azure Functions module

    Install .NET Core SDK.

    You need .NET Core SDK 2.1 or later to run it on ARM. There is no official document on installing .NET Core SDK on ARM yet, but you can follow the ARM32v7 Dockerfile.

    Python module
    1. Install Git
    2. Install Cookiecutter
    pip install -U cookiecutter
    Node.js module
    1. Install Node.js
    2. Install Yeoman and Azure IoT Edge Node.js module generator packages
    npm i -g yo generator-azure-iot-edge-module
    Java module
    1. Install JDK
    2. Install Maven
  10. Follow the Usage Wiki to learn the usage of IoT Edge Dev Tool