Zurück zu Learn

RC G1 Tasthalsklappen <unk> Datenprotokoll & Paarungsreferenz

Binärformat, AT-Befehlssatz, LED-State-Tabelle und Fehlerbehebung für die RC G1 Tactile Glove-Serie- / Bluetooth-Protokollen.

Verwenden Sie diese Seite, wenn Sie Ihren eigenen Leser schreiben oder die G1 in eine benutzerdefinierte Datenleitung integrieren. Sie umfasst das binäre Rahmenformat, den AT-Befehlszug auf dem Serienkanal, jeden LED-Zustand und die häufigsten Fehlermodi. Wenn Sie nur einplücken und aufnehmen müssen, beginnen Sie mit den [Windows]T69), [macOS]T70) oder [Linux]T71) Setup-Seiten.

Referenz Aktualisiert Mai 2026 Schwierigkeit: Weiterentwicklung

1. Hardware-Architektur

Ein G1-Einsatz hat fünf Komponenten. Nur die ersten vier sind für eine Einhandschuhe erforderlich; der USB-Hub ist für Multi-Handschuhe (LH + RH) -Setups.

  1. Warn Sensor-Array. 162 piezoresistive Sensorpunkte auf einer 16×16 logischen Matrix angeordnet (256 ADC-Slots, davon 162 sind physisch mit Sensoren verbunden; die unkabelten Slots werden in der Nähe von Null gelesen und können in Software verborgen werden).
  2. Daten-Akquisitionsmodul (A-Board). ESP32-basierte Bluetooth-MCU mit integrierter 300 mAh / 3,7 V-Batterie, USB-C für Ladung / Daten / Firmware, Hardware-Taktbutton und Status-LED. 50 × 32 × 15,5 mm; 6,6 g-Board + ~15 g-Batterie.
  3. Bluetooth-USB-Empfänger (Dongle). 1:1 mit einem einzigen A-Board gekoppelt. USB-A, 66.1 × 23.2 × 13 mm. Optional Kabel-Nurbetrieb ist voll unterstützt.
  4. USB 3.0-to-Type-C-Kabel (2 m). Serienverbindung bei 921 600 Bps Standard, optionales 3 000 000 Bps Hochgeschwindigkeitsmodus.
  5. USB-Schnittstelle. Für mehrhandschichtliche Anlagen (z. B. bi-manuale LH + RH).

Datenfluss:

  +--------------------+     +--------------------+        +--------+
  |  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. Serienkonfiguration

  • Standard-Port-Einstellungen: 921 600 Baud, 8N1, keine Durchflusssteuerung.
  • Optional Hochgeschwindigkeitsmodus: 3 000 000 Baud erfordert eine firmware-seitige Konfigurationsänderung, Kontaktunterstützung.
  • USB-Chips sowohl am Datenübernahme-Modul (wenn sie über eine Kabelleitung verfügbar sind) als auch am Bluetooth-Dongle: CH340 (WCH USB ID T4).
  • Linux: In-Tree-Kernel-Treiber T5. macOS: Installieren T6. Windows: Installieren T7.

Das gleiche in § 3 beschriebene binäre Protokoll funktioniert entweder auf dem kabelgebundenen oder dem BT-Dongle-Serieweg Sie müssen den Transport in Ihrem Leser nicht speziell ausführen.

3. Binärformat

Eine komplette Sensorlässigkeit wird als zwei Pakete geliefert, die zusammen 256 Druckwerte plus 16 Byte von IMU-Daten tragen. Jedes Paket beginnt mit dem konstanten 4-Byte-Synchronisierungshede T8, gefolgt von einer 1-Byte-Sequenznummer (T9 oder T10) und einer 1-Byte-Sensor-Typen-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

Identifikationsnummern für Sensor-Typ

ID Code Device class
0x01 LH Left Hand
0x02 RH Right Hand
0x03 LF Left Foot
0x04 RF Right Foot
0x05 WB Whole Body

Bearbeitete Hex-Fang

Rohbyte aus einem Live-Linken-Gerät, das auf einem Schreibtisch sitzt (verknüpft für Lesbarkeit):

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

Referenzparser (Python)

Minimaler Parser, der die beiden Rohpakete nimmt und eine Sensor-ID, den 256-Zell-Druckvektor und das Quaternion zurückgibt.

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)

Framing Tipp: auf einem lauten USB-Link, suchen Sie nach dem 4-Byte-Sync-Header, anstatt sich auf feste Offset-Verbindungen zu verlassen. Wenn Sie ein Sequenz-2-Paket ohne eine vorherige Sequenz-1 erhalten, lassen Sie es fallen und wieder synchronisieren das IMU-Quaternion ist nur sinnvoll, wenn es mit seiner entsprechenden Druckhalve gepaart wird.

4. Karte der logischen Kanäle

Die 162 drahtgebundenen Sensorpunkte werden in einem 16×16-Gitter (256 Zellen, indexiert in der Reihe 1256) adressiert. Die genaue Liste der drahtgebundenen Zellen wird in T35 mit der Begleit-App versandt.

Probenfrequenz: 100 Hz mit Kabel oder 30 Hz Bluetooth. Einpunkt-Dynamikbereich: 0350 N, Auflösung 0.01 N.

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

5. AT-Befehlssetzungen (Bluetooth-Paarmachung)

Senden Sie diese als ASCII-Streifen mit einer T36-Linie, die am BT-Dongles Serienport bei 921 600 Baud endet.

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.

Arbeitsbeispiel

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

** Identifikationsmerkmal:** die Präfix T52 / T53 / T54 / T55 / T56 sind buchstäbliche BLE-Werbungnamen, die in die G1-Firmware gebacken werden.

6. LED-Staatsreferenz

Datenakquisitionsmodul Tastenfunktionen

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.

Modul für die Datenerfassung Status LED-Farbe

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)

Bluetooth-Dongle 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. Neuausgleich (wenn ein Handschuh seinen Dongel verloren hat)

  1. Stromkreislauf des Moduls für die Datenerfassung: Langdruck bis Rot und Kurzdruck bis zur Werbung (blaues Blinken).
  2. Wenn der Bluetooth-Dongle rot blinkt, dann wird er gescannt.
  3. Öffnen Sie den seriellen Port des Hostes auf dem Dongle bei 921 600 Baud verwenden Sie T57, T58, das SSCOM-Nutzprogramm, das auf dem USB-Laufwerk versendet wird, oder die Companion App.
  4. Führen Sie T59 aus. Kopieren Sie den MAC von der Zeile, die mit T60 / T61 / usw. endet.
  5. Laufen Sie T62. T63 gefolgt von binären Rahmen bedeutet, dass Sie paar sind. Die Verbindung ist beständig Sie müssen nach zukünftigen Leistungszyklen nicht reparieren, es sei denn, Sie tauschen Module oder Dongles aus.

8. Fehlerbehebung von Schwindelblatt

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.
Quaternion = (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.

Spezifikations-Snapshot

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
Wiederholgenauigkeit±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
Gyroskop3-axis, ±2000 °/s
Beschleunigungsmesser3-axis, ±16 g
ADC16-bit
InterfaceI²C up to 1 MHz / SPI 24 MHz / I3C 12.5 MHz

10. Verwandte Seiten