Skip to main content

Intro

Connhex Remote Init - short for Remote Initialization - is the service responsible to make provisioned configurations available to devices.

In fact, initialization refers to the process of bringing the device into an operational state with respect to interfacing with the cloud infrastructure. This involves initializing a communication with connection parameters found in each device's configuration.

Multiple requests

Provided the device is using the proper authentication key, there's no constraint over how many times a device can request its configuration. Common practices are both requesting the configuration after the first boot only or requesting it after a specific event (e.g. at every device startup).

Device configuration

The device configuration consists of:

  • connection parameters (a.k.a. default parameters). These are required for any device
  • custom parameters (a.k.a. additional configuration). These are optional and must be known during the provisioning phase.

Default parameters

The default parameters included in the device's configuration are:

ParameterDescription
usernameMQTT user
passwordMQTT password
client_certmTLS client certificate
client_keymTLS client key
ca_certCA certificate
ca_chainCA certificates chain

Custom parameters

Custom parameters are completely arbitrary data that can be added to the default configuration. Their values depend on the type of device and its specific functionalities.

Examples of such parameters are:

  • fallback configurations;
  • diagnostic or debug flags;
  • other dynamic information potentially useful when powering up the device.
usage

The device configuration is not to meant to be used for run-time interactions with the device, but only to provide an initial snapshot.

Configuration update

You can leverage the remote initialization procedure to update a device's configuration. Suppose you need to:

  • update certificates for renewal or security reasons;
  • update connection credentials (username and password);
  • update custom parameters.

You could inspect the device through Connhex Control and update its configuration. Then either send a command to force the configuration fetch or, provided the device executes the remote initialization routine at each boot, simply reboot the device itself.

More details on downloading a configuration are here.