Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel7

Anchor
_9fn8rzhug6q7
_9fn8rzhug6q7
Gumband Exhibits

...

Example exhibit comprised of a computer and multiple Bundles (Gumband-native microcontrollers) to control external hardware

...

Example exhibit comprised of a computer and an Arduino to control external hardware

...

Example exhibit comprised of a Raspberry Pi controlling external hardware directly

Anchor
_

...

a7g4veb3ovzc
_

...

a7g4veb3ovzc
Exhibit Manifest

The Exhibit manifest is a JSON file that defines relevant Exhibit information for Gumband, including Statuses, Controls, and Settings

...

Statuses, Controls, and Settings . When the Exhibit SDK is initialized, it automatically uploads the manifest and Gumband synchronizes the Exhibit with this list of capabilities.

Anchor
_ar4ch32klhat
_ar4ch32klhat
Exhibit Real Time Signals

Exhibit statuses, controls, and settings are properties of an Exhibit exhibit and can be manipulated by the Exhibit SDK and/ or through the Gumband web UI. These items signals are automatically updated pushed in real time between the Exhibit and Gumband.

...

Anchor
_j3c5fg2l3ckg
_j3c5fg2l3ckg
Statuses

Statuses are one-way values that are set from the Exhibit SDK and displayed on the web UI. They are used to surface relevant un-editable properties of an Exhibit. See how to create, update, and read a status.

Examples:

  • Exhibit IP address

  • Last interaction time or result

  • Exhibit state

  • Serial connection status

...

Controls are one-way triggers that are fired from the web UI and received in the Exhibit SDK. They are used to execute local code or start some Exhibit functionality. See how to create and receive a control.

Examples:

  • Reload a user interface

  • Reset an internal counter

  • Trigger an animation

  • Run a test sequence

...

Settings are key-value pairs that can be updated from either the web UI or Exhibit SDK. They are used to control behavior of the exhibit, both digitally and physically. See how to create, update, and receive a setting.

Examples:

  • Third-party API URL (string)

  • Dev, stage, or production endpoint (dropdown)

  • Interactive mode (toggle)

  • Color scheme (hex color)

  • Inactivity timeout duration (number)

The following diagram shows a simplified view of how Gumband Statuses, Controls, and Settings travel between an Exhibit and the web UI.

Image Removed

Anchor

...

_

...

The Exhibit manifest is a JSON file that defines relevant Exhibit information for Gumband, including Statuses, Controls, and Settings. When the Exhibit SDK is initialized, it automatically uploads the manifest and Gumband synchronizes the Exhibit with this list of capabilities.

Anchor
_v3m7p8gpfmd1
_v3m7p8gpfmd1
Exhibit SDK Sidecar

A sidecar application is available that allows projects that use other languages / technologies (Python, C, TouchDesigner, etc) to leverage Gumband functionality. This sidecar runs alongside the main application and the two communicate via Redis or websockets.

Anchor
_vsb5igtypbbe
_vsb5igtypbbe
Monitoring Exhibit

...

PCs

For Exhibits exhibits that have already been developed and cannot integrate the Exhibit SDK, a custom approach using PM2 (https://pm2.keymetrics.io/ ) or Docker (https://www.docker.com/ ) and the Exhibit SDK can be used. This allows for monitoring and high level control (On/Off) for the Exhibit’s computer and running processes. Anchor_p4642qxtntny_p4642qxtntnyGumband Hardware

...

Gumband Hardware, also known as Bundle, is a programmable microcontroller-based platform that is used to control an Exhibit’s electromechanical components. This Hardware has the Gumband stack built in to seamlessly monitor and interact with physical hardware such as buttons, sensors, LEDs, and motors. Bundles also allow for remote firmware updates across a fleet of Hardware.

...

The Bundle is Gumband-native hardware for new Exhibit development.

  • ARM M0+ core handles the entire Gumband communication stack

  • ARM M4 core is entirely dedicated to user firmware

  • Program using the Arduino IDE with the Gumband board library

  • Program natively through Cypress PSoC Creator (advanced)

  • Two 2x13 0.1” pitch connectors

  • 40 multipurpose GPIO pins

  • Existing API supports I2C, UART, SPI, Ethernet

  • Additional protocols (RS485, CAN, LIN, ModBus, etc.) supported by MCU

...

For highly-specific functionality, an accessory board called a Gumshoe can be designed and attached to the Bundle, similar to a Pi HAT or Arduino Shield. Gumshoe designs exist for basic breakout capabilities such as screw terminals, high current relays, and stepper drivers. Deeplocal has the capacity to design custom Gumshoe PCBs.

...

Microcontrollers with networking capabilities can enable Gumband functionality by adhering to a defined MQTT protocol and the Gumband topic hierarchy.

...

Microcontrollers without networking capabilities can enable Gumband functionality by using Bundle as a passthrough to the platform. To communicate with Bundle, the microcontroller must adhere to a defined low-level protocol over SPI, I2C, or UART.

...

Deeplocal has developed other custom PCB layouts to integrate the Gumband platform into space-constrained mechanical designs and other hyper-specific applications. Deeplocal has the capacity to design custom PCBs and will assess on a case-by-case basis.

...

A Peripheral is a named assembly of physical hardware components within an Exhibit. Each Hardware device will have one or more Peripherals.

Peripherals serve as an organizational structure within which to group Properties. A Property is either an input or output of that Hardware device. Inputs include button state, switch state, dial position, etc and outputs include LED color/brightness, relay state, motor speed, etc. Each physical component within the Peripheral can have one or more Properties.

Peripheral and Property groupings are defined and implemented by the firmware developer.

...

A motor turns a physical wheel mechanism as part of an Exhibit experience. The Hardware device would have a Peripheral (“Output Crank”) that has two Properties (“Motor Speed” and “Motor Direction”). If necessary, that same Hardware device could control other Peripherals or they could be attached to the Exhibit using additional Hardware.

...

The Bundle Hardware can be breadboarded or mounted on a baseboard known affectionately as a Gumshoe. Mechanical Hardware drawings for mounting purposes and ECAD footprints and specification are available.

Anchor_z0a3ebu520br_z0a3ebu520brMonitoring Gumband HardwareThe Bundle Hardware natively reports its current status upon establishment of a connection to both the Gumband master and the Gumband exhibit. The initial connection handshake includes a manifest of all peripherals and properties of the current exhibit instance in addition to a packet contains status information about the hardware, including: Device ID, Assigned IP, MAC, Gumband Firmware Version, User Firmware Version, Exhibit IP, Exhibit Connection Status, System Voltage and Last Reboot Reasona precompiled executable is possible. This tells operators if the PC is online, displays CPU, memory, disk usage, and allows for remote reboots of that machine. For additional information on this solution, talk to your Gumband rep.