Skip to content
IntellobotsTechnologies

Set up · How-to

BLE gateways, shelf labels and child devices

Connect a BLE gateway once, and track every shelf label or sensor behind it as its own device.

Updated 11 Nov 20262 min read

All ThingsX IoT Core pages

A gateway connects with its own certificate. The labels and sensors it talks to over BLE have no credentials of their own: they are registered as child devices with the gateway as their parent, and IoT Core attributes the gateway's messages to the right child.

  1. 1Register the gatewayfamily BLE gateway, with a certificate
  2. 2Register each labelfamily ESL, parent = the gateway
  3. 3Gateway sends uplinksnaming the label in the message
  4. 4Each label gets its own databattery, signal, online, timeline
  5. 5Commands go to labelsthrough their gateway, with acknowledgement

1. Register the gateway

Get started → BLE gateway, name it (for example store-hyd-01-gw-1) and download its certificate. Install it on the gateway with the endpoint.

2. Register the labels

Get started → ESL, choose the gateway as the parent. For many labels, create them with the REST API or SDK in a loop (see SDK and REST API). Use attributes such as store and tin so support can find a label by what's printed on the shelf.

3. What the gateway sends

Uplinks go to gateway/<gateway>/event/up/<kind>. When the JSON names a known child in esl_id (or device, tin, device_id, child), the message is attributed to that child:

{ "esl_id": "esl-hyd-01-a3-007", "battery_mv": 2290, "rssi": -79, "temperature": 24.0 }

Numeric fields become that label's telemetry, the event lands on its timeline and it shows online. Batches are supported with "children": [ … ].

A shelf label's Diagnose tab flags a low battery and confirms its gateway is online
A label behind a gateway: battery warning with the next step

4. Commands to a label

Send a command to the label as you would to any device. IoT Core delivers it to gateway/<gateway>/event/down/esl-command with a command_id. The gateway acknowledges by sending any uplink containing that command_id and status (ok or failed).

Troubleshooting labels

  • Label offline but gateway online: the gateway hasn't reported the label in 15 minutes. Check it is in range and the label ID in the gateway's messages matches the thing name.
  • All labels in an aisle offline: check the gateway's Diagnose tab first; a gateway that can't connect takes its children with it.
  • Low battery warnings: the Diagnose tab flags low battery and weak signal; plan replacements from the Things list filtered by attribute.