Learnに戻る

RC G1タクチルグローブ <unk> データプロトコル & パイリング参照

バイナリーフレームフォーマット,ATコマンドセット,LEDステートテーブル,およびRC G1タクチルグローブシリアル/ブルートゥースプロトコルのトラブルシューティング.

このページは,自分の読書を書き込むとき,またはカスタマイズされたデータパイプラインにG1を統合するときに使用します.このページはバイナリーフレームフォーマット,シリアルチャネル上のATコマンドセット,すべてのLED状態,および最も一般的な故障モードをカバーします.接続して記録する必要がある場合, [Windows]T69), [macOS]T70),または [Linux]T71) のセットアップページから始めます.

参考資料更新 2026年5月 困難: 進歩

1 ハードウェアアーキテクチャ

G1部署には5つの構成要素があります.単手袋装置には最初の4つのみ必要であり,USBハブは多手袋 (LH + RH) のセットアップに用いる.

  1. ** 繊維センサー配列.** 16×16論理マトリックスに配置された162点のピエゾレスシスティブセンサー (256 ADCスロット,そのうち162つは物理的にセンサーにケーブルをつけている.無線スロットはゼロに近いのでソフトウェアでマスクできる)
  2. データ取得モジュール (Aボード). ESP32ベースのBluetooth MCU,統合された300mAh/3.7Vバッテリー,充電/データ/ファームウェアのための USB-C,ハードウェアタクチルボタン,ステータスLED. 50 × 32 × 15.5mm;6.6gボード + ~15gバッテリー.
  3. Bluetooth USB受信機 (dongle). 1:1 単一のAボードとペア. USB-A, 66.1 × 23.2 × 13 mm. 選択式 ケーブルのみ操作は完全にサポートされています.
  4. USB 3.0-to-Type-Cケーブル (2 m). 連続接続 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 baud, 8N1,流量制御なし
  • オプション高速モード: 3 000 000 baud 固有ソフトウェア側設定変更,連絡先サポートが必要です.
  • データの取得モジュール (ワイヤレスで接続された場合) とブルーテース・ドングルの両方にあるUSBチップ: CH340 (WCH USB ID T4).
  • Linux: tree内カーネルドライバー T5. macOS: install T6. Windows: install T7.

§3 に記述された同じバイナリプロトコルは,ワイヤレスまたはBT-dongle シリアルパスで動作します.

3.バイナリーフレーム形式

センサーの読み取りは,合計256の圧力値とIMUデータの16バイトを含む2つのパケットとして提供されます.各パケットは,常時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

作業したヘックスキャプチャ

テーブルの上に座っている左手デバイスからワイヤから抜けた原始バイト (読みやすく切り離されている):

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

最小解析器で2つの原始パケットを取り出し センサー ID,256細胞圧縮ベクトル,クアテリアンを返します 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)

** フレームリング提示:** 騒音なUSBリンクで,固定オフセットを信頼する代わりに4バイトの同期ヘッダをスキャンしてください.前回の順序-1なしでシーケンス-2パケットを受け取ると,それを落として再同期します.

4.論理チャンネル地図

配線感知点162は16×16格子 (256細胞,行長1256をインデックス) で管理されている.正確な配線感知点リストは,配線アプリで T35で送信される.指平均を計算する際には94の配線無線細胞をマスクする.

試料速度は: 100 Hz ワイヤレスまたは 30 Hz Bluetooth. 単点動態範囲: 0350 N,解像度 0.01 N.

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

5. AT コマンドセット (ブルートゥースペアリング)

配線は,BT dongle のシリアルポートに921 600 baudで終了する 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 baudでドングルに開く T57,T58,USBドライブに送信されたSSCOMユーティリティ,またはCompanion Appを使用します.
  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 関連ページ