Skip to content
Azure IoT Device Workbench for Visual Studio Code
TypeScript Dockerfile JavaScript HTML Shell C Other
Branch: master
Clone or download
Latest commit 1399b70 Nov 27, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows update need attention message (#811) Nov 11, 2019
.vscode Remove useless files Aug 8, 2019
devicedevex_dockerfiles Update docker images iot-device-cube:1.0.4 to use the latest 2019-11-… Nov 22, 2019
docs Update configure-external-cmake-project-as-embedded-linux-project.md Nov 25, 2019
hooks add git hooks (#25) Dec 25, 2017
resources clear PnP command and integrate with PnP extension Nov 18, 2019
scripts Update Owl Project Display Name Nov 21, 2019
src Revert "Serialport" Nov 27, 2019
test clear PnP related code Nov 18, 2019
vendor/node-usb-native Merge fix from master (#833) Nov 20, 2019
views remove welcome page Nov 4, 2019
.gitattributes add vue.js into vendor list (#224) Apr 23, 2018
.gitignore Merge pnp functions from tfs (#681) Jul 29, 2019
.travis.yml Modify CI for develop build Nov 25, 2019
.vscodeignore Remove useless urls from package.json Nov 6, 2019
CHANGELOG.md v0.10.17 changelog Nov 22, 2019
LICENSE Initial commit Dec 12, 2017
README.md Update README.md Nov 25, 2019
azure-pipelines.yml Merge pnp functions from tfs (#681) Jul 29, 2019
gts.cmd revert gts Jun 27, 2018
logo.png Change to new logo (#545) Dec 25, 2018
package-lock.json Merge fix from master (#833) Nov 20, 2019
package.json Merge branch 'master' of github.com:Microsoft/vscode-iot-workbench in… Nov 25, 2019
tsconfig.json Merged PR 472311: merge the iot-workbench code from the main stream May 31, 2019
updateDynamicResourceLink.js Merge pnp functions from tfs (#681) Jul 29, 2019
webpack.config.js fix gts check for DigitalTwinUtility Nov 18, 2019

README.md

Azure IoT Device Workbench for Visual Studio Code

Gitter Travis CI

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. The extension also supports working with IoT Plug and Play by defining device capability model schemas and generating skeleton device code and projects.

Get Started

Develop device using IoT Plug and Play

IoT Plug and Play public preview is a device capability model schema that describes device capabilities. The Azure IoT Device Workbench extension provides an integrated environment to author IoT Plug and Play 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 and use the Device Workbench extension to build an IoT Plug and Play device:

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.

Commands

IoT Plug and Play

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.

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.

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.

You can’t perform that action at this time.