Today we are excited to announce and highlight several tooling improvements for developers building solutions that are using Azure IoT Edge. For your IoT solutions, Azure IoT Edge moves cloud analytics and custom business logic to devices so that your organization can focus on business insights instead of data management. Learn more about Azure IoT Edge in this overview article. In this blog post I will highlight the latest improvements in our developer tooling.
Azure IoT Edge extension for Visual Studio 2017 (preview)
With this new extension developers in Visual Studio 2017 will be able to easily create, debug, and deploy solutions using Azure IoT Edge. This first preview build supports C# modules for Azure IoT Edge. Here is how you get started:
- Install the new extension and the required prerequisites.
- Open Visual Studio 2017 and go to File > New > Project.
- Under the C# category, select “Azure IoT Edge Project”.
Now you are ready to run your first Edge module and see data flowing through the solution thanks to the simulator that comes with the extension. To see this in action set a breakpoint in file Program.cs in method PipeMessage() and hit F5.
When you are ready to deploy your Azure IoT Edge modules to an actual device, you can easily deploy from Visual Studio 2017 thanks to the integration with the Cloud Explorer. First, make sure you right-click on the project and select “Build and Push IoT Edge Solution”. Then, find your Azure IoT Hub service and the Edge device to deploy to in the Cloud Explorer view and select “Create Deployment”:
Learn more about the new Visual Studio 2017 extension for Azure IoT Edge.
Azure IoT Edge Jenkins plugin
We are also happy to share that the Azure IoT Edge Jenkins plugin has been released. This release provides native Jenkins capabilities to continuously build IoT Edge solutions and deploy to Azure IoT Edge devices. You can choose to use Azure DevOps Services together with Jenkins, or leverage this plugin to deliver your Intelligent Edge solutions including:
- Build Azure IoT Edge modules in C#, Python, Node.js, C or Java, or C# Functions.
- Push modules to Azure Container Registry or other registries of your choice.
- Build Linux containers or Windows containers.
- Deploy to individual IoT Edge devices or deploy to multiple devices at scale.
Learn more about the new Azure IoT Edge Jenkins plugin.
Updates for Azure IoT Edge extension for Visual Studio Code
For developers who are using the existing Azure IoT extensions for Visual Code for their Edge solution development, we have also recently released several important improvements including the following highlights:
- IoT Edge Simulator for local testing and debugging on Windows, Linux, or Mac.
- Debug multiple modules simultaneously.
- Build Azure Stream Analytics modules.
- Build custom modules using C.
- Build custom modules using Java, new in 1.3.0.
- Invoke module method in the context menu of module list, new in 1.4.0.
Learn more about the recent Azure IoT Edge Extension improvements for Visual Studio Code.
CLI for Azure IoT Edge developers: iotedgedev
Last but not least, the open source IoT Edge Dev Tool simplifies inner-loop development tasks (code, debug, test) as well as CI/CD tasks with an easy to use command line interface:
Usage: iotedgedev [OPTIONS] COMMAND [ARGS]... Options: --version Show the version and exit. -h, --help Show this message and exit. Commands: add Add a new module to the solution build Build the solution deploy Deploy solution to IoT Edge device genconfig Expand environment variables and placeholders in *.template.json and copy to config folder init Create a new IoT Edge solution and provision Azure resources log Open a new terminal window for EdgeAgent, EdgeHub and each Edge module and save to LOGS_PATH monitor Monitor messages from IoT Edge device to IoT Hub new Create a new IoT Edge solution push Push module images to container registry setup Setup IoT Edge simulator. This must be done before starting start Start IoT Edge simulator stop Stop IoT Edge simulator docker Manage Docker iothub Manage IoT Hub and IoT Edge devices simulator Manage IoT Edge simulator solution Manage IoT Edge solutions