Skip to content
This repository has been archived by the owner on Apr 23, 2022. It is now read-only.

microsoft/vscode-iot-workbench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Azure IoT Device Workbench for Visual Studio Code

Gitter Build Status

Azure IoT Device Workbench extension is now part of Azure IoT Tools extension pack. We highly recommend installing Azure IoT Tools extension pack, which makes it easy to discover and interact with Azure IoT Hub that power your IoT Edge and device applications. This extension pack can help you:

  • Develop and connect your Azure IoT Applications to Azure. With this extension, you can interact with an Azure IoT Hub, manage connected devices, and enable distributed tracing for your Azure IoT applications.
  • Develop and debug Certifies Azure IoT Devices (including MXChip IoT DevKit, ESP32, Raspberry Pi) to Azure. This extension pack makes it easy to code, build, deploy and debug your IoT applications with popular IoT development boards.
  • Develop and deploy artificial intelligence and your custom logic to Azure IoT Edge. This extension pack makes it easy to code, build, deploy, and debug your IoT Edge applications.

Overview

The Azure IoT Device Workbench is a Visual Studio Code extension that provides an integrated environment to code, build, deploy, and debug your IoT device project with multiple Azure services supported.

If you would like to develop device using IoT Plug and Play preview refresh and the Digital Twin Definition Language (DTDL), you could refer to the DTDL extension to get intellisense completion and syntax validation of DTDL.

Get Started

Develop on generic device

Currently the following device platforms and languages are supported in Azure IoT Device Workbench.

Embedded Linux public preview

For Embedded Linux devices, the Device Workbench uses container to simplify the cross-compiling tool chain setup and configuration, which means all cross-compiling work happens in the container.

Languages supported: C/C++

Devices supported: Cortex-A series devices (e.g. Raspberry Pi, NXP i.MX6) that are running embedded Linux such as Debian, Ubuntu or Yocto Linux.

Follow the setup guide to setup the prerequisite including Docker runtime.

Here are a set of tutorials to help you get started:

Arduino

Currently, Device Workbench supports MXChip IoT DevKit and ESP32 DevKits using Arduino. For generic Arduino device, we recommend you use Arduino extension in VS Code.

Languages supported: Arduino C/C++

Devices supported: MXChip IoT DevKit, ESP32.

The Device Workbench relies on Arduino IDE as a dependency to develop on the above devices. If you have installed Device Workbench prior to Arduino IDE, you may need to restart VS Code to make it find the Arduino IDE installation path correctly.

MXChip IoT DevKit

Follow the setup guide to setup the environment including the Arduino extension.

Here are a set of tutorials to help you get started:

ESP32

Follow the setup guide to setup ESP32 device including the Arduino extension.

Here are a set of tutorials to help you get started:

Please take the survey to let us know extra device platforms and languages you want to see support in Device Workbench.

Develop device using IoT Plug and Play

This section is deprecated for Azure IoT Device Workbench 0.16.0 or above.

If you are using Azure IoT Device Workbench extention before 0.16.0, this extension provides an integrated environment to author IoT Plug and Play public preview device capability models (DCM) and interfaces, publish to model repositories, and generate skeleton C code to implement the device application.

Learn how to get started with IoT Plug and Play public preview and use the Device Workbench extension to build an IoT Plug and Play device:

Commands

Generic device development

Command Description
Azure IoT Device Workbench: Create Project... Create new IoT Device Workbench projects.
Azure IoT Device Workbench: Open Examples... Load existing examples of IoT Device Workbench project.
Azure IoT Device Workbench: Provision Azure Services... Provision Azure services for current project.
Azure IoT Device Workbench: Deploy to Azure... Deploy the code of the Azure services.
Azure IoT Device Workbench: Compile Device Code Compile device code.
Azure IoT Device Workbench: Upload Device Code Compile and upload device code.
Azure IoT Device Workbench: Configure Device Settings... Manage the settings on the device.
Azure IoT Device Workbench: Set Workbench Path Set the default path for Azure IoT Device Workbench.
Azure IoT Device Workbench: Help Get help for Azure IoT Device Workbench.

IoT Plug and Play

These commands are deprecated for Azure IoT Device Workbench 0.16.0 or above.

Command Description
IoT Plug and Play: Create Capability Model... Create new IoT Plug and Play device capability model file.
IoT Plug and Play: Create Interface... Create new IoT Plug and Play interface file.
IoT Plug and Play: Generate Device Code Stub... Generate skeleton device code and project based on given device capability model file.
IoT Plug and Play: Open Model Repository... Open Public or Company Model Repository view to manage device model files.
IoT Plug and Play: Submit files to Model Repository... Submit files to model repository.
IoT Plug and Play: Sign out Model Repository Sign out the Company Model Repository.

Documentation

Privacy Statement

The Microsft Enterprise and Developer Privacy Statement describes the privacy statement of this software.

Contributing

There are a couple of ways you can contribute to this repo:

  • Ideas, feature requests and bugs: We are open to all ideas and we want to get rid of bugs! Use the Issues section to either report a new issue, provide your ideas or contribute to existing threads.

  • Documentation: Found a typo or strangely worded sentences? Submit a PR!

  • Code: Contribute bug fixes, features or design changes:

    • Clone the repository locally and open in VS Code.
    • Install TSLint for Visual Studio Code.
    • Open the terminal (press Ctrl + `) and run npm install.
    • To build, press F1 and type in Tasks: Run Build Task.
    • Debug: press F5 to start debugging the extension.
    • Run gts check and gts fix to follow TypeScript style guide.
  • Example: Contribute examples for the supported devices.

    • Create a git repo to host the code of your example project.

    • Write a tutorial to describe how to run the example.

    • Submit a new issue and provide the following information:

      Item Description
      Name Name of the example to be displayed in example gallery.
      Description A short statement to describe the example.
      Location URL of the GitHub repo.
      Image URL of the example image (size: 640*370) shown in the gallery, if not provided, the default image will be used.
      Tutorial URL of tutorial that describes how to run the example.
      Difficulty Difficulty of the example, easy, medium or difficult.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information please see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Contact Us

If you would like to help to build the best IoT experience with Azure IoT Device Workbench, you can reach us directly at Gitter.

Telemetry

VS Code collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. If you don’t wish to send usage data to Microsoft, you can set the telemetry.enableTelemetry setting to false. Learn more in our FAQ.