Versions Compared

Key

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

...

Registration can also occur when a registration request is received from the server (the sync INFO topic “register” command).

  • Once authenticated, the HW sends Gumband registration event to the Cloud Server and Exhibit Server at the topic: <hardware_id>/registration

  • Registration events should be logged on the server side

  • Registration events have an initial JSON message body identifying the device and the total number of peripherals, followed by individual registration messages for each property of every peripheral. Outline below:

...

Command

Text

Description

host

xxx.xxx.xxx.xxx:xxxx

Exhibit server host IP and Port

reboot

-

Reboot the Gumband Hardware

register

-

Request the hardware to register with the Cloud Server (current functionality of the “sync” SYNC topic)

get

-

Request the hardware to publish all of it’s current property values

firmware

-

Enter Device Firmware Update (DFU) mode on Gumband Hardware using the existing Cloud MQTT socket 

firmware_socket

-

Enter Device Firmware Update (DFU) mode on Gumband Hardware using a dedicated TCP socket on port 23 (this only works if that port is not already connected)

control

true/false

Set to true to enable debug mode whereby peripheral control messages can be sent from the Cloud

identify

-

Blink the on board LED to identify this hardware device

error

(see below table)

Allows Gumband server to send error codes to the hardware

...

  • Controllable exhibit events are structured as "settable" properties

  • The Exhibit Broker should be subscribed to every property exposed in the capabilities registration

    • <hardware_id>/{peripheralName}/{propertyName}

  • Writing to properties

    • For every "settable" property, gumband hardware is subscribed to:

    • <hardware_id>/{peripheralName}/{propertyName}/set

  • Reading /Polling from properties

    • For every property the gumband hardware is subscribed to:

    • <hardware_id>/{peripheralName}/{propertyName}/get

    • Note that : this callback is intended to initiate a publish to the associated property but ultimately this is handled in user code so implementation is not guaranteed.

    The Exhibit Broker should be subscribed to every property exposed in the capabilities registration

    <hardware_id>/{peripheralName}/{propertyName}
  • See more SDK-Hardware Interface Notes

...

Dynamic Hardware ID

Note: This is a suggested method to address a potential issue - this is not currently implemented

...