> For the complete documentation index, see [llms.txt](https://freegrow-1.gitbook.io/product-docs-en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://freegrow-1.gitbook.io/product-docs-en/en-creator-kit-q1/uwb-creator-kit-q1-complete-setup-and-usage-guide/advanced-guide-for-gateway/mqtt-data-format.md).

# MQTT Data Format

### In This Guide&#x20;

In this guide, we provide a detailed overview of the types and formats of data received through **MQTT-Studio**, helping you effectively check device status and integrate with the location system.

***

### How to Check MQTT Data

The data sent from the gateway can be viewed through the **Topic** subscribed in **MQTT-Studio**.

* Example of a Topic:
  * `uwb/gateway/start/#`
  * `uwb/gateway/config/#`
  * `uwb/gateway/devices/#`

Click on the message in **MQTT-Studio** to view the detailed JSON data.\
You can also click the **copy** button on the right to copy the data as text for easy analysis in a text editor such as Notepad.

***

### Examples and Descriptions of Data Types

The main types of data sent from the **GrowSpace Gateway** are categorized into the following four types:

***

#### Start Data

* **Transmission Time**: Sent once immediately after the gateway boots up
* **Purpose**: To verify device boot and network connection status

Once the gateway receives power and boots up properly, it sends a **`start`** message to indicate the system's initial state.\
This message allows you to verify the **gateway device ID**, **Pan ID**, and **current IP address**.

<figure><img src="/files/6JxpTCwsY6hj62fGSsKy" alt=""><figcaption></figcaption></figure>

```json
{
  "uwbID": "GR21BA",
  "panID": "0001",
  "ip": "172.30.1.177"
}
```

Use Case&#x73;**:**

* When verifying if the gateway is properly connected to the network
* To identify the device and check its installation location

***

#### Config Data

* **Transmission Time**: Repeatedly sent at regular intervals
* **Purpose**: Device heartbeat signal

The **config** data is periodically transmitted to indicate that the gateway is still operational.\
The format is the same as the **start** data, but it is used for continuous heartbeat signaling.

<figure><img src="/files/HB1z4ACTWBNa2bUKInGx" alt=""><figcaption></figcaption></figure>

```json
{
  "uwbID": "GR21BA",
  "panID": "0001",
  "ip": "172.30.1.177"
}
```

Use Case&#x73;**:**

* To check the **online status** of the system
* To detect **device failures** or **network disconnections**

***

#### Anchor Information (devices – anchors)

* **Transmission Time**: When the gateway recognizes an anchor
* **Purpose**: To transmit the location and role of the anchor

This message includes the **UWB anchor’s ID**, **coordinates**, **Pan ID**, and whether it is the **initiator**.

This information is used to configure the anchor data, which serves as the reference for location calculation.

```json
{
  "gatewayID": "GR21BA",
  "anchors": [
    {
      "id": "GR365d",
      "panID": "0001",
      "initiator": true,
      "x": -2.92,
      "y": 0.35,
      "z": 0.00
    }
  ]
}
```

Use Case&#x73;**:**

* Automating the registration of anchor locations
* Mapping reference points when configuring the system’s map

***

#### Tag Location Information (devices – tags)

* **Transmission Time**: Sent repeatedly each time the location calculation is completed
* **Purpose**: Real-time location tracking

The gateway calculates the current position coordinates (x, y, z) of UWB tags and sends them as a single message.\
Multiple tags may be included in one message, which is composed of the **`gateway ID`**, **`Pan ID`**, **`tag ID`**, and **`coordinates`**.

<figure><img src="/files/mE12jZoLtsXloeQhEGaP" alt=""><figcaption></figcaption></figure>

```json
{
  "gatewayID": "GR21BA",
  "tags": [
    {"id":"GR2c3c", "panID":"0001", "x": -3.95, "y": 0.23, "z": -2.48},
    {"id":"GR1012", "panID":"0001", "x": -1.48, "y": 3.42, "z":  0.66},
    {"id":"GR2eba", "panID":"0001", "x": -4.27, "y": 0.20, "z": -2.36}
  ]
}
```

Use Case&#x73;**:**

* Integration with a **real-time location visualization dashboard**
* **Tag movement path analysis**
* Setting up **geofencing** for use cases like **entrance detection**, **hazard zone intrusion alerts**, etc.

***

### Summary and Tips

| Data Types | MQTT Topic              | Transmission Purposes                                |
| ---------- | ----------------------- | ---------------------------------------------------- |
| Start      | `uwb/gateway/start/#`   | Gateway boot status verification                     |
| Config     | `uwb/gateway/config/#`  | **Device operation status check** (heartbeat signal) |
| Anchors    | `uwb/gateway/devices/#` | **Anchor information** provided                      |
| Tags       | `uwb/gateway/devices/#` | Tag location data transmission                       |

* The **`projectId`** within the Topic is configured based on the **API key**, and it will appear differently for each system.
* For real-time debugging or system verification, check the flow of **Start → Config → Devices** to ensure proper data reception.
