Learn(으)로 돌아가기

RC G1 터틸 글래브 <unk> 데이터 프로토콜 및 결합 참조

바이너리 프레임 형식, AT 명령 세트, LED 상태 테이블, 그리고 RC G1 터틸 글래브 시리즈 / 블루투스 프로토콜의 문제 해결.

이 페이지를 사용 하 고, 당신은 당신의 독자를 작성하거나 사용자 지정 데이터 파이프라인에 G1를 통합 하는 경우. 그것은 바이너리 프레임 형식, 일련 채널에 AT 명령 설정, 모든 LED 상태, 그리고 가장 일반적인 실패 모드를 포함 합니다. 당신이 단지 연결하고 기록해야 하는 경우, [Windows]T69), [macOS]T70), 또는 [Linux]T71) 설정 페이지에서 시작.

참고 자료 업데이트 2026년 5월 어려움: 고급

1· 하드웨어 아키텍처

G1 배포는 다섯 개의 구성 요소를 가지고 있습니다. 단일 장갑 장착기에는 첫 번째 네 개가 필요합니다. USB 허브는 멀티 장갑 (LH + RH) 설정에 사용됩니다.

  1. ** 섬유 센서 배열.** 16×16 논리 매트릭스에 배치된 162개의 피저레시스티브 센서 포인트 (256개의 ADC 슬롯, 이 중 162개의 물리적으로 센서에 연결되어 있으며, 무선 슬롯은 0에 가까운 것으로 읽을 수 있으며 소프트웨어에서 마스크될 수 있습니다).
  2. ** 데이터 획득 모듈 (A-board).** ESP32 기반의 블루투스 MCU, 통합 300 mAh / 3.7 V 배터리, 충전 / 데이터 / 펌웨어용 USB-C, 하드웨어 터틸 버튼 및 상태 LED. 50 × 32 × 15.5 mm; 6.6 g 보드 + ~ 15 g 배터리.
  3. ** 블루투스 USB 수신기 (용돌이) ** 1:1 단 하나의 A-판과 결합된 USB-A, 66.1 × 23.2 × 13mm. 선택적 케이블에서만 작동하는 것이 완전히 지원됩니다.
  4. USB 3.0-to-Type-C 케이블 (2m). 921 600 bps의 기본 연결, 선택적으로 3 000 000 bps의 고속 모드.
  5. 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 바이트의 일정 동기화 헤더 T8, 1 바이트의 순서 번호 (T9 또는 T10) 및 1 바이트의 센서 타입 ID로 시작됩니다.

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)

** 프레임 팁:** 음의 USB 링크에서 고정된 오프셋을 신뢰하는 대신 4 바이트 동기화 헤더를 스캔하십시오. 이전 순서 1 없이 순서 2 패킷을 수신하면 drop it and resync IMU quaternion는 일치하는 압력 반과 결합하면만 의미가 있습니다.

4. 논리 채널 지도

162개의 유선 감지 포인트는 16×16 그리드 (256개의 세포, 1256개의 선 중추인 ) 에 표시된다. 정확한 유선 셀 목록은 T35에 동반 앱과 함께 전송된다. 손가락 평균을 계산할 때 94개의 무선 셀을 마스크하는 데 사용한다.

샘플 속도: 100 Hz 와이어드 또는 30 Hz 블루투스. 단일 점 동적 범위: 0350 N, 해상도 0.01 N.

12345678910111213141516
17181920212223242526272829303132
33343536373839404142434445464748
49505152535455565758596061626364
65666768697071727374757677787980
81828384858687888990919293949596
979899100101102103104105106107108109110111112
113114115116117118119120121122123124125126127128
129130131132133134135136137138139140141142143144
145146147148149150151152153154155156157158159160
161162163164165166167168169170171172173174175176
177178179180181182183184185186187188189190191192
193194195196197198199200201202203204205206207208
209210211212213214215216217218219220221222223224
225226227228229230231232233234235236237238239240
241242243244245246247248249250251252253254255256

5. AT 명령 세트 (블루투스 조화)

이 문자열을 ASCII 문자열로 전송하여 BT 도글의 일련 포트에 921 600 바우드로 끝나는 T36 라인을 입력합니다. 도글은 ASCII로 응답하고 연결이 확립되면 바이너리 센서 데이터로 전환합니다.

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 ...)

** 식별자 참고:** T52 / T53 / T54 / T55 / T56 사전은 문자 그대로 G1 펌웨어에 구워진 BLE 광고 이름입니다. 스캔 결과를 필터링 할 때 정확하게 일치합니다.

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. 재조합 (손잡이 가 사라진 경우)

  1. 데이터 획득 모듈의 전력 사이클: 빨간색까지 긴 압력을, 광고를 하기 위해 짧은 압력을 (블루 플래싱)
  2. 블루투스 둥글을 호스트에 연결해 주세요 둥글에 빨간색으로 깜박이는 것은 스캔 중이라는 뜻입니다
  3. 921 600 바우드 에서 호스트의 일련 포트를 T57, T58, USB 드라이브에 배포된 SSCOM 유틸리티 또는 동반 앱을 사용하여 T57, T58을 사용하여 돌로 를 열십시오.
  4. T59를 실행하세요. T60 / T61 / 등으로 끝나는 라인에서 MAC를 복사하세요.
  5. 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. 사양의 스냅샷

RC G1 Tactile Glove — engineering specifications
Sensing
Sensing points per hand162
Resolution4 × 6 mm
Sensing area179 × 145 mm (±3%)
Max single-point load350 N
Accuracy0.01 N
반복성±8%
Response time< 0.2 ms
Durability200 000 cycles @ 3 MPa (automotive-grade)
Physical
Ingress ratingIP21
Weight per glove35.4 g
Minimum fold radius< 0.2 mm
Streaming
Sample rate100 Hz wired / 30 Hz Bluetooth (customizable ≤ 600 Hz)
Baud rate921 600 (default); 3 000 000 high-speed
Power
Operating voltage3.5 – 5.0 V
Operating current48 mA
Bluetooth battery life3.75 h active
Standby1 week
Environment
Operating temperature−20 °C to 60 °C (textile sensor) / −25 °C to 85 °C (PCB)
Operating humidity< 90% RH, non-condensing
IMU
PartTDK InvenSense ICM-42688
자이로스코프3-axis, ±2000 °/s
가속도계3-axis, ±16 g
ADC16-bit
InterfaceI²C up to 1 MHz / SPI 24 MHz / I3C 12.5 MHz

10· 관련 페이지