.. _picrawler_skill:
.. start_using_picrawler
21. Contrôler PiCrawler avec OpenClaw
=======================================
**Qu'est-ce qu'OpenClaw ?**
Considérez-le comme une version améliorée de ChatGPT. Alors que les chatbots
traditionnels ne peuvent que parler (générer du texte), OpenClaw peut agir.
Il comprend vos instructions en langage naturel et peut effectuer des
opérations sur votre ordinateur, comme exécuter des commandes, gérer des
fichiers et appeler divers outils.
Voici quelques scénarios d'application fantastiques :
* **Assistant personnel tout-en-un :** Laissez-le gérer votre agenda, définir
des rappels et suivre vos tâches. Il vous suffit de le lui dire dans une
application de chat (comme Telegram, WhatsApp), et il s'en souviendra et
exécutera.
* **« Colle » d'automatisation :** Il peut servir de liant pour vos différents
services. Par exemple, vous pouvez lui faire surveiller un site web pour
détecter des changements de prix. Dès qu'une baisse de prix est détectée,
il peut automatiquement déclencher un workflow d'automatisation n8n pour
vous envoyer une notification par e-mail.
* **Assistant de développement dédié :** Faites-lui gérer des serveurs,
exécuter des scripts et vérifier les journaux. Vous pouvez simplement dire :
« Vérifie la charge système pour moi », et il peut se connecter en SSH à
votre serveur, exécuter la commande et renvoyer les résultats.
* **« Compagnon de jeu » matériel :** C'est un cas d'utilisation très
intéressant. Vous pouvez faire contrôler par OpenClaw du matériel connecté
à un Raspberry Pi. Par exemple, un développeur l'a utilisé pour contrôler
un aspirateur robot avec un bras mécanique, ou même pour analyser des
données de simulateur de course et les afficher sur un écran LED. L'équipe
officielle de Raspberry Pi l'a même utilisé pour construire un photomaton
automatique pour un mariage, simplement par conversation, sans écrire une
seule ligne de code !
.. important::
Le Raspberry Pi Zero 2W ne dispose que de 512 Mo de RAM, tandis qu'OpenClaw
nécessite un minimum de 1 Go. Par conséquent, il ne peut pas fonctionner
correctement. Un Raspberry Pi 4/5 ou supérieur est recommandé.
Démarrage rapide d'OpenClaw
------------------------------
Si vous souhaitez découvrir la puissance d'OpenClaw le plus rapidement
possible, utilisez cette méthode. Elle installera automatiquement OpenClaw
et lancera un assistant de configuration interactif.
1. Ouvrez le terminal sur votre Raspberry Pi et exécutez directement la
commande suivante. Cette commande télécharge le script d'installation
depuis le site officiel et l'exécute :
.. code-block:: bash
curl -fsSL https://openclaw.ai/install.sh | bash
.. note:: Comme les nouvelles versions sont mises à jour rapidement, il
est normal que vos étapes d'installation diffèrent légèrement.
2. Le script téléchargera et installera automatiquement OpenClaw.
.. image:: /img/openclaw/install_open_claw.png
3. Vous verrez ensuite une invite de sécurité vous demandant si vous faites
confiance à OpenClaw. Une fois que vous êtes sûr qu'il est sûr et fiable,
utilisez les touches fléchées pour naviguer vers « Yes » et appuyez sur
Entrée.
.. image:: /img/openclaw/security_open_claw.png
4. Sélectionnez Quick Start, puis appuyez sur Entrée.
.. image:: /img/openclaw/quickstart_open_claw.png
5. Sélectionnez votre modèle, puis appuyez sur Entrée. Nous utilisons ici
OpenAI comme exemple.
.. image:: /img/openclaw/model_provider_open_claw.png
6. Sélectionnez OpenAI API Key.
.. image:: /img/openclaw/api_key_open_claw.png
7. Collez maintenant la clé API.
.. image:: /img/openclaw/paste_api_key_open_claw.png
.. |link_openai_platform| raw:: html
Plateforme OpenAI
8. Allez sur |link_openai_platform| et connectez-vous. Sur la page
**API keys**, cliquez sur **Create new secret key**.
.. image:: /img/openclaw/llm_openai_create.png
9. Remplissez les détails (Owner, Name, Project et permissions si nécessaire),
puis cliquez sur **Create secret key**.
.. image:: /img/openclaw/llm_openai_create_confirm.png
10. Une fois la clé créée, copiez-la immédiatement — vous ne pourrez plus la
revoir. Si vous la perdez, vous devrez en générer une nouvelle.
.. image:: /img/openclaw/llm_openai_copy.png
11. Collez la clé dans la configuration OpenClaw.
.. image:: /img/openclaw/paste_api_key_enter_open_claw.png
12. Sélectionnez le modèle que vous souhaitez utiliser. Dans cet exemple,
nous utiliserons **Keep current**.
.. image:: /img/openclaw/model_config_open_claw.png
13. Ensuite vient la sélection des canaux. Les canaux font référence aux
services de communication pris en charge par OpenClaw, tels que Telegram,
WhatsApp, Discord et plus encore. Utilisez la flèche vers le bas pour
sélectionner l'option « Skip for now », puis appuyez sur Entrée.
.. image:: /img/openclaw/channel_open_claw.png
14. Ensuite, vous serez invité à configurer les skills immédiatement.
Sélectionnez « Yes » et appuyez sur Entrée.
.. image:: /img/openclaw/config_skill_open_claw.png
15. Installez les skills dont vous avez besoin. Dans l'exemple suivant, nous
sélectionnons l'option « Skip for now » (appuyez sur la barre d'espace
pour sélectionner), puis appuyez sur Entrée.
.. image:: /img/openclaw/install_skill_open_claw.png
16. Ensuite viennent les Hooks ; nous sélectionnerons « command-logger » et
« session-memory ».
.. image:: /img/openclaw/hooks2_open_claw.png
17. L'installation est maintenant terminée. Vous pouvez démarrer OpenClaw en
sélectionnant « Hatch in TUI » et en appuyant sur Entrée.
.. image:: /img/openclaw/hatch_open_claw.png
.. note::
Vous pouvez démarrer OpenClaw en entrant la commande suivante :
.. code-block:: bash
openclaw tui
Et vous pouvez appuyer deux fois sur Ctrl+C pour quitter l'interface TUI.
------------------------------------------------------------------------
Faire fonctionner PiCrawler avec OpenClaw
----------------------------------------------
**Qu'est-ce que PiCrawler Skill ?**
PiCrawler Skill est une extension pour OpenClaw qui vous permet de contrôler
votre robot araignée SunFounder PiCrawler en langage naturel. Au lieu d'écrire
des scripts Python ou de mémoriser des valeurs de coordonnées, vous pouvez
simplement dire à OpenClaw ce que vous voulez que PiCrawler fasse — comme
« lève-toi », « avance de trois pas » ou « vérifie s'il y a un obstacle
devant » — et OpenClaw exécutera automatiquement le code Python approprié.
Voici quelques choses que vous pouvez faire avec PiCrawler Skill :
* **Mouvements de base :** Avancer, reculer, tourner à gauche/droite, virages
à petit angle
* **Postures :** Se lever, s'asseoir
* **Actions expressives :** Saluer de la patte avant, danser, faire des pompes,
regarder dans différentes directions
* **Capteurs :** Lire le capteur de distance à ultrasons pour détecter les
obstacles
* **Son :** Jouer des effets sonores et de la musique via le haut-parleur du
robot
* **Vision par caméra :** Prendre des photos, détecter des visages, suivre des
couleurs, reconnaître des codes QR et des gestes
----------------------------------------------------------------
Prérequis
------------------------------
Avant de pouvoir utiliser PiCrawler Skill avec OpenClaw, assurez-vous d'avoir :
1. **PiCrawler** correctement assemblé et connecté à votre Raspberry Pi
2. **OpenClaw** installé et en cours d'exécution
3. Les bibliothèques Python suivantes installées :
- ``picrawler``
- ``robot_hat``
- ``vilib``
Vous pouvez vérifier l'installation en exécutant :
.. code-block:: bash
python3 -c "import picrawler"
Si cette commande s'exécute sans erreur, vous êtes prêt à continuer.
----------------------------------------------------------------
Installer PiCrawler Skill
------------------------------
Suivez ces étapes pour installer le PiCrawler Skill pour OpenClaw :
1. **Copiez les fichiers du skill PiCrawler** dans le répertoire des skills
d'OpenClaw :
.. code-block:: bash
cp -r ~/picrawler/picrawler-control ~/.openclaw/workspace/skills/
2. **Vérifiez l'installation** en consultant les fichiers du skill :
.. code-block:: bash
ls ~/.openclaw/workspace/skills/picrawler-control/
Vous devriez voir ``SKILL.md``, ``install.sh``, ``scripts/`` et
``references/`` dans la sortie.
Le fichier ``SKILL.md`` du skill contient toutes les instructions dont
OpenClaw a besoin — règles de sécurité, modèles de code pour chaque capacité
et un mappage des requêtes en langage naturel vers le code Python. OpenClaw
lit ce fichier et l'utilise pour décider quel code exécuter sur votre
PiCrawler.
----------------------------------------------------------------
Tester PiCrawler Skill depuis la CLI
----------------------------------------------
Avant d'utiliser le skill avec OpenClaw, vous pouvez tester les fonctionnalités
de base directement depuis le terminal à l'aide de l'outil CLI inclus.
**Vérifier la distance ultrasonique :**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py sensor distance
**Faire asseoir PiCrawler :**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py pose sit --speed 40
**Faire lever PiCrawler :**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py pose stand --speed 40
**Avancer :**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py move forward --steps 2 --speed 60
**Tourner à gauche :**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py move "turn left" --steps 1 --speed 60
**Jouer un effet sonore :**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py sound play /home/pi/picrawler/examples/sounds/talk1.wav --volume 80
**Lancer la calibration des servos :**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py calibrate
----------------------------------------------------------------
Utiliser PiCrawler Skill dans OpenClaw
----------------------------------------------------
Une fois que vous avez vérifié que PiCrawler Skill fonctionne depuis la ligne
de commande, vous pouvez commencer à l'utiliser dans OpenClaw.
1. **Lancer OpenClaw TUI** :
.. code-block:: bash
openclaw tui
2. **Envoyez des commandes en langage naturel** pour contrôler PiCrawler.
Voici quelques exemples :
* « 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 traduira automatiquement** votre demande en code Python
approprié et l'exécutera sur PiCrawler. Pour les commandes de mouvement,
le skill s'assure toujours que le robot se lève d'abord et s'assoit après
avoir terminé l'action.
----------------------------------------------------------------
Actions et commandes disponibles
-------------------------------------------
Voici la liste complète des capacités prises en charge par PiCrawler Skill :
Mouvements (``pc.py move``)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Action
- Description
* - ``forward``
- Avancer
* - ``backward``
- Reculer
* - ``turn left``
- Pivoter à gauche sur place
* - ``turn right``
- Pivoter à droite sur place
* - ``turn left angle``
- Virage à petit angle à gauche
* - ``turn right angle``
- Virage à petit angle à droite
Postures (``pc.py pose``)
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Posture
- Description
* - ``stand``
- Se lever de la position assise
* - ``sit``
- S'asseoir de la position debout
Actions supplémentaires (via langage naturel / exec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Action
- Description
* - ``dance``
- Exécuter un mouvement de danse
* - ``push_up``
- Faire des pompes
* - ``wave``
- Saluer de la patte avant
* - ``look_left``
- Tourner le corps pour regarder à gauche
* - ``look_right``
- Tourner le corps pour regarder à droite
* - ``look_up``
- Incliner le corps pour regarder en haut
* - ``look_down``
- Incliner le corps pour regarder en bas
Capteurs
^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Commande
- Description
* - ``sensor distance``
- Lire le capteur de distance à ultrasons (retourne en cm)
Son (``pc.py sound``)
^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Commande
- Description
* - ``sound play ``
- Jouer un fichier d'effet sonore
* - ``sound music ``
- Jouer de la musique de fond
* - ``sound volume <0-100>``
- Régler le volume du haut-parleur
* - ``sound stop``
- Arrêter la lecture
Caméra et vision (via langage naturel / exec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Capacité
- Description
* - Prendre une photo
- Capturer et sauvegarder une photo dans ``~/Pictures/``
* - Détection de visages
- Détecter les visages humains et signaler leur position
* - Détection de couleurs
- Localiser des objets par couleur (rouge, bleu, vert, etc.)
* - Reconnaissance de gestes
- Reconnaître les gestes pierre/papier/ciseaux
* - Détection de panneaux
- Reconnaître les panneaux stop/gauche/droite/avant
* - Lecture de codes QR
- Lire les données et la position des codes QR
----------------------------------------------------------------
Dépannage
------------------------------
Problèmes OpenClaw
^^^^^^^^^^^^^^^^^^^^^^^^
Q : Lors de l'installation, j'obtiens l'erreur ``Error: systemctl is-enabled unavailable: Command failed: systemctl --user is-enabled openclaw-gateway.service``. Que dois-je faire ?
Vous pouvez ignorer cela pour le moment, mais vous pourriez rencontrer des
problèmes dans les étapes suivantes. Veuillez vous y référer une par une
à ce moment-là.
Q : Lorsque j'exécute ``openclaw tui``, j'obtiens l'erreur ``-bash: openclaw: command not found``. Que dois-je faire ?
Exécutez la commande suivante :
.. code-block:: bash
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Vous devriez maintenant pouvoir démarrer l'interface TUI avec
``openclaw tui``.
Q : Dans ``openclaw tui``, je rencontre ``not connected to gateway — message not sent`` ou le message ``gateway disconnected: closed``.
Cela est dû au fait que votre service OpenClaw Gateway n'est pas démarré.
Ouvrez un autre terminal et exécutez la commande suivante pour démarrer
l'OpenClaw Gateway :
.. code-block:: bash
openclaw gateway
Redémarrez ensuite ``openclaw tui`` et vous pourrez l'utiliser directement.
Q : Je souhaite configurer le service OpenClaw Gateway pour qu'il s'exécute en arrière-plan / démarre automatiquement au démarrage. Comment faire ?
Normalement, votre service OpenClaw Gateway devrait démarrer
automatiquement au démarrage. Si ce n'est pas le cas, vous pouvez le
démarrer manuellement avec les commandes suivantes.
1. Créez le répertoire ``~/.config/systemd/user`` :
.. code-block:: bash
mkdir -p ~/.config/systemd/user
2. Créez le fichier ``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. Ensuite, rechargez la configuration systemd :
.. code-block:: bash
systemctl --user daemon-reload
4. Démarrez le service :
.. code-block:: bash
systemctl --user start openclaw-gateway
À ce stade, redémarrez ``openclaw tui`` et vous pourrez l'utiliser
directement.
5. Activez-le pour qu'il démarre au démarrage :
.. code-block:: bash
systemctl --user enable openclaw-gateway
Q : Mon OpenClaw ne peut pas piloter le système, que dois-je faire ?
Un OpenClaw nouvellement installé peut ne pas avoir l'autorisation
d'opérer votre système Raspberry Pi par défaut ; il ne peut que discuter.
Nous devons configurer manuellement les autorisations.
1. Ouvrez le fichier de configuration OpenClaw :
.. code-block:: bash
nano ~/.openclaw/openclaw.json
2. Trouvez l'option ``tools`` et modifiez ``profile`` et ``exec`` comme
indiqué.
.. code-block:: json
"tools": {
"profile": "coding",
"exec": {
"secrity": "full"
}
},
3. Sauvegardez et quittez.
4. Entrez la commande suivante dans le terminal pour redémarrer
l'OpenClaw Gateway :
.. code-block:: bash
openclaw gateway restart
Maintenant, OpenClaw devrait avoir les autorisations de lecture et
d'écriture et pouvoir piloter votre système Raspberry Pi.
Problèmes PiCrawler
^^^^^^^^^^^^^^^^^^^^^^^^
Q : PiCrawler ne répond pas aux commandes. Que dois-je faire ?
Tout d'abord, vérifiez que PiCrawler est correctement connecté et allumé.
Testez ensuite les fonctionnalités de base :
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py pose sit --speed 40
Si cela échoue, assurez-vous que les bibliothèques Python requises sont
installées :
.. code-block:: bash
python3 -c "import picrawler; import robot_hat; import vilib"
Q : Le test ``import picrawler`` échoue.
Cela signifie que la bibliothèque Python PiCrawler n'est pas correctement
installée. Veuillez consulter le guide d'installation officiel de PiCrawler
pour installer les bibliothèques nécessaires. Vous pouvez également exécuter
le script d'installation inclus :
.. code-block:: bash
bash ~/.openclaw/workspace/skills/picrawler-control/install.sh
Q : OpenClaw ne reconnaît pas le skill PiCrawler.
Rappelez à OpenClaw de synchroniser les skills en disant dans le TUI :
*« Please rsync my skills »* ou redémarrez l'OpenClaw Gateway :
.. code-block:: bash
openclaw gateway restart
Q : Les mouvements de PiCrawler semblent instables ou saccadés.
Cela est généralement dû à l'exécution d'actions à une vitesse trop élevée
ou sans laisser l'action précédente se terminer. Le skill applique des
règles de sécurité (se lever avant de bouger, s'asseoir après le mouvement)
et recommande des plages de vitesse. Essayez de réduire le paramètre de
vitesse (par exemple, ``--speed 40``) ou ajoutez de courtes pauses entre
les commandes consécutives.
----------------------------------------------------------------
.. end_using_picrawler