Subsistema de hardware
El subsistema de hardware de ZeroClaw permite que el agente controle microcontroladores, SBC y periféricos directamente. Habilítalo con --features hardware.
¿Qué se admite?
El subsistema de hardware identifica las placas por USB VID/PID. Las placas en el registro canónico:
| Tablero | Arquitectura | 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 | Puente USB-UART | 0x10c4:0xea60 |
cp2102n | Puente USB-UART | 0x10c4:0xea70 |
esp32 | ESP32 (CH340) | 0x1a86:0x7523 |
esp32 | ESP32 (CH340) | 0x1a86:0x55d4 |
Transportes que habla el subsistema:
| Transporte | Descripción |
|---|---|
serial | JSON delimitado por saltos de línea sobre serial USB CDC |
swd | Sonda de depuración SWD (probe-rs) |
uf2 | Grabación de firmware por almacenamiento masivo UF2 |
native | GPIO/I2C/SPI directo de Linux (rppal, sysfs) |
Consulta diseño de periféricos para conocer la arquitectura y las guías de configuración para cada placa (Nucleo, Arduino Uno Q, Raspberry Pi, Android) para cablear cada una.
Habilitando
En tiempo de compilación:
sh
cargo build --release --features hardware
Las características de hardware son hardware (subsistema central), peripheral-rpi (GPIO nativo de Raspberry Pi) y probe (introspección SWD de probe-rs). Consulte la referencia de configuración para los campos de configuración por placa.
Herramientas de tiempo de ejecución
Con la característica hardware, el agente obtiene estas herramientas integradas:
gpio_readgpio_writepico_flashdevice_read_codedevice_write_codedevice_exec
Todas las invocaciones de herramientas pasan por la misma política de seguridad que cualquier otra herramienta. Las herramientas de hardware solo acceden a las rutas de dispositivo enumeradas explícitamente en las entradas [[peripherals.boards]]:
Ejecutándose en una Raspberry Pi
El objetivo de hardware más común. Una configuración mínima:
sh
curl -fsSL https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/master/install.sh | sh
# añade tu a los grupos de hardware (reinicia sesión después)
sudo usermod -aG gpio,spi,i2c $USER
# instalar como servicio de usuario (asegura que se herede la pertenencia al grupo de hardware)
zeroclaw service install
La unidad systemd predeterminada establece SupplementaryGroups=gpio spi i2c.
Seguridad
Las herramientas de hardware pueden inutilizar dispositivos. Cosas reales y costosas.
pico_flashescribe el firmware; una imagen defectuosa puede inutilizar la placa. La herramienta requiere la aprobación del operador enSupervisedindependientemente del nivel de autonomía; no hay forma de aprobarla automáticamente.- Las escrituras en GPIO que entran en conflicto con controladores externos (luchas de voltaje) pueden dañar los pines.
Para implementaciones en producción con canales no confiables expuestos, mantenga las herramientas de hardware fuera de los canales no CLI mediante la lista global autonomy.non_cli_excluded_tools (el esquema no tiene un campo tools_deny por canal). Las herramientas listadas ahí se omiten de las especificaciones de herramientas enviadas al modelo en todos los canales no CLI (Discord, Telegram, Bluesky, etc.). La CLI local sigue viéndolas.
Fichas técnicas
Mapas de pines y características eléctricas por placa:
- STM32 Nucleo-F401RE: https://www.st.com/en/evaluation-tools/nucleo-f401re.html
- Arduino Uno Q: https://docs.arduino.cc/hardware/uno-q
- GPIO de Raspberry Pi: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#gpio
- ESP32: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf