RC G1 터틸 글래브 <unk> 데이터 프로토콜 및 결합 참조
바이너리 프레임 형식, AT 명령 세트, LED 상태 테이블, 그리고 RC G1 터틸 글래브 시리즈 / 블루투스 프로토콜의 문제 해결.
이 페이지를 사용 하 고, 당신은 당신의 독자를 작성하거나 사용자 지정 데이터 파이프라인에 G1를 통합 하는 경우. 그것은 바이너리 프레임 형식, 일련 채널에 AT 명령 설정, 모든 LED 상태, 그리고 가장 일반적인 실패 모드를 포함 합니다. 당신이 단지 연결하고 기록해야 하는 경우, [Windows]
참고 자료 업데이트 2026년 5월 어려움: 고급
1· 하드웨어 아키텍처
G1 배포는 다섯 개의 구성 요소를 가지고 있습니다. 단일 장갑 장착기에는 첫 번째 네 개가 필요합니다. USB 허브는 멀티 장갑 (LH + RH) 설정에 사용됩니다.
- ** 섬유 센서 배열.** 16×16 논리 매트릭스에 배치된 162개의 피저레시스티브 센서 포인트 (256개의 ADC 슬롯, 이 중 162개의 물리적으로 센서에 연결되어 있으며, 무선 슬롯은 0에 가까운 것으로 읽을 수 있으며 소프트웨어에서 마스크될 수 있습니다).
- ** 데이터 획득 모듈 (A-board).** ESP32 기반의 블루투스 MCU, 통합 300 mAh / 3.7 V 배터리, 충전 / 데이터 / 펌웨어용 USB-C, 하드웨어 터틸 버튼 및 상태 LED. 50 × 32 × 15.5 mm; 6.6 g 보드 + ~ 15 g 배터리.
- ** 블루투스 USB 수신기 (용돌이) ** 1:1 단 하나의 A-판과 결합된 USB-A, 66.1 × 23.2 × 13mm. 선택적
케이블에서만 작동하는 것이 완전히 지원됩니다. - USB 3.0-to-Type-C 케이블 (2m). 921 600 bps의 기본 연결, 선택적으로 3 000 000 bps의 고속 모드.
- USB 허브. 다면 장갑 기장 (예를 들어, 양동 LH + RH)
데이터 흐름:
+--------------------+ +--------------------+ +--------+
| Fabric sensors | --> | A-board ADC | --+--> | Host |
| (162 / 16x16) | | (ESP32 + IMU) | | | |
+--------------------+ +--------------------+ | +--------+
| |
| BLE 30 Hz | USB-C 100 Hz
v | (921600 / 3M)
+--------------------+ |
| BT USB dongle | -+
| (CH340 endpoint) |
+--------------------+
2. 일련 구성
- 기본 포트 설정: 921 600 바우드, 8N1, 흐름 제어 기능이 없습니다.
- 선택적 고속 모드: 3 000 000 baud
펌웨어 측 구성 변경, 연락처 지원이 필요합니다. - 데이터 획득 모듈 (이 케이블을 사용했을 때) 과 블루투스 둥글 모두에 있는 USB 칩: CH340 (WCH USB ID
T4 ). - 리눅스: tree kernel driver
T5 . macOS: install T6 . Windows: install T7 .
§3에 설명된 동일한 바이너리 프로토콜은 유선 또는 BT-dongle 일련 경로에서 작동합니다.
3. 바이너리 프레임 형식
전체 센서 읽기 ** 두 개의 패키지**로 제공되며, 모두 256 개의 압력 값과 16 바이트의 IMU 데이터를 가지고 있습니다. 각 패키지는 4 바이트의 일정 동기화 헤더
Byte layout for one sensor pair (packet 1 + packet 2)
| Offset | Length | Field | Description |
|---|---|---|---|
| Packet 1 (sequence = 0x01) — 134 bytes total | |||
0–3 |
4 B | Sync header | Constant AA 55 03 99 |
4 |
1 B | Sequence | 0x01 = first half |
5 |
1 B | Sensor type | 0x01 LH, 0x02 RH, 0x03 LF, 0x04 RF, 0x05 WB |
6–133 |
128 B | Pressure payload A | First 128 of 256 raw pressure values, 8-bit unsigned ADC (0–255) |
| Packet 2 (sequence = 0x02) — 150 bytes total | |||
0–3 |
4 B | Sync header | Constant AA 55 03 99 |
4 |
1 B | Sequence | 0x02 = second half |
5 |
1 B | Sensor type | Same value as packet 1 |
6–133 |
128 B | Pressure payload B | Last 128 of 256 raw pressure values |
134–149 |
16 B | IMU quaternion | 4 little-endian IEEE-754 floats: w, x, y, z |
센서 타입 ID
| ID | Code | Device class |
|---|---|---|
0x01 |
LH | Left Hand |
0x02 |
RH | Right Hand |
0x03 |
LF | Left Foot |
0x04 |
RF | Right Foot |
0x05 |
WB | Whole Body |
작업된 6개 포착
책상 위에 앉아 있는 왼쪽 장치에서 케이블을 제거한 원형 바이트 (읽기성으로 줄여):
[14:04:29.427] AA 55 03 99 01 01 00 00 00 00 00 00 00 00 00 00 ... (128 B payload)
[14:04:29.428] AA 55 03 99 02 01 00 00 ... 00 62 F3 00 00 00 ... (144 B payload, last 16 B = IMU quaternion)
참고 분석기 (Python)
최소 파서로 두 개의 원료 패킷을 가져다가 센서 ID를 반환합니다. 256세포 압력 벡터와 쿼터니온. 리눅스 설정 가이드에서 사용하는 것을 반영합니다.
import struct, numpy as np
def parse_pair(packet1: bytes, packet2: bytes):
assert packet1[:4] == packet2[:4] == b"\xAA\x55\x03\x99"
assert packet1[4] == 0x01 and packet2[4] == 0x02
sensor_id = packet1[5] # same on both halves
pressure = np.frombuffer(packet1[6:134] + packet2[6:134], dtype=np.uint8) # 256 pts
qw, qx, qy, qz = struct.unpack("<ffff", packet2[134:150])
return sensor_id, pressure, (qw, qx, qy, qz)
** 프레임 팁:**
4. 논리 채널 지도
162개의 유선 감지 포인트는 16×16 그리드 (256개의 세포, 1
샘플 속도: 100 Hz 와이어드 또는 30 Hz 블루투스. 단일 점 동적 범위: 0
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
| 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
| 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 |
| 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
| 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 |
| 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 |
| 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 |
| 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 |
| 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 |
| 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 |
| 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 |
| 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 |
| 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 |
| 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 |
| 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 |
5. AT 명령 세트 (블루투스 조화)
이 문자열을 ASCII 문자열로 전송하여 BT 도글의 일련 포트에 921 600 바우드로 끝나는
| Command | Response | Purpose |
|---|---|---|
AT |
OK |
Sanity check the serial link. |
AT+SCAN=1 |
OK, then one +SCAN=<i>,<MAC>,<RSSI>,<adv-len>,<name_MAC> line per discovered device |
Start a BLE scan; look for lines containing JQ-LH, JQ-RH, JQ-LF, JQ-RF, or JQ-WB. |
AT+CONN=<MAC> |
OK, then binary sensor frames begin streaming |
Open a connection to the discovered MAC. Pairing is persistent across power cycles. |
AT+DISCONN |
OK |
Drop the current link. |
AT+VER |
firmware version string | For support reports. |
실무 사례
> AT+SCAN=1
< OK
< +SCAN=1, 8277169C745A, -1, 18, Redmi Watch 3 745A
< +SCAN=2, 3C8A1F2E9A36, -1, 23, JQ-RH_3C:8A:1F:2E:9A:36 ← the device we want
< +SCAN=3, 0,88F3079C11B4, -1,9, KeepB4-B4
> AT+CONN=3C8A1F2E9A361
< OK
< (binary sensor frames begin streaming ...)
** 식별자 참고:**
6. LED 국가 참조
데이터 획득 모듈 버튼 기능
| Action | Effect |
|---|---|
| Short press while in standby | Wake device and run IMU calibration. Red LED on briefly, then blue flashes while advertising. |
| Short press while operational | Trigger an IMU re-calibration. Keep the module flat and still for ~2 s. |
| Long press | Power off. Red LED on solid until the device is off. |
데이터 획득 모듈 상태 LED 색상
| Color | Meaning | Battery |
|---|---|---|
| Solid Blue | Bluetooth connected, high battery | > 3.3 V |
| Solid Green | Bluetooth connected, medium battery | 3.1 – 3.3 V |
| Solid Red | Bluetooth connected, low battery (charge soon) | ≤ 3.1 V |
| Red flashing | Bluetooth disconnected / advertising | — |
| Blue flashing | Pairing mode / advertising | — |
| Solid White | Charging via USB-C | — |
| LED off | Standby (auto-entered after 1 min of no pressure change — press button to wake) | — |
블루투스 둥글 LED
| State | Meaning |
|---|---|
| Red flashing | Not connected to any device. |
| Red + Blue both solid | Connected to a paired device. |
| Red solid only | Communication abnormal. Unplug and replug the dongle to recover. |
7. 재조합 (손잡이 가 가 가 사라진 경우)
- 데이터 획득 모듈의 전력 사이클: 빨간색까지 긴 압력을, 광고를 하기 위해 짧은 압력을 (블루 플래싱)
- 블루투스 둥글을 호스트에 연결해 주세요 둥글에 빨간색으로 깜박이는 것은 스캔 중이라는 뜻입니다
- 921 600 바우드
에서 호스트의 일련 포트를 T57 , T58 , USB 드라이브에 배포된 SSCOM 유틸리티 또는 동반 앱을 사용하여 T57 , T58 을 사용하여 돌로 를 열십시오. T59 를 실행하세요. T60 / T61 / 등으로 끝나는 라인에서 MAC를 복사하세요. T62 를 실행하세요. T63 이 바이너리 프레임이 따라가면, 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이 이
8. 실정 문제 해결
| Symptom | Resolution |
|---|---|
| Module won’t power on | Battery flat. Charge for 10 min via USB-C (solid white LED), then retry the button. |
LED red-flashing forever after AT+CONN |
The MAC isn’t a G1 device (you copied the wrong line from AT+SCAN=1). Re-scan and look for JQ-LH/RH/LF/RF/WB. |
| Stream starts and stops every minute | 1-minute no-pressure standby has kicked in. Bend a finger to keep traffic flowing, or short-press the wake button. |
사원수 = (NaN, NaN, NaN, NaN) |
IMU lost calibration. Lay the module flat on a still surface and short-press the button to re-calibrate (takes ~2 s). |
Pressure values all 255 |
Cable is reversed (TX/RX swapped) on a custom harness, or you’re reading at the wrong baud. Reset to 921 600. |
| Dongle LED solid red | Communication abnormal. Unplug and replug the dongle. |
| Companion App activation fails | Disable VPN / corporate proxy and retry. |
9. 사양의 스냅샷
| Sensing | |
| Sensing points per hand | 162 |
|---|---|
| Resolution | 4 × 6 mm |
| Sensing area | 179 × 145 mm (±3%) |
| Max single-point load | 350 N |
| Accuracy | 0.01 N |
| 반복성 | ±8% |
| Response time | < 0.2 ms |
| Durability | 200 000 cycles @ 3 MPa (automotive-grade) |
| Physical | |
| Ingress rating | IP21 |
| Weight per glove | 35.4 g |
| Minimum fold radius | < 0.2 mm |
| Streaming | |
| Sample rate | 100 Hz wired / 30 Hz Bluetooth (customizable ≤ 600 Hz) |
| Baud rate | 921 600 (default); 3 000 000 high-speed |
| Power | |
| Operating voltage | 3.5 – 5.0 V |
| Operating current | 48 mA |
| Bluetooth battery life | 3.75 h active |
| Standby | 1 week |
| Environment | |
| Operating temperature | −20 °C to 60 °C (textile sensor) / −25 °C to 85 °C (PCB) |
| Operating humidity | < 90% RH, non-condensing |
| IMU | |
| Part | TDK InvenSense ICM-42688 |
| 자이로스코프 | 3-axis, ±2000 °/s |
| 가속도계 | 3-axis, ±16 g |
| ADC | 16-bit |
| Interface | I²C up to 1 MHz / SPI 24 MHz / I3C 12.5 MHz |







