> For the complete documentation index, see [llms.txt](https://freegrow-1.gitbook.io/product-docs-kr/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-kr/welcome-to-the-growspace-studio/undefined/uwb-creator-kit-q1.md).

# UWB Creator Kit Q1

**GrowSpace 제품 사용 중 겪을 수 있는 모든 궁금증을 이곳에서 해결하세요.**\
앵커 설치부터 앱 실행, 거리 측정과 RTLS 위치 추정까지 – 테스트와 운영 과정에서 자주 발생하는 이슈를 중심으로, 실제 사용자들의 피드백을 바탕으로 구성된 안내입니다.

{% hint style="info" %}
이 페이지 하나로 테스트 환경 구축부터 측정 정확도 향상까지, **다른 문서를 찾지 않아도 되는** FAQ를 제공합니다.
{% endhint %}

### 📦 키트 구성 및 준비 단계

<details>

<summary>GrowSpace 키트에 어떤 제품들이 포함되어 있나요?</summary>

* **크리에이터 키트 – 기본 RTLS 테스트용**
  * 앵커(Anchor) 3개
  * 리스너(Listener) 1개
  * 개발자용 태그(Dev Tag) 1개\
    → **RTLS(실시간 위치 측정 시스템)**&#xB97C; 처음 도입하거나 실내 테스트를 위한 기본 구성을 원하시는 분께 적합합니다.
* **크리에이터 확장 키트 – 고급 RTLS 테스트 및 실험용**
  * 앵커 4개
  * 게이트웨이(Gateway) 1개
  * 개발자용 태그 1개\
    → 단순한 위치 테스트를 넘어 **서비스 구현, 서버 연동, 복잡한 공간 구조** 등을 실험해보고자 하는 사용자에게 추천드립니다.

</details>

<details>

<summary>GrowSpace 시스템은 어떤 구조인가요?</summary>

&#x20;크리에이터 키트 **Q1(고정형)**

> **구성 흐름: \[태그] → \[앵커 Q1] → \[리스너 또는 게이트웨이] → \[서버] → \[관제 소프트웨어]**

* **태그(Q1-WT, Q1-AT 등)**: 인체 또는 물체에 부착되어 실시간 위치 측정을 수행
* **앵커(Q1-AN)**: 고정된 기준점으로, 태그와의 거리를 측정
* **리스너(Q1-LS) 또는 게이트웨이(Q1-GW)**: 앵커로부터 수집된 거리 데이터를 서버로 전송
* **서버 및 소프트웨어**: 수신된 데이터를 처리하여 위치 좌표 계산 및 시각화
  * 로컬 PC 기반 관제 프로그램
  * 웹 기반 클라우드 서비스

Q1 시스템은 **시설 내 RTLS 인프라 구축용**으로, 사람/자산의 위치 추적 및 분석에 적합합니다.

</details>

<details>

<summary>크리에이터 키트와 모바일 키트의 가장 큰 차이는 무엇인가요?</summary>

<table><thead><tr><th width="125.60003662109375">항목</th><th>크리에이터 키트</th><th>모바일 키트</th></tr></thead><tbody><tr><td>사용 환경</td><td>실내 고정형</td><td>모바일 장치 연동</td></tr><tr><td>연동 방식</td><td>PC Viewer (시리얼)</td><td>SDK (BLE/UART)</td></tr><tr><td>적합 목적</td><td>RTLS 구조 실험, 위치 측정</td><td>위치 기반 서비스 구현, 로봇 연동</td></tr><tr><td>구성</td><td>앵커 + 태그 + 리스너</td><td>앵커 + SDK</td></tr></tbody></table>

</details>

<details>

<summary>GrowSpace 키트에 포함된 구성품 목록은 어디서 확인하나요?</summary>

GrowSpace 공식 홈페이지에서 제품별 구성품과 상세 설명을 확인하실 수 있습니다.

👉 [GrowSpace 제품 구성 보러가기](https://grow-space.io/%ec%83%81%ed%92%88-%ed%99%88/)

</details>

### 🧭 앵커 설치와 위치 선정

<details>

<summary>기준 앵커와 기준이 아닌 앵커의 차이가 어떤건가요?</summary>

<table><thead><tr><th width="134.39996337890625">항목</th><th>기준 앵커 (Initiator)</th><th>일반 앵커</th></tr></thead><tbody><tr><td>역할</td><td>네트워크 통신의  <strong>시작 신호(Trigger)</strong>를 전송하는 기준점</td><td>기준 앵커의 신호를 수신하여 위치 측정을 수행</td></tr><tr><td>설정 필요 여부</td><td><strong>하나의 기준 앵커만 반드시 설정</strong>해야 함</td><td>나머지 앵커들은 기준 없이 일반 앵커로 설정</td></tr><tr><td>기능</td><td>같은 PAN ID 내 모든 장치(UWB 태그, 앵커 등)의 통신을 동기화시키는 핵심</td><td>기준 앵커로부터 수신된 신호를 바탕으로 거리 측정에 참여</td></tr><tr><td>개수 제한</td><td><strong>PAN ID당 1개만 설정 가능</strong></td><td>PAN ID당 최대 30개까지 가능 (기준 포함)</td></tr></tbody></table>

왜 기준 앵커가 필요한가요?

* GrowSpace UWB 시스템은 **PAN ID(UWB 네트워크 식별자)**&#xB97C; 기반으로 장치 간 통신을 관리합니다.
* 하나의 네트워크(PAN ID) 내에서는 **1개의 기준 앵커(=Initiator)**&#xAC00; 반드시 있어야,\
  모든 장치가 동기화된 상태에서 거리 측정(UWB 세션)을 시작할 수 있습니다.
* 기준 앵커는 위치 측정의 기준 좌표가 아니라, **통신 시작을 위한 기준 시점**을 의미합니다.

***

참고로, 기준 앵커 설정은 **Space-Lite/Cloud 소프트웨어 또는 설정 프로그램**에서 간단히 지정하실 수 있으며, 동일 네트워크(PAN ID) 내에서 단 1개만 설정해주시면 됩니다.

</details>

<details>

<summary>기준 앵커(Initiator)는 꼭 (0,0)이어야 하나요?</summary>

**기준 앵커(Initiator)는 꼭 (0,0) 좌표일 필요는 없습니다.**

다만, **기준 앵커를 (0,0)으로 설정하는 것이 일반적인 권장 방식**이며, 아래와 같은 이유가 있습니다.

***

#### ✅기준 앵커가 (0,0)으로 설정되는 이유

* RTLS 시스템에서 기준 앵커는 **기준 좌표계의 원점** 역할을 하도록 지정하는 경우가 많습니다.
* 기준점을 (0,0)으로 설정하면, **전체 공간 좌표계를 정의하기가 쉬워지고**,\
  나머지 앵커와 태그의 위치를 직관적으로 파악할 수 있습니다.
* 특히, 단순 직사각형 환경에서 앵커가 3개라면
  * 기준 앵커 → (0,0)
  * 두 번째 앵커 → (X,0)
  * 세 번째 앵커 → (0,Y)\
    식으로 좌표를 지정하면 시스템 해석과 시각화에 도움이 됩니다.

***

#### ✅ 꼭 (0,0)이 아니어도 되는 경우

* 기준 앵커는 **통신의 시작 신호(Trigger)** 역할만 수행하며, 실제 좌표값과는 무관하게 기능적으로 작동합니다.
* 따라서 **설치 환경이나 구조상 (0,0)에 기준 앵커를 둘 수 없다면**,\
  다른 위치에 기준 앵커를 배치하고, (0,0)은 다른 앵커나 가상의 기준점으로 설정해도 괜찮습니다.
* 단, 이 경우 **앵커들의 상대 위치 좌표계만 일관되게 유지**되면 측위 성능에 문제는 없습니다.

</details>

<details>

<summary>앵커 간 거리는 얼마나 두는 게 좋나요?</summary>

**앵커 간 거리는 일반적으로 20m 이내 간격을 권장합니다.**\
지나치게 멀리 설치할 경우 정밀도에 영향을 줄 수 있으므로, 테스트 환경에 따라 적절히 조정해 주세요.

**✅ 설치 기준 요약**

| 항목           | 권장 값                 |
| ------------ | -------------------- |
| 앵커 간 거리      | **15\~20m 이내**       |
| 커버리지 형태      | 사각형 또는 직사각형 배치 권장    |
| 최소 앵커 수      | **3개 이상** (삼변 측량 기반) |
| 기준 앵커 (Base) | 1개 (좌표 기준점 역할)       |

> 앵커는 가급적 서로 잘 보이는 개방된 위치에 설치하는 것이 좋습니다.\
> 천장 또는 높은 벽면에 고정하면 수신 안정성과 커버리지가 개선됩니다.

</details>

<details>

<summary>금속 벽면이나 유리 옆에 설치해도 괜찮나요?</summary>

**가능하면 금속이나 유리처럼 반사율이 높은 재질은 피해서 설치하는 것이 좋습니다.**\
UWB 신호는 금속과 유리에서 반사되거나 굴절될 수 있어, **멀티패스(Multipath) 간섭**이 발생하고\
그로 인해 위치 정확도가 떨어질 수 있습니다.

**권장 설치 조건:**

* 금속 기둥, 엘리베이터 근처는 피하기
* 유리 벽보다 일반 석고/콘크리트 벽면에 설치
* 통신 성능 확인을 위해 설치 후 **실제 거리 측정값과 비교 테스트** 권장

※ 부득이하게 해당 위치에 설치해야 할 경우, **실제 위치 오차를 확인하고** 보정값을 적용하거나, 다른 앵커를 보완적으로 배치하는 것이 좋습니다.

</details>

<details>

<summary>앵커는 몇 개부터 설치가 가능한가요?</summary>

**목적에 따라 필요한 앵커 수가 달라집니다.**

* 거리 측정(Distance only)만 필요한 경우에는 **1개만으로도 사용 가능**합니다.\
  (태그까지의 거리만 계산)
* 정확한 위치 측정(RTLS)을 원하신다면, **최소 3개 이상의 앵커**가 필요합니다.\
  (삼변측량 방식으로 2D 좌표 계산)
* 3D 위치 측정(Z축 포함)을 원하신다면 **4개 이상** 설치를 권장합니다.\
  앵커 수가 많아질수록 위치 정확도와 안정성도 향상됩니다.

</details>

### 📐 좌표 측정과 입력

<details>

<summary>앵커 좌표는 어떻게 측정하나요?</summary>

앵커의 좌표는 **공간 내 실제 거리 측정**을 통해 수동으로 입력해야 하며, 좌표 정확도가 전체 RTLS 정확도를 좌우합니다.\
가장 일반적인 방식은 **기준 앵커를 (0, 0, Z)로 설정하고**, 다른 앵커들과의 **상대 거리(X, Y, Z)를 줄자나 레이저 거리 측정기로 측정**하여 좌표를 계산하는 방식입니다.

* 좌표는 앵커 중심 간 거리 기준으로 측정하세요.
* 기준 앵커 위치는 꼭 (0, 0)이 아니어도 되며, 다른 기준점을 선택할 수도 있습니다.
* 정확도를 높이기 위해 **2회 이상 반복 측정**을 권장합니다.

👉 **자세한 측정 절차와 예시는 아래 설치 가이드를 참고하세요:** [ 앵커 설치 및 좌표 측정 매뉴얼 바로가기](https://freegrow-1.gitbook.io/product-docs-kr/creatorkit_q1/uwb-q1/undefined/undefined-1)

</details>

<details>

<summary>좌표 단위는 mm인가요, m인가요?</summary>

좌표 입력 단위는 **밀리미터(mm)**&#xC785;니다.\
예를 들어, 2.5m 높이에 설치했다면 `Z = 2500` 으로 입력해야 합니다.\
Web Console이나 RTLS 연산 엔진은 mm 단위로 처리되므로 단위 오류에 주의하세요.

</details>

<details>

<summary>좌표를 실측이 아닌 도면 기준으로 잡아도 되나요?</summary>

가능하지만 **실측이 더 정확합니다.**\
도면상의 수치만으로 입력할 경우,

* **도면과 실제 구조 사이의 오차**
* **설치 위치의 미세한 차이** 등으로 인해 **RTLS 오차가 커질 수 있습니다.**

**실제 줄자 측정 또는 레이저 거리계 사용을 권장**하며, 측정 후 좌표를 입력해주세요.

</details>

<details>

<summary>실내 / 실외 환경에서의 위치 측정 거리 범위가 각각 어느 정도되나요?</summary>

**기본적인 측정 거리 성능은 실내외 모두 유사**하지만,\
설치 환경의 구조적 특성 때문에 **앵커 배치 간격은 다르게 권장됩니다.**

**✅ 환경별 설치 가이드**

<table><thead><tr><th width="94.20001220703125">구분</th><th width="159.4000244140625">권장 앵커 간 거리</th><th>최대 측정 거리 (LoS 기준)</th><th>평균 위치 정확도</th></tr></thead><tbody><tr><td><strong>실내</strong></td><td>15m</td><td>25m</td><td>10~30cm 이내</td></tr><tr><td><strong>실외</strong></td><td>20m</td><td>25m</td><td>10~30cm 이내</td></tr></tbody></table>

* 실내 환경은 **벽체, 가구, 천장 구조물** 등 신호를 반사하거나 차단하는 요소가 많아\
  더 촘촘한 앵커 배치(15m 이내)를 권장합니다.
* 실외는 구조물이 적고 개방된 환경이기 때문에 **20m 간격**으로도 안정적인 측위가 가능합니다.

</details>

### 📲 태그 / 단말기 테스트

<details>

<summary>스마트폰으로 태그 역할을 대체할 수 있나요?</summary>

네, **GrowSpace 모바일 키트(N1-CK-01)** 를 사용하는 경우, **UWB가 내장된 스마트폰만으로도** 거리 측정과 위치 추정 테스트가 가능합니다.\
별도의 물리 태그 없이, 스마트폰이 직접 태그처럼 동작하여 **앵커와 거리, 방향 정보를 주고받고**, 실시간 RTLS 연산에 참여할 수 있습니다.

이 기능을 사용하려면 다음 조건을 충족해야 합니다:

* **UWB 지원 스마트폰 기기** (예: Galaxy S21+ 이상, iPhone 11 이상)
* **GrowSpace Mobile 앱 설치**
* **전원이 연결된 N1 앵커 3개 이상 설치**
* **정확한 앵커 좌표 입력**

> **스마트폰 기반 테스트를 원하신다면,** [**GrowSpace 모바일 키트(N1-CK-01)**](https://grow-space.io/product/n1-mk-01/) **제품을 구매해 주세요.**\
> 앵커4개와 SDK가 포함되어 있어, 앱만으로도 실내 거리 및 위치 테스트를 바로 시작할 수 있습니다.

</details>

<details>

<summary>거리 측정은 정상적으로 되는데, RTLS 위치 추정이 되지 않습니다. 원인이 무엇인가요?</summary>

RTLS(Real-Time Location System) 위치 추정은 거리 측정만으로는 이루어지지 않으며, **여러 조건이 충족되어야 위치 연산이 가능합니다.** 다음 항목을 확인해 주세요:

**1. 앵커 수량 확인**

* RTLS 위치 추정을 위해서는 **최소 3개 이상의 앵커가 동시에 연결**되어 있어야 합니다.
* 2개 이하로 연결된 경우, 삼변측량(Trilateration)이 불가능해 위치를 계산할 수 없습니다.

**2. 앵커 좌표 입력 여부**

* **각 앵커의 좌표(X, Y, Z)가 앱 또는 시스템에 정확히 입력되어 있어야** 위치 연산이 가능합니다.
* 좌표가 누락되거나 잘못 입력된 경우, RTLS 연산이 동작하지 않습니다.

**3. 실시간 세션 연결 상태**

* 일부 앵커가 실시간으로 연결되지 않거나 신호가 약한 경우, 위치 추정 결과가 나타나지 않을 수 있습니다.
* BLE 연결이나 UWB 세션 연결이 끊기지 않았는지 확인해 주세요.

**4. 테스트 공간 설정**

* RTLS 기능에서는 **테스트 공간의 가로/세로(M 단위) 범위를 지정**해야 격자 기반 위치 표시가 가능합니다.
* 격자 크기 설정이 누락되거나 너무 작게 설정된 경우, 위치 표시가 화면에 보이지 않을 수 있습니다.

***

이 모든 조건이 정상일 경우에도 위치가 표시되지 않는다면, 환경적 요인(금속 간섭, 반사 등)을 고려해 테스트 환경을 점검해 보시기 바랍니다.

</details>

<details>

<summary>개발자 태그의 충전형과 비충전형의 차이는 뭔가요?</summary>

두 제품 모두 **기능과 성능은 동일**하지만, 전원 공급 방식에 차이가 있습니다.

* 🔋 **충전형**
  * USB 포트를 통해 충전 가능
  * 내부에 배터리가 포함되어 있어 무선으로 간편하게 사용할 수 있습니다.
* 🔌 **비충전형**
  * USB 충전 회로가 없으며, 별도의 외부 전원 연결이 필요
  * 실험실 내 고정 설치 등 **상시 전원 환경**에서 사용하기 적합합니다.

</details>

<details>

<summary>충전형 태그는 얼마나 사용할 수 있나요?</summary>

충전형 태그는 **하드웨어는 동일하지만 사용 목적에 따라 사용 시간이 다릅니다.**

* **인적 태그** (사람 위치 측정용):\
  최대 **약 7일** 사용 가능\
  → 위치 업데이트 주기(예: 1Hz, 10Hz)에 따라 시간은 달라질 수 있습니다.
* **물적 태그** (자산/물류 트래킹용):\
  최대 **약 70일** 사용 가능\
  → 저전력 전송 방식으로 동작하며, 장시간 운영에 적합합니다.

> ※ 실제 사용 시간은 업데이트 주기, 움직임 빈도, 전송 간격 등에 따라 달라질 수 있습니다.\
> 자세한 사양은 아래 이미지를 참고해 주세요.

<figure><img src="https://356734201-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Foe0KVbwvjv8CpKY1STKH%2Fuploads%2FvUYQlL8IsK6kKI96lUOr%2Fimage.png?alt=media&amp;token=d93e2770-6587-4664-b5a7-8bcee2a8f357" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>보조 배터리 사용 시 일부 UWB 보드가 꺼지는 이유가 무엇인가요?</summary>

이러한 현상은 보조 배터리의 **저전력 차단 기능**으로 인해 발생하는 경우가 많습니다.

\
**✅** 원인

1. **보조 배터리 저전력 차단 기능**
   * 일부 보조  배터리는 연결된 기기의 **소비 전력이 일정 수준 이하일 경우**, 기기가 연결되지 \
     않았다고 판단해 자동으로 출력을 차단합니다.
   * UWB 장비는 부팅 시 순간적으로 전류를 많이 소모하지만, **평상시 소비 전력은 매우 낮아** \
     보조 배터리에서 출력을 차단하는 현상이 발생할 수 있습니다.
2. **보드별 소비 전력 특성 차이**
   * 동일한 보조 배터리를 사용해도, **UWB 보드별 전력 소모량이 다를 수 있어** 일부 보드는 \
     유지가 되고 일부 보드는 꺼질 수 있습니다.

***

**✅ 해결 방법**

1. **스마트폰 동시 연결**
   * 보조 배터리에 UWB 장비와 **스마트폰을 동시에 연결**하면 일정 전력이 꾸준히 소모되어 전원 유지 안정성이 높아집니다.
2. **일반 전원 사용 테스트**
   * USB 어댑터나 PC USB 포트 등 **일반 전원에 연결**했을 때 동일한 문제가 발생하는지 확인해 보세요.
   * 일반 전원에서는 문제가 없다면 보조 배터리의 저전력 차단 기능에 의한 현상일 가능성이 높습니다.

{% hint style="warning" %}
참고 사항

* 보조  배터리마다 저전력 차단 기능의 **감도와 해제 방법**이 다르므로, 필요 시 제조사 매뉴얼을 확인하는 것이 좋습니다.&#x20;
  {% endhint %}

</details>

<details>

<summary>Q1에서 동시에 몇 개의 태그까지 추적할 수 있나요?</summary>

</details>

### 📡 게이트웨이

<details>

<summary>리스너와 게이트웨이의 차이는 무엇인가요?</summary>

<table><thead><tr><th width="122.4000244140625">항목</th><th width="225.79998779296875">리스너 Q1</th><th>게이트웨이 Q1</th></tr></thead><tbody><tr><td>연결 방식</td><td>USB 직결</td><td>Wi-Fi / LAN</td></tr><tr><td>용도</td><td>테스트용</td><td>실시간 데이터 운영용</td></tr><tr><td>연동 대상</td><td>PC, MCU 등</td><td>클라우드, 서버 등</td></tr></tbody></table>

</details>

<details>

<summary>게이트웨이 Q1 은 MQTT 프로토콜 설정은 PC 에 USB 로 연결해서하나요?</summary>

네, MQTT 브로커 설정은 PC와 게이트웨이를 USB-C 케이블로 연결한 뒤 , 내장된 웹 설정 페이지에서 서버 주소, 포트, Topic 등을 직접 입력하여 진행합니다.

</details>

<details>

<summary>게이트웨이 Q1 에서의 MQTT 메세지는 LAN 으로 연결된 서버에서 발행하나요?</summary>

게이트웨이 Q1은 **LAN(유선) 또는 Wi-Fi(무선) 네트워크**를 통해 MQTT 데이터를 전송합니다.

LAN 연결이 우선 적용되며, 연결이 없을 경우 자동으로 **Wi-Fi(2.4GHz 전용)** 으로 전환됩니다.

※ 5GHz 네트워크는 지원되지 않습니다.

</details>

### 📊 데이터

<details>

<summary>수집되는 데이터 형태를 원하는 대로 수정할 수 있을까요?</summary>

네, 가능합니다.\
기본적으로 위치 데이터는 MQTT를 통해 `X`, `Y`, `Z` 좌표값이 포함된 JSON 형식으로 전송됩니다.\
수신 이후에는 수신 시간을 추가하거나, 원하는 포맷으로 가공하여 활용하실 수 있습니다.

단, **전송되는 JSON 포맷 자체를 수정**하고자 하시는 경우, 게이트웨이 펌웨어 커스터마이징이 필요하며, **별도 비용이 발생할 수 있습니다.**

</details>

<details>

<summary>MQTT JSON파일로 수신되는 데이터 예시 요청</summary>

MQTT를 통해 수신되는 데이터는 아래와 같은 JSON 형식으로 구성되어 있으며, **게이트웨이 ID**를 기준으로 **Tag 정보** 또는 **Anchor 정보**를 구분하여 전달됩니다.

**✅ Tag 정보 예시**

```json
json복사편집{
  "gatewayID": "GR209C",
  "tags": [
    {"id": "GR2eba", "panID": "0001", "x": -4.45, "y": -0.19, "z": -2.22},
    {"id": "GR1012", "panID": "0001", "x": -1.44, "y": 3.68, "z": 0.72},
    {"id": "GR2c3c", "panID": "0001", "x": -3.91, "y": 0.22, "z": -2.45},
    {"id": "GR2cb4", "panID": "0001", "x": -3.44, "y": -0.06, "z": -2.52},
    {"id": "GR2eb9", "panID": "0001", "x": -4.95, "y": 0.65, "z": 1.36}
  ]
}
```

**✅ Anchor 정보 예시**

```json
json복사편집{
  "gatewayID": "GR209C",
  "anchors": [
    {"id": "GR2fcc", "panID": "0001", "initiator": false, "x": -5.45, "y": 2.58, "z": 0.00}
  ]
}
```

***

* **gatewayID**: 데이터가 수신된 게이트웨이 식별자입니다.
* **tags / anchors**: 각각의 장비 유형에 따라 구분되며, 동일한 gatewayID로 각각의 정보가 개별 패킷으로 전송됩니다.
* **리스트 순서**: tags 및 anchors는 게이트웨이가 주기적으로 수신한 순서에 따라 리스트 인덱스 순서로 정렬되어 있습니다.
* **좌표 값(x, y, z)**: 장비의 위치 좌표입니다. 단위는 미터(m) 기준입니다.

</details>

<details>

<summary>데이터 처리 속도는 어떻게 되나요?</summary>

위치 데이터는 최대 **초당 10회(10Hz)의** 속도로 업데이트되며, 게이트웨이는 **최대 초당 150건의 통신**을 처리할 수 있습니다.\
즉, 여러 개의 태그를 동시에 빠르고 안정적으로 처리할 수 있습니다.

* 10Hz 운영 시: 최대 15개 태그 동시 처리
* 1Hz 운영 시: 최대 150개 태그 동시 처리

</details>

<details>

<summary>위치 데이터는 어떤 형태로 전달되나요?</summary>

기본적으로 MQTT 프로토콜을 통해 JSON 형식으로 전달됩니다.\
각 태그의 `X`, `Y`, `Z` 좌표 값이 포함되며, `gatewayID`를 통해 송신 게이트웨이를 확인할 수 있습니다.

> 수신한 JSON 데이터를 가공하여 웹 서비스, DB, 시각화 시스템 등과 연동할 수 있습니다.

</details>

<details>

<summary>GrowSpace 시스템은 Python 같은 외부 개발환경과 연동할 수 있나요?</summary>

네, 가능합니다.\
GrowSpace 시스템은 MQTT 기반으로 작동하기 때문에 Python, Node.js, Java 등 다양한 외부 개발 환경에서 데이터를 수신하고 활용하실 수 있습니다.

* MQTT 클라이언트를 사용하면 실시간 데이터 수신 및 분석이 가능합니다.
* 필요 시 API 또는 SDK 연동 관련 문서도 제공해드립니다.

연동 방법이 궁금하시다면, [이 가이드](https://freegrow-1.gitbook.io/product-docs-kr/creatorkit_q1/gateway/undefined-1)를 참고해 보세요.\
실습 예제와 함께 MQTT 연결 방식이 자세히 설명되어 있습니다.

</details>

<details>

<summary>GROWSPACE 에서 제공하는 측위 알고리즘 소프트웨어를 사용하지 않고 앵커에서 보내는 raw data 를 이용해 클라우드 서버에서 자체적인 알고리즘을 사용해 측위할 수 있나요?</summary>

현재 시스템에서 제공되는 데이터는 **이미 내부 알고리즘을 통해 계산된 X, Y, Z 좌표값**입니다.

따라서 이 값을 일반적인 의미의 *raw data*로 보기는 어렵습니다.

X, Y, Z 좌표를 기반으로 자체적인 후처리나 분석(패턴 분석, 경로 추정 등)은 가능하지만,

**해당 데이터를 이용해 새로운 측위 알고리즘을 구현하거나 재계산하는 것은 어렵습니다.**

</details>

<details>

<summary>실시간 위치 데이터는 어떤 형식으로 제공되나요?</summary>

GrowSpace 시스템은 실제 장비를 통해 수집된 위치 정보를 **두 가지 방식**으로 제공합니다.

#### 1. 게이트웨이를 통한 MQTT 데이터

게이트웨이에서 수신한 위치 정보는 **JSON 형식**으로 MQTT를 통해 전달됩니다.\
이 데이터는 시각화 시스템, 외부 서버, 또는 분석 시스템과 쉽게 연동할 수 있습니다.

**✅ 예시: 태그 위치 데이터**

```json
{
  "gatewayID": "GR1234",
  "tags": [
    {
      "id": "GR8a8",
      "panID": "0001",
      "x": -1.25,
      "y": 10.12,
      "z": 1.57
    }
  ]
}
```

**✅ 예시: 앵커 위치 데이터**

```json
{
  "gatewayID": "GR1234",
  "anchors": [
    {
      "id": "GR1027",
      "panID": "0001",
      "initiator": false,
      "x": -1.00,
      "y": 11.48,
      "z": 0.00
    }
  ]
}
```

**✅ 예시: 게이트웨이 정보**

```json
{
  "uwbID": "GR1234",
  "panID": "0001",
  "ip": "172.30.1.133"
}
```

> 📌 참고:
>
> * `x`, `y`, `z`는 각 장비의 3D 위치 좌표입니다 (단위: 미터).
> * `panID`는 구역 구분용 ID입니다.
> * `initiator`는 해당 앵커가 타임 싱크 시작점인지 여부를 나타냅니다.

<figure><img src="https://356734201-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Foe0KVbwvjv8CpKY1STKH%2Fuploads%2FdyGP9EAOJW22AEd2OLhZ%2Fimage.png?alt=media&amp;token=be196538-30a7-475d-91b6-d58b09d01a11" alt=""><figcaption></figcaption></figure>

***

#### 2. 리스너 장치를 통한 문자열 데이터

리스너 장치를 사용하는 경우에는 **간단한 문자열 형식**으로 위치 데이터가 전달됩니다.\
이 방식은 저지연 스트리밍 또는 고속 분석 시스템에서 유용하게 활용됩니다.

**✅ 리스너 데이터 예시**

```
POS,0,08A8,-1.22,10.14,1.60,61,x0D
POS,0,08A8,-1.20,10.15,1.60,61,x0D
POS,0,08A8,-1.21,10.13,1.59,60,x0D
...
```

| 항목                       | 설명               |
| ------------------------ | ---------------- |
| `POS`                    | 데이터 타입           |
| `0`                      | Pan ID           |
| `08A8`                   | 태그 ID            |
| `-1.22`, `10.14`, `1.60` | X, Y, Z 좌표       |
| `61`                     | 품질/신호세기 또는 내부 지표 |
| `x0D`                    | 데이터 종료 구분자       |

> ⚙ 이 데이터는 Python, C++, Node.js 등 다양한 환경에서 실시간 처리 가능합니다.

<figure><img src="https://356734201-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Foe0KVbwvjv8CpKY1STKH%2Fuploads%2FvpQDZY8gNORZm2wEzr2d%2Fimage.png?alt=media&amp;token=a10c58d8-94d1-4432-830d-b692de4489a1" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>RTLS 데이터는 어떤 방식으로 서버와 연동되나요?</summary>

프리그로우 UWB RTLS 시스템의 데이터는 연동 목적과 규모에 따라 크게 **직접 시리리얼 통신**과 **네트워크 기반 MQTT 통신**의 두 가지 방식으로 외부 시스템이나 서버와 연동됩니다.

#### &#x20;1. 게이트웨이를 통한 네트워크 기반 연동 (MQTT)

RTLS 데이터를 중앙 서버나 클라우드 시스템에 실시간으로 전송하는 가장 일반적인 방법입니다. 이 방식은 공장이나 창고와 같이 **넓은 공간을 커버**하고 중앙에서 기기 상태 및 위치 이벤트를 실시간으로 확인해야 할 때 사용됩니다.

* **프로토콜:** **MQTT**프로토콜을 사용합니다. MQTT는 IoT 환경에 널리 사용되는 경량 통신 프로토콜로, 실시간 메시지 송수신을 효율적으로 처리합니다.
* **데이터 흐름:** UWB 앵커와 태그로부터 수집된 위치 데이터는 **게이트웨이**를 통해 MQTT 브로커(Broker, 예: Mosquitto)로 전송됩니다.
* **서버 구축:** 사용자는 사설 Mosquitto 브로커를 서버에 설치하고, 게이트웨이 설정을 통해 해당 브로커의 IP 주소로 데이터를 전송하도록 구성합니다.
* **데이터 형식 및 구독 (Topic):** 전송되는 데이터는 **JSON 형식**입니다. 서버나 모니터링 클라이언트(예: MQTT-Studio)는 다음과 같은 주요 토픽을 구독하여 데이터를 수신합니다:
  * `uwb/gateway/devices/#`: **태그의 실시간 위치 좌표** (x, y, z) 및 앵커 정보가 포함됩니다.
  * `uwb/gateway/config/#`: 게이트웨이의 **생존 신호 (Heartbeat)** 와 구성 정보.
  * `uwb/gateway/start/#`: 게이트웨이 **부팅 직후의 상태 정보**.

***

#### 2. 리스너 또는 태그를 통한 직접 시리얼 연동 (USB/UART)

Creator Kit Q1은 개발자나 연구자들이 소규모 테스트베드나 임베디드 장치와 직접 연동할 수 있도록 시리얼 통신을 지원합니다. 이 방식은 주로 위치 계산 결과를 **실시간으로 확인**하거나 장치를 직접 **제어**할 때 활용됩니다.

* **하드웨어 구성:** **리스너** 또는 **개발자 태그**를 PC나 임베디드 장치(예: Raspberry Pi, Arduino)에 **USB/UART** 연결을 통해 직접 연결합니다.
* **데이터 수집 방법:** 시리얼 터미널 프로그램(예: Tera Term) 또는 Python/Arduino 라이브러리 코드를 통해 장치에 특정 명령어를 입력하여 데이터를 수신합니다.
  * `lep` 명령어: **위치 좌표(x, y, z)와 품질 지수(QF)** 만 CSV 형식으로 출력하여 로그 수집에 적합합니다.
  * `lec` 명령어: **거리 정보 (앵커와의 거리)** 와 위치 정보(POS)를 포함하여 출력하며 디버깅에 유용합니다.
* **개발 환경 지원:** Python 기반 시리얼 통신 예제 코드와 Arduino 라이브러리가 제공되므로, 개발자는 이를 활용하여 위치 데이터 수집 및 파싱 로직을 직접 구현할 수 있습니다.

***

#### 3. 전자지도 플랫폼을 통한 시각화 연동 (API/SDK)

수집된 위치 좌표를 외부 시스템의 시각화 화면에 연동할 때는 프리그로우의 **전자지도 개발자 플랫폼**을 활용할 수 있습니다.

* **API/SDK 제공:** 이 플랫폼은 **REST API**와 **JavaScript SDK**를 제공하여 외부 웹 또는 모바일 앱과 쉽게 연동됩니다.
* **좌표 시각화:** RTLS에서 계산된 좌표 정보(x, y, 층)를 API 형식에 맞게 플랫폼에 전달하면, 시스템이 이를 **디지털 지도 위에 실시간 위치로 표시**합니다.
* **활용:** 이를 통해 실내 서바이벌 게임의 플레이어 위치를 게임 엔진(Unity/Unreal)에 연동하거나, 위험 구역 설정(지오펜스) 및 출입 이벤트 감지를 구현할 수 있습니다.

</details>

### 🖥️ 운영 및 관리

<details>

<summary>한 공간에 여러 Pan ID 설정이 가능한가요?</summary>

네, 가능합니다.\
GrowSpace 시스템은 하나의 물리적 공간 안에 **여러 개의 Pan ID를 설정**할 수 있도록 설계되어 있어, **구역별로 독립된 트래킹 그룹**을 운영할 수 있습니다.

이를 통해 동일한 공간에서도 팀별, 구역별 위치 정보 관리를 효율적으로 할 수 있습니다.

</details>

<details>

<summary>공간을 나눠서 운영하려면 어떻게 해야 하나요?</summary>

공간을 구분해 운영하려면, **Pan ID를 기준으로 구역을 분리**하시면 됩니다.\
예를 들어, 구역 A에는 Pan ID 0001, 구역 B에는 Pan ID 0002를 할당해 서로 간섭 없이 운영할 수 있습니다.

또한, 구역마다 별도의 앵커를 배치하고, 시스템 내에서 **존(zone) 단위로 구분 설정**하면 더 체계적으로 운영할 수 있습니다.

</details>

<details>

<summary>앵커 하나가 고장났을 때 위치 연산은 가능한가요?</summary>

**앵커 하나가 고장 나더라도, 나머지 앵커가 3개 이상이라면 위치 연산은 계속 가능합니다.**

GrowSpace 시스템은 **3개 이상의 앵커가 동작 중일 때** 위치 연산을 수행할 수 있기 때문에, 일부 앵커가 꺼지거나 장애가 발생해도 기본적인 위치 추적은 유지됩니다.

다만, 고장 난 앵커의 위치나 전체 배치 구조에 따라 일부 영역의 정확도나 커버리지에 영향을 줄 수 있어,\
**중요한 공간에서는 앵커를 1\~2개 여유 있게 배치**해 두시는 것을 권장드립니다.

</details>

<details>

<summary>실시간 위치 정보를 API로 받을 수 있나요?</summary>

네, 가능합니다.\
GrowSpace 시스템은 **MQTT 기반 API 방식**을 통해 실시간 위치 데이터를 제공합니다.\
각 장비는 고유한 MQTT 토픽을 통해 데이터를 전송하며, 개발자는 이를 구독(subscribe)해 실시간 위치 정보를 받아볼 수 있습니다.

**✅ 사용되는 MQTT 토픽 종류**

<table><thead><tr><th width="262.20001220703125">구분</th><th>토픽 형식</th></tr></thead><tbody><tr><td><strong>게이트웨이 설정 정보</strong></td><td><code>uwb/gateway/config/{projectId}/{deviceId}</code></td></tr><tr><td><strong>태그 / 앵커 위치 데이터</strong></td><td><code>uwb/gateway/devices/{projectId}/{deviceId}</code></td></tr><tr><td><strong>게이트웨이 부팅 직후 1회 전송</strong></td><td><code>uwb/gateway/Start/{projectId}/{deviceId}</code></td></tr></tbody></table>

* `{projectId}`는 사용자의 **API 키 값**입니다.
* `{deviceId}`는 각 게이트웨이의 **UWB ID**로, 장비 식별자 역할을 합니다.

> ※ 게이트웨이가 부팅될 때는 `Start` 토픽이 한 번만 전송되어 초기 상태 확인에 활용할 수 있습니다.

</details>

<details>

<summary>게이트웨이와 앵커는 정상인데도 위치 계산이 잘 안 될 때는 무엇을 확인해야 하나요?</summary>

게이트웨이와 앵커가 모두 온라인인데 위치 계산이 불안정한 경우

1\) 앵커 좌표가 실제 설치 위치와 일치하는지(맵핑 오류 여부)를 우선 확인합니다. \
2\) 앵커 높이 값이 정확한지, \
3\) 앵커 간 거리를 너무 좁게 또는 넓게 배치하지 않았는지 검토합니다. \
4\) 태그가 바닥과 너무 가까운 곳에 있거나, 금속 케이스 등에 가려져 있지 않은지도 확인해야 합니다.&#x20;

맵핑 값과 실제 설치 위치가 조금만 달라도 위치 계산 오차가 크게 증가할 수 있습니다.

</details>

### 📚 기타

<details>

<summary>Growspace web을 통해서만 세팅이 가능한건가요?</summary>

꼭 그렇지는 않습니다.\
GrowSpace Web은 설정을 가장 간편하게 도와주는 도구지만, **인터넷 연결 없이도 장비와 USB로 직접 연결해 설정할 수 있습니다.**

* 장비를 USB로 연결해 로컬 환경에서 설정 가능
* GrowSpace Web은 **PWA(Progressive Web App)** 형태로 설치할 수 있어, **오프라인 환경에서도 동작**합니다
* 현장에서 인터넷 연결이 어려운 경우에도 안심하고 사용할 수 있어요

</details>

<details>

<summary>GROWSPACE 에서 제공하는 측위 알고리즘 소프트웨어가 있나요? 있다면 별도로 구매해야하나요?</summary>

네, GrowSpace에서는 기본적인 **측위 알고리즘 소프트웨어**를 제공합니다.

별도의 알고리즘을 반영하거나 수정하는 기능은 없으며, 기기에서 계산된 위치 데이터를 실시간으로 확인하고 시각화할 수 있는 전용 툴입니다.

</details>

<details>

<summary>펌웨어 업데이트는 어떻게 하나요?</summary>

현재 GrowSpace 제품은 **사용자 직접 펌웨어 업데이트를 지원하지 않습니다.**\
출고 시점에 **최신 안정화 펌웨어가 탑재**되어 있으며, 일반적인 사용 환경에서는 별도의 업데이트 없이 사용하실 수 있습니다.

> 사용 중 펌웨어 관련 문제가 의심된다면, **RTLS 서비스지원팀(<contact@freegrow.io>)을 통해 점검 또는 교체 방식으로 지원**해드립니다.

</details>

<details>

<summary>하나의 구역에 앵커는 몇 개 정도 설치해야 하나요?</summary>

2D 평면 기준 최소 3개 이상의 앵커가 있어야 태그 위치를 삼변측량 방식으로 계산할 수 있으며, \
실제 서비스에서는 여유를 두어 46개 정도의 앵커를 한 셀에 배치하는 것을 권장합니다.&#x20;

복도처럼 좁고 긴 공간은 34개로도 충분할 수 있고, \
넓은 홀이나 공장/물류 야드처럼 개방된 공간은 6개 이상으로 조밀하게 배치하면 정확도와 안정성이 향상됩니다.

</details>

<details>

<summary>층이 다른 공간에서도 위치 측정이 가능한가요?</summary>

UWB 신호 자체는 수직 방향으로도 도달할 수 있으나, \
RTLS 위치 계산은 주로 한 층(2D 평면)을 기준으로 하도록 설계하는 것이 일반적입니다.

층간 혼선과 불필요한 앵커 신호를 줄이기 위해 보통 층별로 독립된 앵커 그룹을 구성하며, \
각 층을 별도 존으로 관리하는 방식을 권장합니다.

</details>
