CloudLocate credentials and Zero Touch Provisioning
Credentials provisioning
To use the CloudLocate service to access the endpoint directly from the device (and not in Service to Service mode) you must first create a CloudLocate Thing which will provide the access credentials.
hostname.
client id (different for each device).
username and password (different for each device).
Once you have these you can configure the MQTT client on your device.
When your fleet grows, these steps can result in an operational burden that can be resolved using the CloudLocate Zero Touch Provisioning service which allows devices to automatically provision themselves.
How to use ZTP
The CloudLocate Zero Touch Provisioning service (ZTP) is based on two elements:
A device profile, created through the platform, which sets up the parameters for use of the service, including the commercial plan the devices will use once provisioned.
A REST API that the devices will call to provision themselves and receive the credentials required for access to the CloudLocate service.
ZTP device profile
The first step is to create a device profile. Select 'Device profiles' from the ZTP section of the Location Services menu and click on the button 'Create Profile' and fill in the fields:
Profile name is a friendly name that will appear in your device profile list.
Device Type: select CloudLocate
You can flag the 'Auto Activate Devices' option if you want your CloudLocate Things to activate on a selected plan immediately on provisioning. You will then need to select the plan to be used. Details of the available plans can be found in the CloudLocate section of the pricing page.
'Hardware Code Mandatory' allows you to require devices that call the ZTP service to provide a unique identifier e.g. IMEI. You can combine this with a whitelist to provide an additional layer of security to provisioning.
If you have decided to make the hardware code mandatory, you will have an option on what to do if the provisioning service is called with an existing hardware code. You can either have the service return the current credentials associated with that hardware code or return an error.
In this section
Still need help?
CloudLocate getting started guide
If you need more help or have any questions, please send an email to services-support@u-blox.com.
Once created, you will be given a URL and token, which can be used by all devices to call the provisioning service.
Device profiles can be modified at any time, but changes to auto-activation and the chosen plan will only apply to devices that provision after the change is applied. Any existing devices will continue with their current plan.
REST API
The ZTP device profile will provide the URL of the provisioning service and the access token that relates to the profile. Devices can then make an HTTP POST request using the format below:
{"token": "string", "givenName": "string", "tags": ["string"], "hardwareId": "string" }
where:
token is mandatory and corresponds to the token associated with the ZTP device profile.
givenName is the name that will appear in your Thing list once the device is provisioned. It is not mandatory, but highly advisable.
tags refers to a list of tags that can be applied to the Cloud Locate Thing that is created. Tags can be used in search to help find Things on the platform later. This parameter is optional.
hardwareId is for the unique device identifier e.g., IMEI and is mandatory only if you have selected the check box during profile creation.