Skip to content

Latest commit

 

History

History
108 lines (63 loc) · 7.09 KB

bugbash-09-23.md

File metadata and controls

108 lines (63 loc) · 7.09 KB

IoT Plug and Play Samples Bug Bash 9/24

Intro

This bug bash is focused on the IoT Hub features, SDKs, and tooling. We have quickstarts in various languages ready, for device and service scenarios but the focus of this edition is Managed languages.

We'll hope you will have fun with:

  1. C# and Java device PnP samples
  2. C# and Java service PnP samples
  3. C# Model Parser
  4. C# generic PnP Module
  5. C# Edge PnP Module

If you are more welling to test other languages or sample on constrained device, please have a look at the previous bugbash instruction (Azure RTOS, Embedded C, C SDK ...)

Note that we have now C sample of IoT MQTT Bridge

BugBash support and feedback

  • Use the teams channel PnP GA BugBash to ask for help. There will be team members answering questions during the BugBash.

  • If you have bugs or feature request, please use this Bug Template. You can query existing bugs in this PnP BugBash Query

Getting started, environment and tooling

Docs

  • The pnp docs are available URL: IoT Plug and Play documentation. To provide feedback use this PR in docs, your github account must be registered in the MicrosoftDocs org.
  • Reviewers can use the PR to leave feedback. You could also leave docs feedback in the teams channel and we'll collate it after the bash.

To access the PR, you must join the MicrosoftDocs organization. Self-service instructions are here

IoT Hub

  • The required hub version is now available for all regions but EastUS and EastUS2:
  • Create S1 IoTHub in any of these regions to get started.
  • FYI, this last version use API version: 2020-09-30

To create the hub using the az CLI replace follow the setup instructions in our public doc

To create the hub from the portal make sure you select the right subscription, region and resource group.

Note yor IoT Hub connection string to be able to configure IoT explorer.

Digital Twin Definition Language

The DTDL v2 Spec can be found at https://aka.ms/dtdl can be used as a reference for the language. Use the samples we've provided to get started.

You can install the VSCode or Visual Studio extension for editing your DTDL files:

PnP related tools

Tools available as internal previews are:

There is no Model repository for GA, this will land later.

  • Azure IoT Explorer (use Azure.IoT.Explorer.preview.0.11.5.msi) See more about IoT Explorer in our documentation

  • Model Parser The parser is available in NuGet.org with the ID: Microsoft.Azure.DigitalTwins.Parser. (version 3.12.4)

Note This package corresponds to the following commit on the next_generation branch of the parser library

Option 1. Review and run SDK samples

All samples implement the Themorstat and TemperatureController models available in the DTDL spec repo, and use the same validation flow:

  1. Prepare source code for each language.
  2. Create a device and provide the connection string.
  3. Configure IoT Explorer to find the models and to interact with the device.

Focus on Managed languages:

You will find the private packages for this bugbash (PreRelease):

  1. You can test the 2 quickstart with Device SDK (C# and Java)
  2. You can test the 2 new quickstart with Service SDK (C# and Java)
  3. You can test the 2 new quikstart with service (digitaltwin) ( C# and Java)
  4. You can test our latest Python service sample (will be merged post bugbash, note that you need to use the sept-30-preGA branch
  5. You can also test the 2 Tutorials with multi component devices ( C# and Java)
  6. Test and use the DTDL Model Parser (C# only, see this sample)
  7. You can test PnP Module (and PnP Edge Module) following this tutorial (This article will be merged post bugbash)

All quickstarts and tutorials are in the IoT Plug and Play documentation

Note We encourage you to use the device samples with DPS connection.

Option 2. Exploratory testing

Create simulated device and solution from scratch

  • You can follow the instructions in this deck to create your own simulated device and custom solution from scratch. The instructions in that deck are specific to C# but can be generalized to the language of your choice as needed.