Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

The Hobson MQTT plugin (when installed) allows external devices (such as sensors) to connect to Hobson via MQTT for sending and/or receiving of data.

When the plugin is installed, Hobson creates a local MQTT server that devices can connect to anonymously. The anonymous connection is used by a device to obtain a device passport from Hobson. This passport allows the device to re-connect securely to Hobson's MQTT server and participate as a normal device within the Hobson system.

Device Bootstrapping

The process of setting up a brand new MQTT-enabled device with a device uses to obtain device passport information from Hobson is referred to as bootstrapping.

When a non-bootstrapped device device with no device passport information is powered on, it should immediately begin the bootstrapping process.

...

  1. The user must create a device passport for the device to Hobson through the web console or REST API. This lets Hobson know that the device is allowed to directly interact with it.
  2. The user powers on the device.
  3. It is up to the device to determine how it identifies Hobson's MQTT server. One suggestion is to dynamically discover it using an SSDP search (see below).
  4. When the device identifies Hobson's MQTT server, it must anonymously connect to the MQTT server and begin listening to the appropriateĀ bootstrap response topic (see below).
  5. If the previous step is successful, the device must post a bootstrap request message to the bootstrap topic (see below).
  6. If Hobson allows the registration, the device will receive a bootstrap response message on the bootstrap response topic containing the passport information. Otherwise, an error message is sent to the bootstrap response topic.
  7. The device should store the contents of the bootstrap response message for future use (e.g. if the device is power cycled).

...