Azure IoT Device Workbench for Visual Studio Code
Перейти к файлу
Di Lin 3936a5f56a
Merge pull request #813 from microsoft/fix-cicd
Change extensionId in code if RC extension
2019-11-11 22:10:38 +08:00
.github/workflows update need attention message (#811) 2019-11-11 13:41:24 +08:00
.vscode Remove useless files 2019-08-08 18:54:26 +08:00
DigitalTwinRepositoryViews Merged PR 489085: fix a ui issue to also filter urnId 2019-07-24 10:46:52 +00:00
devicedevex_dockerfiles Remove useless file 2019-11-04 10:50:36 +08:00
docs Update embedded-linux-setup.md 2019-10-30 17:13:27 +08:00
hooks add git hooks (#25) 2017-12-25 11:59:38 +08:00
resources Add compilerPath in devkit / esp32 c_cpp_properies.json 2019-11-04 19:28:00 +08:00
scripts Rename variable for better readibility 2019-11-11 16:56:18 +08:00
src fix bug of not showing capability model in model repository view 2019-11-11 15:32:57 +08:00
test Implement compile device code command with extensible containerized experience 2019-09-10 20:29:42 +08:00
vendor/node-usb-native Serial (#663) 2019-07-08 11:13:17 +08:00
views remove welcome page 2019-11-04 16:16:11 +08:00
.gitattributes add vue.js into vendor list (#224) 2018-04-23 11:56:40 +08:00
.gitignore better handle exception 2019-03-26 15:25:56 +08:00
.travis.yml Modify Travis CI script to deploy test version workbench extension to marketplace 2019-11-06 12:05:07 +08:00
.vscodeignore Remove useless urls from package.json 2019-11-06 15:26:57 +08:00
CHANGELOG.md 0.10.16 changelog 2019-10-28 13:37:02 +08:00
LICENSE Initial commit 2017-12-11 18:53:44 -08:00
README.md Update README.md 2019-10-17 13:28:23 +08:00
azure-pipelines.yml load dynamic resource 2019-03-25 18:46:45 +08:00
gts.cmd revert gts 2018-06-27 11:13:46 +08:00
logo.png Change to new logo (#545) 2018-12-25 11:04:24 +08:00
package-lock.json fix bug of not showing capability model in model repository view 2019-11-11 15:32:57 +08:00
package.json Remove useless urls from package.json 2019-11-06 15:26:57 +08:00
tsconfig.json Merged PR 472311: merge the iot-workbench code from the main stream 2019-05-31 08:47:45 +00:00
updateDynamicResourceLink.js update env 2019-03-26 16:36:11 +08:00
webpack.config.js fix ci issue 2019-07-24 16:12:18 +08:00

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 dont wish to send usage data to Microsoft, you can set the telemetry.enableTelemetry setting to false. Learn more in our FAQ.