Provisioning of devices via developer console

images/confluence/download/attachments/894245057/provisioning.svg

If you are using the Gateway SDK and prefer provisioning via API, find an example at Device provisioning via API.

Table of contents

General description

The developer console is a Web UI of the Bosch IoT Suite, which supports major use cases of the Bosch IoT Suite for Asset Communication.

One major use case is device provisioning: you will be able to:

  • Register a device (in the context of the Bosch IoT Hub service), and

  • Create a digital twin representation of this device (in the context of the Bosch IoT Things service) in thing notation.

Use the developer console for provisioning

  1. Navigate to the Bosch IoT Suite portal https://accounts.bosch-iot-suite.com/subscriptions/.

  2. Click Go to Developer Console for your subscribed instance.

    images/confluence/download/attachments/894245057/go-to-dev-console.png
  3. The developer console will open in a new browser tab.

    images/confluence/download/attachments/894245057/dev-console-home.png

Provide settings for provisioning

  1. Use the Provisioning section in the left sidebar.

  2. Click Start from scratch in the Provisioning view.

    You can simplify the provisioning, in case the device you want to connect has already been described as an Eclipse Vorto model.
    In such a case, click Use Vorto information model instead and follow the steps in the Physical device connection - tutorial.

  3. Set thing/device ID:

    1. Click Thing ID in the Settings view.

    2. Select a namespace.
      In case you have not defined a namespace yet, you will need to do it now. See First configuration steps.

    3. Enter a unique name.
      The full identifier that our Hub and Things service will register is "your.namespace:your-device-name".

    4. Confirm with OK.

  4. Provide credentials for your device.

    1. Click Device in the Settings view.

    2. Click the row of the credential marked with images/confluence/download/thumbnails/894245057/error-icon.png (indicating a missing setting).

    3. Click the row of a predefined secret marked with images/confluence/download/thumbnails/894245057/error-icon.png (because the password is not specified yet).

    4. Enter a password in plain text.
      Note, that your password will henceforth only be displayed in encoded/hashed form.

      As soon as your device will need to communicate with the Hub service, it will authenticate with the authId (i.e. "your.namespace_your-device-name") and this password. Therefore, it is important that you remember this password or store it at a safe place.
      Further, Bosch IoT Hub additionally offers certificate based authentication options. See https://docs.bosch-iot-suite.com/hub/general-concepts/deviceauthentication.html

    5. Confirm the secret and the credential with OK.

    images/confluence/download/attachments/894245057/provisioning-from-scratch.png

Provisioning request

  1. Click Provision in the Settings view.

  2. Click Send to submit the request.

  3. Click Save response to save the response body containing the provision result in JSON format. It can be used for further tasks.

A successful response would look like the following snippet.

{
"id": "your.namespace:device-4711",
"hub": {
"credentials": {
"tenantId": "xxx_hub",
"deviceId": "your.namespace:device-4711",
"type": "hashed-password",
"authId": "your.namespace_device-4711",
"enabled": true,
"secrets": [
{
"passwordBase64": "your-secret"
}
],
"adapters": [
...
]
},
"device": {
"enabled": true,
"deviceId": "your.namespace:device-4711"
}
},
"things": {
"thing": {
"thingId": "your.namespace:device-4711",
"policyId": "your.namespace:device-4711",
...
}
}
}

Summary

Upon success, you have created following entities:

Device, thing and default policy have the same ID.

Your physical device will send its telemetry data to this "digital twin". Now learn how to Manage your things via developer console.