ボードとツールの追加: ZeroClaw ハードウェアガイド
このガイドでは、ZeroClawに新しいハードウェアボードとカスタムツールを追加する方法について説明します。
クイックスタート:CLIでボードを追加する
sh
# ボードを追加する
zeroclaw peripheral add nucleo-f401re /dev/ttyACM0
zeroclaw peripheral add arduino-uno /dev/cu.usbmodem12345
zeroclaw peripheral add rpi-gpio native # Raspberry Pi GPIO用(Linux)
# デーモンを再起動して適用
zeroclaw daemon --host 127.0.0.1 --port 42617
サポートされているボード
ボードは USB VID/PID によって識別されます。正規のレジストリは次のとおりです。
| ボード | アーキテクチャ | USB VID:PID |
|---|---|---|
nucleo-f401re | ARM Cortex-M4 | 0x0483:0x374b |
nucleo-f411re | ARM Cortex-M4 | 0x0483:0x3748 |
arduino-uno | AVR ATmega328P | 0x2341:0x0043 |
arduino-uno | Arduino Uno Q / ATmega328P | 0x2341:0x0078 |
arduino-mega | AVR ATmega2560 | 0x2341:0x0042 |
cp2102 | USB-UARTブリッジ | 0x10c4:0xea60 |
cp2102n | USB-UARTブリッジ | 0x10c4:0xea70 |
esp32 | ESP32 (CH340) | 0x1a86:0x7523 |
esp32 | ESP32 (CH340) | 0x1a86:0x55d4 |
[[peripherals.boards]] 内の board 値は、これらのレジストリ名(および peripherals/mod.rs で処理される arduino-uno-q / rpi-gpio などのトランスポート固有のエイリアス)と照合されます。
手動設定
ボードは peripherals および peripherals.boards の下で設定します。datasheet_dir(RAG ソース)を含む完全なフィールド一覧については、Config リファレンスを参照してください。
データシートの追加(RAG)
.md または .txt ファイルを docs/datasheets/(または datasheet_dir)に配置します。ファイルはボードごとに命名します: nucleo-f401re.md、arduino-uno.md。ファイルは抽出、チャンク化され、ボード固有の質問に対してエージェントのコンテキストへ取り込まれます。PDF データシートの解析は #8519 以降サポートされなくなりました。インデックス化する前に PDF を .md または .txt に変換してください。
ピンエイリアス(推奨)
エージェントが「red led」→ピン13をマップできるように## Pin Aliasesセクションを追加します:
# My Board
## Pin Aliases
| alias | pin |
|-------------|-----|
| red_led | 13 |
| builtin_led | 13 |
| user_led | 5 |
またはキー値形式を使用します:
## Pin Aliases
red_led: 13
builtin_led: 13
新しいボードタイプの追加
- データシートの作成: ピンエイリアスとGPIO情報を含む
docs/datasheets/my-board.md。 - 設定に追加:
zeroclaw peripheral add my-board /dev/ttyUSB0 - 周辺機器を実装する(オプション): カスタムプロトコルの場合は、
crates/zeroclaw-hardware/src/peripherals/にPeripheralトレイトを実装し、create_peripheral_toolsに登録します。
完全な設計については、docs/hardware/hardware-peripherals-design.mdを参照してください。
カスタムツールの追加
crates/zeroclaw-tools/src/でToolトレイトを実装します。- ハードウェアツールの場合は
create_peripheral_toolsに、またはエージェントツールレジストリに登録します。 crates/zeroclaw-runtime/src/agent/loop_.rsのエージェントのtool_descsにツール説明を追加します。
CLIリファレンス
zeroclaw peripheralおよびzeroclaw hardwareサブコマンドについては、生成されたCLIリファレンスを参照してください。
トラブルシューティング
- シリアルポートが見つかりません: macOS では
/dev/cu.usbmodem*を使用し、Linux では/dev/ttyACM0または/dev/ttyUSB0を使用してください。 - ハードウェアを使用してビルド:
cargo build --features hardware - Nucleo用Probe-rs:
cargo build --features hardware,probe