STEP 1407 — benchtop-mcp v0.8.0-alpha Akizuki wire-up 3 layer mock spike

2026-08-26 · STEP 1406 (1)(2)(3) 実装 · env/IMU/ToF mock, 4 tools, hardware_available:False · benchtop-mcp commit 0adaaa6

目的

STEP 1406 で 明示された benchtop-mcp v0.7 の 5+ layer gap のうち、 「環境 (温湿度気圧) / 慣性 (IMU) / 距離 (ToF)」 の 3 layer を 秋月 で 即 入手可能な 定番 I2C module (BME280 / BNO055 / VL53L1X) を 想定 SKU として mock 実装で 追加する。 藤本さん directive 「1 から 5 を 順番に お願い致します」 の (1)+(2)+(3) を benchtop-mcp v0.8.0-alpha 1 版として 一括実装 (STEP 1396 olfact/biosensor v0.7 の pattern を そのまま 継承)。

実装内容

① Environment layer (BME280 mock)

② Inertial layer (BNO055 mock)

③ Distance layer (VL53L1X mock)

Tool 一覧 (v0.8.0-alpha 追加 4 tool)

ToolLayer返値 主要 fieldVerdict source
list_akizuki_probes()probes (3 件、 akizuki_code + price_jpy + interface + range)
measure_environment(probe_id, condition_tag)environmenttemperature_c / humidity_pct / pressure_hpaSTEP 1350 (2 値 subset)
measure_orientation(probe_id, motion_tag)inertialquaternion + euler_deg + linear_acc + magnetic + calibrationquaternion norm ≈ 1.0 で 代替 verify
measure_distance(probe_id, target_tag, timing_budget_ms)distancedistance_mm + range_statusSTEP 1350 (2 値 subset)

Verify 結果

selftest 全 PASS

使用例 (MCP tool 呼び出し)

# list_akizuki_probes
{ ok: True, probes: [{probe_id: 'bme280-env-a1', akizuki_code: '109421', ...}, ...],
  probe_count: 3, hardware_available: False, is_mock: True }

# measure_environment('bme280-env-a1', 'room-default')
{ ok: True, probe_id: 'bme280-env-a1', probe_layer: 'environment', part_number: 'BME280',
  temperature_c: 17.85, humidity_pct: 64.87, pressure_hpa: 822.0,
  in_range_all: True, verdict_d8: 'TRUE', is_mock: True, hardware_available: False }

# measure_orientation('bno055-imu-b1', 'static-level')
{ ok: True, quaternion: {w: ..., x: ..., y: ..., z: ...} (unit-norm),
  euler_deg: {roll: -50.31, pitch: 79.25, yaw: 75.89},
  linear_acc_m_s2: {x: ..., y: ..., z: ...}, magnetic_uT: {...},
  calibration_status: {sys: 3, gyro: 3, acc: 3, mag: 2}, is_unit_quat: True }

# measure_distance('vl53l1x-tof-c1', 'wall-2m', timing_budget_ms=100.0)
{ ok: True, distance_mm: 1114.5, timing_budget_ms: 100.0,
  range_status: 'VALID', verdict_d8: 'TRUE', is_mock: True }

Honest scope (spike の 限界)

本 STEP 1407 の 限界

次段候補 (defer、 藤本さん judgment 待ち)

  1. STEP 1408 (4) — 秋月 追加 recon で gas/CO2/VOC (CCS811/SCD40/BME680) enumeration → v0.9-alpha 化学 layer 候補
  2. STEP 1409 (5) — rei-scout 25 SKU を import-as-mcp category に decision 記録
  3. v0.9-alpha 拡張 = 追加 SKU (SHT31/LSM6DSV16X/VL53L0X 等)、 SafetyGate rule 拡張 (通信 layer TELEC 認証)
  4. 実 hardware wire-up = BME280 実 module 発注 + ESP32 host + I2C driver + benchtop tool 実測データ差替 (別 arc、 藤本さん physical hardware 判断待ち)

関連