.. _picrawler_skill:
.. start_using_picrawler
21. Controlar PiCrawler con OpenClaw
======================================
**¿Qué es OpenClaw?**
Piense en ello como una versión mejorada de ChatGPT. Mientras que los chatbots
tradicionales solo pueden hablar (generar texto), OpenClaw puede actuar.
Entiende sus instrucciones en lenguaje natural y puede realizar operaciones en
su computadora, como ejecutar comandos, gestionar archivos y llamar a varias
herramientas.
Aquí hay algunos escenarios de aplicación fantásticos:
* **Asistente personal todo en uno:** Deje que gestione su agenda, establezca
recordatorios y haga seguimiento de tareas. Solo necesita decírselo en una
app de chat (como Telegram, WhatsApp), y lo recordará y ejecutará.
* **"Pegamento" de automatización:** Puede actuar como un aglutinante para sus
diversos servicios. Por ejemplo, puede hacer que supervise un sitio web en
busca de cambios de precio. Una vez detectada una bajada de precio, puede
activar automáticamente un flujo de trabajo de automatización n8n para
enviarle una notificación por correo electrónico.
* **Asistente de desarrollo dedicado:** Haga que gestione servidores, ejecute
scripts y revise registros. Puede simplemente decir: "Comprueba la carga del
sistema", y puede conectarse por SSH a su servidor, ejecutar el comando y
devolver los resultados.
* **"Compañero de juegos" de hardware:** Este es un caso de uso muy interesante.
Puede hacer que OpenClaw controle hardware conectado a un Raspberry Pi. Por
ejemplo, un desarrollador lo usó para controlar un robot aspirador con un
brazo mecánico, o incluso para analizar datos de simulador de carreras y
mostrarlos en una pantalla LED. ¡El equipo oficial de Raspberry Pi incluso
lo usó para construir un fotomatón automático para una boda, solo mediante
conversación, sin escribir una sola línea de código!
.. important::
El Raspberry Pi Zero 2W tiene solo 512 MB de RAM, mientras que OpenClaw
requiere un mínimo de 1 GB. Por lo tanto, no puede ejecutarse correctamente.
Se recomienda un Raspberry Pi 4/5 o superior.
Inicio rápido de OpenClaw
----------------------------
Si desea experimentar la potencia de OpenClaw lo más rápido posible, use este
método. Instalará automáticamente OpenClaw y lanzará un asistente de
configuración interactivo.
1. Abra la terminal en su Raspberry Pi y ejecute el siguiente comando
directamente. Este comando descarga el script de instalación del sitio
web oficial y lo ejecuta:
.. code-block:: bash
curl -fsSL https://openclaw.ai/install.sh | bash
.. note:: Debido a que las nuevas versiones se actualizan rápidamente, es
normal que sus pasos de instalación difieran ligeramente.
2. El script descargará e instalará automáticamente OpenClaw.
.. image:: /img/openclaw/install_open_claw.png
3. Luego verá una solicitud de seguridad preguntando si confía en OpenClaw.
Una vez que esté seguro de que es seguro y fiable, use las teclas de
flecha para navegar a "Yes" y presione Enter.
.. image:: /img/openclaw/security_open_claw.png
4. Seleccione Quick Start, luego presione Enter.
.. image:: /img/openclaw/quickstart_open_claw.png
5. Seleccione su modelo, luego presione Enter. Aquí usamos OpenAI como
ejemplo.
.. image:: /img/openclaw/model_provider_open_claw.png
6. Seleccione OpenAI API Key.
.. image:: /img/openclaw/api_key_open_claw.png
7. Pegue ahora la clave API.
.. image:: /img/openclaw/paste_api_key_open_claw.png
.. |link_openai_platform| raw:: html
Plataforma OpenAI
8. Vaya a |link_openai_platform| e inicie sesión. En la página **API keys**,
haga clic en **Create new secret key**.
.. image:: /img/openclaw/llm_openai_create.png
9. Complete los detalles (Owner, Name, Project y permisos si es necesario),
luego haga clic en **Create secret key**.
.. image:: /img/openclaw/llm_openai_create_confirm.png
10. Una vez creada la clave, cópiela inmediatamente — no podrá verla de nuevo.
Si la pierde, deberá generar una nueva.
.. image:: /img/openclaw/llm_openai_copy.png
11. Pegue la clave en la configuración de OpenClaw.
.. image:: /img/openclaw/paste_api_key_enter_open_claw.png
12. Seleccione el modelo que desea usar. En este ejemplo, usaremos **Keep
current**.
.. image:: /img/openclaw/model_config_open_claw.png
13. A continuación viene la selección de canales. Los canales se refieren a
los servicios de comunicación compatibles con OpenClaw, como Telegram,
WhatsApp, Discord y más. Use la tecla de flecha hacia abajo para
seleccionar la opción "Skip for now", luego presione Enter.
.. image:: /img/openclaw/channel_open_claw.png
14. A continuación, se le pedirá que configure skills inmediatamente.
Seleccione "Yes" y presione Enter.
.. image:: /img/openclaw/config_skill_open_claw.png
15. Instale los skills que necesite. En el siguiente ejemplo, seleccionamos
la opción "Skip for now" (presione la barra espaciadora para seleccionar),
luego presione Enter.
.. image:: /img/openclaw/install_skill_open_claw.png
16. A continuación vienen los Hooks; seleccionaremos "command-logger" y
"session-memory".
.. image:: /img/openclaw/hooks2_open_claw.png
17. La instalación está completa. Puede iniciar OpenClaw seleccionando
"Hatch in TUI" y presionando Enter.
.. image:: /img/openclaw/hatch_open_claw.png
.. note::
Puede iniciar OpenClaw ingresando el siguiente comando:
.. code-block:: bash
openclaw tui
Y puede presionar Ctrl+C dos veces para salir de la interfaz TUI.
------------------------------------------------------------------------
Hacer que OpenClaw opere el PiCrawler
----------------------------------------
**¿Qué es PiCrawler Skill?**
PiCrawler Skill es una extensión para OpenClaw que le permite controlar su
robot araña SunFounder PiCrawler mediante lenguaje natural. En lugar de
escribir scripts de Python o recordar valores de coordenadas, puede
simplemente decirle a OpenClaw lo que quiere que PiCrawler haga — como
"levántate", "camina tres pasos hacia adelante" o "comprueba si hay un
obstáculo delante" — y OpenClaw ejecutará automáticamente el código Python
apropiado.
Aquí hay algunas cosas que puede hacer con PiCrawler Skill:
* **Movimientos básicos:** Caminar hacia adelante, hacia atrás, girar a la
izquierda/derecha, giros de ángulo pequeño
* **Posturas:** Levantarse, sentarse
* **Acciones expresivas:** Saludar con una pata delantera, bailar, hacer
flexiones, mirar en diferentes direcciones
* **Sensores:** Leer el sensor de distancia ultrasónico para detectar
obstáculos
* **Sonido:** Reproducir efectos de sonido y música a través del altavoz del
robot
* **Visión por cámara:** Tomar fotos, detectar rostros, rastrear colores,
reconocer códigos QR y gestos
----------------------------------------------------------------
Requisitos previos
--------------------
Antes de poder usar PiCrawler Skill con OpenClaw, asegúrese de tener:
1. **PiCrawler** correctamente ensamblado y conectado a su Raspberry Pi
2. **OpenClaw** instalado y en funcionamiento
3. Las siguientes bibliotecas de Python instaladas:
- ``picrawler``
- ``robot_hat``
- ``vilib``
Puede verificar la instalación ejecutando:
.. code-block:: bash
python3 -c "import picrawler"
Si este comando se ejecuta sin errores, está listo para continuar.
----------------------------------------------------------------
Instalar PiCrawler Skill
--------------------------
Siga estos pasos para instalar el PiCrawler Skill para OpenClaw:
1. **Copie los archivos del skill PiCrawler** al directorio de skills de
OpenClaw:
.. code-block:: bash
cp -r ~/picrawler/picrawler-control ~/.openclaw/workspace/skills/
2. **Verifique la instalación** comprobando los archivos del skill:
.. code-block:: bash
ls ~/.openclaw/workspace/skills/picrawler-control/
Debería ver ``SKILL.md``, ``install.sh``, ``scripts/`` y ``references/``
en la salida.
El archivo ``SKILL.md`` del skill contiene todas las instrucciones que
OpenClaw necesita — reglas de seguridad, plantillas de código para cada
capacidad y un mapeo de solicitudes en lenguaje natural a código Python.
OpenClaw lee este archivo y lo usa para decidir qué código ejecutar en su
PiCrawler.
----------------------------------------------------------------
Probar PiCrawler Skill desde la CLI
------------------------------------
Antes de usar el skill con OpenClaw, puede probar la funcionalidad básica
directamente desde la terminal usando la herramienta CLI incluida.
**Comprobar distancia ultrasónica:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py sensor distance
**Hacer que PiCrawler se siente:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py pose sit --speed 40
**Hacer que PiCrawler se levante:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py pose stand --speed 40
**Caminar hacia adelante:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py move forward --steps 2 --speed 60
**Girar a la izquierda:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py move "turn left" --steps 1 --speed 60
**Reproducir un efecto de sonido:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py sound play /home/pi/picrawler/examples/sounds/talk1.wav --volume 80
**Ejecutar calibración de servos:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py calibrate
----------------------------------------------------------------
Usar PiCrawler Skill en OpenClaw
----------------------------------
Una vez que haya verificado que PiCrawler Skill funciona desde la línea de
comandos, puede comenzar a usarlo dentro de OpenClaw.
1. **Iniciar OpenClaw TUI**:
.. code-block:: bash
openclaw tui
2. **Envíe comandos en lenguaje natural** para controlar PiCrawler. Aquí hay
algunos ejemplos:
* "Stand up"
* "Sit down"
* "Walk forward three steps"
* "Turn left"
* "Do a dance"
* "Do some push-ups"
* "Wave your front leg"
* "Look to the left"
* "Check if there's something ahead"
* "Take a photo"
* "Detect faces / look at me"
* "Find the color red"
3. **OpenClaw traducirá automáticamente** su solicitud al código Python
apropiado y lo ejecutará en PiCrawler. Para comandos de movimiento, el
skill siempre asegura que el robot se levante primero y se siente después
de completar la acción.
----------------------------------------------------------------
Acciones y comandos disponibles
---------------------------------
Aquí está la lista completa de capacidades soportadas por PiCrawler Skill:
Movimientos (``pc.py move``)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Acción
- Descripción
* - ``forward``
- Caminar hacia adelante
* - ``backward``
- Caminar hacia atrás
* - ``turn left``
- Girar a la izquierda en el lugar
* - ``turn right``
- Girar a la derecha en el lugar
* - ``turn left angle``
- Giro de ángulo pequeño a la izquierda
* - ``turn right angle``
- Giro de ángulo pequeño a la derecha
Posturas (``pc.py pose``)
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Postura
- Descripción
* - ``stand``
- Levantarse de la posición sentada
* - ``sit``
- Sentarse de la posición de pie
Acciones adicionales (vía lenguaje natural / exec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Acción
- Descripción
* - ``dance``
- Realizar un movimiento de baile
* - ``push_up``
- Hacer flexiones
* - ``wave``
- Saludar con una pata delantera
* - ``look_left``
- Girar el cuerpo para mirar a la izquierda
* - ``look_right``
- Girar el cuerpo para mirar a la derecha
* - ``look_up``
- Inclinar el cuerpo para mirar arriba
* - ``look_down``
- Inclinar el cuerpo para mirar abajo
Sensores
^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Comando
- Descripción
* - ``sensor distance``
- Leer el sensor de distancia ultrasónico (devuelve cm)
Sonido (``pc.py sound``)
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Comando
- Descripción
* - ``sound play ``
- Reproducir un archivo de efecto de sonido
* - ``sound music ``
- Reproducir música de fondo
* - ``sound volume <0-100>``
- Ajustar el volumen del altavoz
* - ``sound stop``
- Detener la reproducción
Cámara y visión (vía lenguaje natural / exec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Capacidad
- Descripción
* - Tomar foto
- Capturar y guardar una foto en ``~/Pictures/``
* - Detección de rostros
- Detectar rostros humanos e informar la posición
* - Detección de color
- Localizar objetos por color (rojo, azul, verde, etc.)
* - Reconocimiento de gestos
- Reconocer gestos de piedra/papel/tijera
* - Detección de señales de tráfico
- Reconocer señales de stop/izquierda/derecha/adelante
* - Escaneo de códigos QR
- Leer datos y posición de códigos QR
----------------------------------------------------------------
Solución de problemas
----------------------
Problemas de OpenClaw
^^^^^^^^^^^^^^^^^^^^^
P: Durante la instalación, obtengo el error ``Error: systemctl is-enabled unavailable: Command failed: systemctl --user is-enabled openclaw-gateway.service``. ¿Qué debo hacer?
Puede ignorar esto por ahora, pero podría encontrar problemas en los
siguientes pasos. Consúltelos uno por uno en ese momento.
P: Cuando ejecuto ``openclaw tui``, obtengo el error ``-bash: openclaw: command not found``. ¿Qué debo hacer?
Ejecute el siguiente comando:
.. code-block:: bash
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Ahora debería poder iniciar la interfaz TUI con ``openclaw tui``.
P: En ``openclaw tui``, encuentro ``not connected to gateway — message not sent`` o el mensaje ``gateway disconnected: closed``.
Esto se debe a que su servicio OpenClaw Gateway no está iniciado. Abra otra
terminal y ejecute el siguiente comando para iniciar el OpenClaw Gateway:
.. code-block:: bash
openclaw gateway
Luego reinicie ``openclaw tui``, y podrá usarlo directamente.
P: Quiero configurar el servicio OpenClaw Gateway para que se ejecute en segundo plano / se inicie automáticamente al arrancar. ¿Cómo lo hago?
Normalmente, su servicio OpenClaw Gateway debería iniciarse automáticamente
al arrancar. Si no lo hace, puede iniciarlo manualmente con el siguiente
comando.
1. Cree el directorio ``~/.config/systemd/user``:
.. code-block:: bash
mkdir -p ~/.config/systemd/user
2. Cree el archivo ``openclaw-gateway.service``:
.. code-block:: bash
cat > ~/.config/systemd/user/openclaw-gateway.service << EOF
[Unit]
Description=OpenClaw Gateway
After=network.target
[Service]
Type=simple
ExecStart=$HOME/.npm-global/bin/openclaw gateway run
Restart=on-failure
RestartSec=10
Environment="PATH=$HOME/.npm-global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin"
Environment="NODE_ENV=production"
[Install]
WantedBy=default.target
EOF
3. Luego recargue la configuración de systemd:
.. code-block:: bash
systemctl --user daemon-reload
4. Inicie el servicio:
.. code-block:: bash
systemctl --user start openclaw-gateway
En este punto, reinicie ``openclaw tui``, y podrá usarlo directamente.
5. Actívelo para que se inicie al arrancar:
.. code-block:: bash
systemctl --user enable openclaw-gateway
P: Mi OpenClaw no puede operar el sistema, ¿qué debo hacer?
Un OpenClaw recién instalado puede no tener permiso para operar su sistema
Raspberry Pi por defecto; solo puede chatear. Necesitamos configurar
manualmente los permisos.
1. Abra el archivo de configuración de OpenClaw:
.. code-block:: bash
nano ~/.openclaw/openclaw.json
2. Encuentre la opción ``tools`` y cambie ``profile`` y ``exec`` como se
muestra.
.. code-block:: json
"tools": {
"profile": "coding",
"exec": {
"secrity": "full"
}
},
3. Guarde y salga.
4. Ingrese el siguiente comando en la terminal para reiniciar el OpenClaw
Gateway:
.. code-block:: bash
openclaw gateway restart
Ahora, OpenClaw debería tener permisos de lectura y escritura y poder
operar su sistema Raspberry Pi.
Problemas de PiCrawler
^^^^^^^^^^^^^^^^^^^^^^
P: PiCrawler no responde a los comandos. ¿Qué debo hacer?
Primero, verifique que PiCrawler esté correctamente conectado y encendido.
Luego pruebe la funcionalidad básica:
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py pose sit --speed 40
Si esto falla, asegúrese de que las bibliotecas Python requeridas estén
instaladas:
.. code-block:: bash
python3 -c "import picrawler; import robot_hat; import vilib"
P: La prueba ``import picrawler`` falla.
Esto significa que la biblioteca Python de PiCrawler no está correctamente
instalada. Consulte la guía de instalación oficial de PiCrawler para
instalar las bibliotecas necesarias. También puede ejecutar el script de
instalación incluido:
.. code-block:: bash
bash ~/.openclaw/workspace/skills/picrawler-control/install.sh
P: OpenClaw no reconoce el skill de PiCrawler.
Recuerde a OpenClaw que sincronice los skills diciendo en el TUI:
*"Please rsync my skills"* o reinicie el OpenClaw Gateway:
.. code-block:: bash
openclaw gateway restart
P: Los movimientos de PiCrawler parecen inestables o bruscos.
Esto generalmente se debe a ejecutar acciones a una velocidad demasiado
alta o sin permitir que la acción anterior se complete. El skill aplica
reglas de seguridad (levantarse antes de moverse, sentarse después del
movimiento) y recomienda rangos de velocidad. Intente reducir el parámetro
de velocidad (por ejemplo, ``--speed 40``), o agregue pequeñas pausas
entre comandos consecutivos.
----------------------------------------------------------------
.. end_using_picrawler