Provisioning a device is necessary in order to describe the resources your device must use to interact with the Bosch IoT Hub.
To connect a device using Bosch IoT Edge, you need to have a subscription to one of the Bosh IoT Suite services. See Getting started.
Before you can successfully run the Bosch IoT Edge Agent to connect your Linux-based device or RTOS-based device, you need to take several steps that will provide the right settings for your device. Those settings are saved in a provisioning template that is a JSON document.
Upon the launch of the Bosch IoT Edge Agent, Bosch IoT Edge will automatically use the provisioning settings from the provisioning.json file to connect to the cloud service.
In this guide you will learn how to:
Set the provisioning settings:
The default namespace of your subscription will be pre-set by the UI.
The device name must be unique, e.g. for a Linux-based device you can set linux-device-01 and for the RTOS-based device linux-device-01 or alike.
Save the provisioning.json request
Use the provisioning.json on your device and start Edge Agent
Table of contents
Prepare the provisioning request
The following device provisioning steps create valid credentials for your gateway.
Click Provisioning in the left sidebar.
The opened view shows the 3 steps required for provisioning:
Settings: this view is opened by default
Preview: view and manage the data which will be used to provision the device
Connect device: prepare the connection of your device by saving the response data and configuration properties
In the Settings view, the preset option Start from scratch is pre-selected by default and you can continue with this one.
Select how the device is connected (as a stand-alone, gateway device or edge device).
The stand-alone device is pre-selected but for our device management use cases you should select Gateway device from the drop-down menu.
Click Enable automatic provisioning of edge devices. This is needed, if you want your gateway to automatically register all devices attached to it.
In the Thing ID section you will need to specify the ID. This will be used for the device, thing, and policy.
The full identifier that the Bosch IoT Device Management will register is "your.namespace:your-device-name".
The Namespace field will be populated if a namespace is already associated with this specific subscription.
In case you have not defined a namespace yet, you will need to do it now. See Register a namespace.
Enter a unique Name for the gateway.
Provide a Password for your device in plain text.
Confirm with Next.
Preview the provisioning request
Once on the Preview view, check whether all provided data is ready for provisioning (indicated by ).
Before sending the request, you are able to manage and refine the data (thing ID, device credentials, attributes, features) according to your needs.
You can also view the Request Body in JSON notation which is based on your settings and will be sent.
Submit the provisioning request and save the response
From the Preview screen, click Send request to continue.
Upon success, you have created the following entities:
A device in the context of Bosch IoT Hub, associated with credentials. Find details at Device data model.
A digital twin called thing. For further details read Things and features.
The digital twin is associated with a policy. See Policy examples.
Device, thing and default policy have the same ID.
The Connect device view provides information to connect your device (e.g. credentials) which should be saved.
Copy your Password in plain text and store it at a safe place.
Note, that your password will henceforth only be displayed in encoded/hashed form.
You can download the results. Click Save response.
A file called provisioning.json will be downloaded to our local machine.
It holds the provision results containing important properties to configure your device, and can easily be ingested by our Bosch IoT Edge Agent in the next steps.
Use the provisioning.json file
As soon as your device using Bosch IoT Edge will try to connect to the Bosch IoT Suite, the information stored in the provisioning.json file can be used automatically.