Volver a Learn

RC G1 Guante táctil <unk> Protocolo de datos y referencia de emparejamiento

Formatos de marco binario, conjunto de comandos AT, tabla de estado LED y resolución de problemas para los protocolos de RC G1 Tactile Glove series / Bluetooth.

Utilice esta página cuando esté escribiendo su propio lector o integrando el G1 en una tubería de datos personalizada. Cubre el formato de marco binario, el comando AT establecido en el canal de serie, cada estado de LED y los modos de falla más comunes. Si solo necesita conectarse y grabar, comience con las páginas de configuración [Windows]T69), [macOS]T70), o [Linux]T71).

Referencia Actualizada mayo 2026 Dificultad: Avanzado

1. Arquitectura de hardware

Un despliegue G1 tiene cinco componentes. Sólo los cuatro primeros son necesarios para una plataforma de guantes únicos; el centro USB es para configuraciones de guantes múltiples (LH + RH).

  1. Array de sensores de tela. 162 puntos de detección piezoresistiva dispuestos en una matriz lógica 16×16 (256 ranuras ADC, de las cuales 162 están físicamente conectadas a los sensores; las ranuras no conectadas se leen cerca de cero y pueden ser enmascaradas en el software).
  2. Módulo de adquisición de datos (board A). MCU Bluetooth basado en ESP32 con batería integrada de 300 mAh / 3.7 V, USB-C para carga / datos / firmware, botón táctil de hardware y LED de estado. 50 × 32 × 15.5 mm; placa de 6.6 g + ~ 15 g de batería.
  3. Receptor USB Bluetooth (dongle). 1:1 emparejado con una sola placa A. USB-A, 66.1 × 23.2 × 13 mm. Opcional operación solo por cable es totalmente compatible.
  4. Cablo USB 3.0 a Tipo C (2 m). Conexión en serie a 921 600 bps por defecto, modo de alta velocidad opcional de 3 000 000 bps.
  5. Cnodo USB. Para plataformas de múltiples guantes (por ejemplo, LH + RH bimanual).

Flujo de datos:

  +--------------------+     +--------------------+        +--------+
  |  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. Configuración en serie

  • Configuración de puerto por defecto: 921 600 baud, 8N1, sin control de flujo.
  • Modo de alta velocidad opcional: 3 000 000 baud requiere un cambio de configuración del lado del firmware, soporte de contacto.
  • Chipe USB tanto en el módulo de adquisición de datos (cuando está cableado) como en el dongle Bluetooth: CH340 (ID USB WCH T4).
  • Linux: controlador de kernel en el árbol T5. macOS: instalar T6. Windows: instalar T7.

El mismo protocolo binario descrito en el §3 funciona en el camino de serie cableado o BT-dongle no debe necesitar casar el transporte en su lector.

3. Formatos de cuadros binarios

Una lectura completa del sensor se entrega como ** dos paquetes** que juntos llevan 256 valores de presión más 16 bytes de datos IMU. Cada paquete comienza con el encabezado de sincronización constante de 4 bytes T8, seguido de un número de secuencia de 1 byte (T9 o T10) y un ID de tipo sensor de 1 byte.

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

Identificación de tipo sensor

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

Captura de hexagonal

Bytes en bruto del cable de un dispositivo de mano izquierda en vivo sentado en un escritorio (truncado para su legibilidad):

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

Parser de referencia (Python)

Parser mínimo que toma los dos paquetes crudos y devuelve un ID del sensor, el vector de presión de 256 células y el cuaternion. Es un espejo de lo que utiliza la guía de configuración de Linux.

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)

Punta de encuadre: en un enlace USB ruidoso, escanear para el encabezado de sincronización de 4 bytes en lugar de confiar en los desplazamientos fijos. Si recibe un paquete de secuencia-2 sin una secuencia anterior-1, soltarlo y sincronizarlo de nuevo el cuaternio IMU solo tiene sentido cuando se empareja con su media presión correspondiente.

4. Mapa de canal lógico

Los 162 puntos de detección por cable se dirigen en una cuadrícula de 16×16 (256 células, indexadas en la fila principal 1256). La lista exacta de células por cable se envía en T35 con la aplicación acompañante.

Rate de muestra: 100 Hz cableado o 30 Hz Bluetooth. Rango dinámico de un solo punto: 0350 N, resolución 0,01 N.

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

5. AT Comando Set (combinación Bluetooth)

Envía estas como cuerdas ASCII con una línea T36 que termina en el puerto de serie de BT dongles a 921 600 baud.

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.

Ejemplo de trabajo

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

** Nota de identificador:** los prefijos T52 / T53 / T54 / T55 / T56 son nombres de publicidad BLE literales incrustados en el firmware G1.

6. Estado de referencia LED

Modulo de adquisición de datos funciones de botón

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.

Modulo de adquisición de datos estado color 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 con conexión Bluetooth

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. Reincorporación (si un guante perdió su dongle)

  1. Círculo de potencia del módulo de adquisición de datos: pulsar largo hasta rojo, luego pulsar corto para anunciar (pulgar azul).
  2. Conecta el dongle Bluetooth a tu host.
  3. Abre el puerto de serie del host al dongle a 921 600 baud uso T57, T58, el servicio SSCOM enviado en la unidad USB, o la aplicación Companion.
  4. Ejecutar T59. Copie el MAC de la línea que termina en T60 / T61 / etc.
  5. ejecutar T62. T63 seguido de marcos binarios significa que se está emparejando. El enlace es persistente no tiene que reparar después de futuros ciclos de potencia a menos que cambie módulos o dongles.

8. Solución de problemas de hoja de engaño

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.
Cuaternión = (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. Imágenes de las especificaciones

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
Repetibilidad±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
Giroscopio3-axis, ±2000 °/s
Acelerómetro3-axis, ±16 g
ADC16-bit
InterfaceI²C up to 1 MHz / SPI 24 MHz / I3C 12.5 MHz

10. Páginas relacionadas