Device Interaction

Overview

Devices interact with the provisioning system primarily to retrieve a Client Interface Key (allows API access to their Cloud Profile on the One Platform) and to download content (e.g. for In-Field Update or for media download).

Getting Started

Devices that use the Device Provisioning Interface must have a software-readable unique identifier (e.g. Serial Number, MAC address, other UUID) that has been pre-registered with a Client Model on the One Platform. This will allow the Device to interact with the Device Provisioning Interface via the Device-specific APIs to do things like authenticate with the One Platform and to get new media content (e.g. in-field software upgrades).


In order to setup a Client Model and to add Serial Numbers to the Model, a Vendor must initialize the interface with the Vendor Management APIs (or Exosite Portals OEM admin interface).

Activation

Activation on the provisioning interface is the first step to all subsequent interactions. A Client must activate itself in order to gain access to its cloud profile and related Client Model characteristics.

Here is an example software flow chart for how device firmware could implement the activation process:


Software Flowchart for Device Activation


The activation sequence simply consists of the Client sending its unique identifier (e.g. Serial Number) to the One Platform, and receiving a Client Interface Key (CIK) back. The Client should then store the CIK in non-volatile memory and should use the CIK for subsequent interactions with the One Platform.


Every Client Model has a timeout period for activation – the timeout period starts when the Client Serial Number is enabled on the system (e.g. in Exosite Portals, this would be when a User adds a new Device to their Portal). If the Client does not activate before the timeout period expires, it must be re-enabled. This timeout period is enforced to ensure only authorized Client Owners can activate a Client matching their Serial Number.


Should the timeout period for activation expire, the Client Owner must either remove the Client entirely or re-enable the Client for activation.


Client activation uses HTTP – the base URL for the activation API is /provision/activate.

Content Download

A Client that has been activated as part of a Client Model is able to download authorized content from the Client Model. This feature is most commonly used for providing new firmware to devices in the field (e.g. in-field update), and for providing new media content to devices (e.g. new images for advertisement content).


The Client must have pre-knowledge of the naming scheme and format of the content for download. For example, a Device could know that it uses content with IDs starting with “firmware” for new firmware files. If the current firmware file is “firmware_v1″, it could query content ID “firmware_v2″ to determine if there is an authorized firmware update awaiting.


All Client Model content is managed by the Vendor who owns the Client Model. They are responsible for maintaining the content available to a given Content Model as well as for managing access rights to the content.