.. _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