ハードウェアサブシステム
ZeroClaw のハードウェアサブシステムにより、エージェントはマイコン、シングルボードコンピュータ、および周辺装置を直接制御できます。有効にするには --features hardware を使用します。
サポートされている機能
ハードウェアサブシステムは、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 |
サブシステムが使用するトランスポート:
| トランスポート | 説明 |
|---|---|
serial | USB CDC シリアル経由の改行区切り JSON |
swd | SWD デバッグプローブ (probe-rs) |
uf2 | UF2 マスストレージ ファームウェア フラッシュ |
native | Linux GPIO/I2C/SPIへの直接アクセス(rppal、sysfs) |
アーキテクチャについては周辺機器の設計を、各ボードの配線についてはボードごとのセットアップガイド(Nucleo、Arduino Uno Q、Raspberry Pi、Android)を参照してください。
有効化
コンパイル時:
sh
cargo build --release --features hardware
ハードウェア機能は hardware(コアサブシステム)、peripheral-rpi(Raspberry Pi ネイティブ GPIO)、probe(probe-rs SWD イントロスペクション)です。ボードごとの設定フィールドについては、設定リファレンスを参照してください。
ランタイムツール
hardware 機能を使用すると、エージェントは以下の組み込みツールを利用できるようになります。
gpio_readgpio_writepico_flashdevice_read_codedevice_write_codedevice_exec
すべてのツール呼び出しは、他のツールと同様に同じセキュリティポリシーを通過します。ハードウェアツールは、[[peripherals.boards]]エントリに明示的にリストされたデバイスパスにのみアクセスできます:
Raspberry Pi で実行中
最も一般的なハードウェアターゲット。最小限のセットアップ:
sh
curl -fsSL https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/master/install.sh | sh
# ハードウェアグループに自分を追加する(再ログインしてください)
sudo usermod -aG gpio,spi,i2c $USER
# ユーザーサービスとしてインストール(ハードウェアグループのメンバーシップが継承されることを保証)
zeroclaw service install
標準の systemd ユニットは SupplementaryGroups=gpio spi i2c を設定します。
安全性
ハードウェアツールは、本物の高価なものを壊す可能性があります。
pico_flashはファームウェアを書き込みます。不正なイメージはボードを動作不能(ブリック)にする可能性があります。このツールは、自律レベルに関わらずSupervised自律性でオペレーターの承認を必要とし、自動承認する方法はありません。- 外部ドライバー(電圧の競合)と競合するGPIOの書き込みは、ピンを損傷させる可能性があります。
信頼できないチャネルが公開される本番環境のデプロイでは、グローバルの autonomy.non_cli_excluded_tools リストを使ってハードウェアツールを非CLIチャネルから除外してください(スキーマにはチャネルごとの tools_deny フィールドはありません)。このリストに記載されたツールは、すべての非CLIチャネル(Discord、Telegram、Bluesky など)でモデルに送信されるツール仕様から除外されます。ローカルの CLI では引き続き参照できます。
データシート
ボードごとのピンマップと電気的特性:
- STM32 Nucleo-F401RE: https://www.st.com/en/evaluation-tools/nucleo-f401re.html
- Arduino Uno Q: https://docs.arduino.cc/hardware/uno-q
- Raspberry Pi GPIO: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#gpio
- ESP32: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf