Microsoft Touts New VS Code Extension for IoT Development

Microsoft this week published hands-on guidance for using its new Azure IoT Edge service, just launched as an extension for the Visual Studio Code editor in a public preview program.

The preview offering, first announced at the Connect(); conference last month, can be used in conjunction with another tool, the updated Azure IoT Toolkit extension, to bolster Internet of Things development.

Azure IoT Edge is a fully managed service that lets developers move "cloud intelligence" -- such as analytics, data processing and custom business logic -- to IoT devices instead of their backing cloud-based infrastructure.

To do that, it works with other services such as Azure Machine Learning, Azure Stream Analytics and Azure Functions. It lets developers incorporate artificial intelligence (AI) and other cutting-edge technologies into their IoT device development.

Azure IoT Edge is made up of three components, listed by Microsoft as:

  • IoT Edge modules are containers -- running Azure services, third-party services or custom code.-- that are deployed to IoT Edge devices for local execution on those devices.
  • The IoT Edge runtime runs on each IoT Edge device, managing the modules deployed to each device.
  • A cloud-based interface that Microsoft said enables developers to remotely monitor and manage IoT Edge devices.
Azure IoT Edge
[Click on image for larger view.] Azure IoT Edge (source: Microsoft).

Features of the IoT Edge preview, Microsoft says on the service's site, include the ability to:

  • Run artificial intelligence at the edge
  • Perform edge analytics
  • Deploy IoT solutions from cloud to edge
  • Manage devices centrally from the cloud
  • Operate with offline and intermittent connectivity
  • Enable real-time decisions
  • Connect new and legacy devices
  • Reduce bandwidth costs

Using the IoT Edge preview requires using the Docker container service and the Azure IoT Edge Runtime Control, while the installation of the Docker Support for Visual Studio Code is recommended in order to manage IoT Edge Docker images, containers and registries.

The Azure IoT Toolkit, meanwhile, helps to interact with Azure IoT Hub, IoT Device Management, IoT Edge Management and IoT Hub Code Snippets. It features a Device Explorer for device management and working with the Azure IoT Hub and Azure IoT Edge, along with code snippets for sending messages to and from the cloud, to and from devices, and other functionality.

In a blog post this week, Microsoft's Xinyi Zhang, senior engineering manager, IoT Tools and Services, walked through the process of using the tool in development, showing how to create a simulated Edge device, develop and deploy a C# IoT Edge module, and debug that C# module.

"Now you can bring the intelligence of the cloud right to the IoT Edge as well as easily create and manage business logic for your devices," he said. "The new Azure IoT Edge extension for Visual Studio Code along with the updated Azure IoT Toolkit extension will make your IoT Edge developments a real pleasure."

The Azure IoT Edge extension supports C# modules and C# Functions, with support for more languages planned. Last month, a developer asked if JavaScript could be used to build modules, and Microsoft replied that such functionality is on the road map. "We will soon open source our source code and you can start [to] track the issues there," Microsoft added in its reply to the JavaScript question on Nov. 28. The Azure IoT Edge source code for version 1 (the new public preview is referred to as the second version) is housed on GitHub now.

The Azure IoT Edge extension, listed in the Visual Studio Code Marketplace, has been installed more than 5,600 times as of this writing, earning a perfect 5.0 rating from five reviewers.

The Azure IoT Toolkit extension has been installed more than 49,000 times, earning a perfect 5.0 score from four reviewers.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


Subscribe on YouTube

Upcoming Events