Standalone Azure IoT EdgeHub Dev Tool (iotedgehubdev) Introduction

Renlong Tu

As an IoT developer, when you work with Azure IoT Edge project, one of the issues you might have is that you would like to debug your Edge modules locally before actually deploy them to the production environment. This can be done by Azure IoT EdgeHub Dev Tool (iotedgehubdev), which provides a local development experience for creating, testing, running and debugging Azure IoT Edge modules and solutions. Using Azure IoT EdgeHub Dev Tool, you do not need to install IoT Edge Runtime on your local machine, and all you need is to install Azure IoT EdgeHub Dev Tool and Docker, which greatly smooth the development of Azure IoT Edge projects. For more details about Azure IoT EdgeHub Dev Tool, please visit iotedgehubdev repo.

However, we found that install Azure IoT EdgeHub Dev Tool is not that smooth for most of the Azure IoT Edge developers on Windows platform. A lot of users would have troubles when installing this tool. From our investigation, we found some clues:

  • IoT Edge Dev Tool is built on Python, and this required Python environment on developer’s dev machine, so some users who do not have Python installed on their machine would have trouble to install the tool.
  • Some developers have python environment, however, the version of Python is not compatible with IoT Edge Dev Tool which would also cause installation failure.
  • Although some developers have compatible Python installed, however, some libraries conflict might also lead to installation failure.

Take all these into consideration, by using technology of PyInstaller, we have shipped a standalone Azure IoT EdgeHub Dev Tool so that developers who use Windows as development environment no longer need to install Python, and we also integrated it in the latest release of Azure IoT Edge VSCode / Visual Studio extension, all this changes are transparent and dramatically increase installation success rate for Windows Azure IoT Edge developers.

Now let’s walk through how to use standalone Azure IoT Edge Dev Tool for Windows developers:

 

For Azure IoT Edge VSCode extension users

Since Azure IoT Edge VSCode extension 0.19.0 has already integrated the standalone Azure IoT Dev Tool, all you need is to install the latest extension:

  1. Install latest Azure IoT Edge VSCode extension (>= 0.19.0), and the extension can be found here
  2. Open or Create an Edge project, you would see a progress window showing “Downloading and installing Azure IoT EdgeHub Dev tool (iotedgehubdev)…”
  3. when the progress windows disappeared, you are done with the installation of standalone Azure IoT Dev Tool, you can develop and debug Azure IoT Edge project now.

For Azure IoT Tools Visual Studio extension users

Azure IoT Edge Tools (version >= 1.4.0) for Visual Studio also integrated the standalone Azure IoT Dev Tool, you can follow the steps below to use it:

  1. Install latest Azure IoT Tools:
    • For Visual Studio 2017, you can download the extension here
    • For Visual Studio 2019, you can download the extension here
  2. Open or Create an Azure IoT Edge project, you would see “Start downloading and installing Azure IoT Edge simulator… “ from the output window
  3. If everything works fine, you would see “Download and install Azure IoT Edge simulator successfully!” message in the output window, now you’re ready to develop and debug Edge project using Visual Studio

For command line users

If you want to use standalone Azure IoT EdgeHub Dev Tool directly from command line, you can follow the steps below:

  1. Go to Azure IoT EdgeHub Dev Tool releases page and download the latest binaries:
  2. Unzip the binaries to a folder, such as “C:\iotedgehubdev“
  3. Edit system environment variables, and add the folder to the system PATH
  4. Now you are done, you can invoke Azure IoT EdgeHub Dev Tool through command line

Conclusion

With the release of standalone Azure IoT EdgeHub Dev Tool, now Windows developers do not need to have Python environment to use this tool. Azure IoT Edge extensions for VSCode and Visual Studio also integrate it, which help users automatically install the tool. To learn more about how to develop and debug Azure IoT Edge projects, please visit our documents.

Renlong Tu
Renlong Tu

Follow    

1 comment

  • Sohno Mehar
    Sohno Mehar

    Standalone means an device or object that may operate independently from another system or object. Standalone may also function as an adjective, describing an independent object or device. Stand-alone is an acceptable variant. Read More

Leave a comment