🧪 De nouveaux tutoriels arrivent — du bras robotique au capteur
Aller au contenu

Chapitre 11 : Contrôle vocal ESP-Claw

Acheter en boutique

Objectif de ce chapitre : contrôler directement à la voix les effets du LED du NanoCam, le changement de mode IA et l'analyse visuelle par photo.

À propos de ce chapitre

Lorsque l'appareil passe en ai_mode:7, le NanoCam entre en mode ESP-Claw. Il partage le même firmware (nanocam_espclaw/) que XiaoZhi AI (ai_mode:6) ; la seule différence : en plus du dialogue vocal, le mode ESP-Claw enregistre 5 outils de contrôle matériel supplémentaires.

CritèreXiaoZhi AI (mode 6)ESP-Claw (mode 7)
Dialogue vocal✅ ASR→LLM→TTS✅ même pipeline vocal
Contrôle LED✅ couleur / marche-arrêt à la voix
Changement de mode IA✅ changement à la voix
Photo + analyse visuelle IA✅ prise de vue + compréhension multimodale de l'image

Principe

Au-dessus de la pipeline vocale, le mode ESP-Claw enregistre 5 outils dédiés au NanoCam via RegisterMcpTools() :

Plain
Commande vocale « mets la lampe en bleu »
  → ASR (reconnaissance vocale, cloud)
  → Le LLM comprend l'intention → appel de self.led.set_color({"r":0, "g":0, "b":255})
  → Le LED WS2812 du NanoCam devient bleu
  → TTS : « D'accord, la lampe est réglée en bleu »

Étapes

11.1 Flasher le firmware

ESP-Claw utilise le projet de firmware indépendant nanocam_espclaw/ :

Bash
cd nanocam_espclaw
idf.py set-target esp32s3
idf.py build
idf.py -p COMx flash

11.2 Changer de mode

Après le démarrage, réglez le mode ESP-Claw :

Plain
ai_mode:7

L'appareil redémarre automatiquement dans ce mode. La commande ai_mode:6 permet de revenir au mode XiaoZhi AI.

11.3 Exemples de contrôle vocal

Après l'éveil, énoncez directement votre besoin :

Plain
💬 « Allume la lampe »                    → le WS2812 s'allume en blanc
💬 « Mets la lampe en bleu »              → le LED devient bleu
💬 « Éteins la lampe »                    → le LED s'éteint
💬 « Passe en mode détection de visage »  → sauvegarde NVS ai_mode:2 + redémarrage
💬 « Regarde ce qu'il y a ici »           → photo + envoi à l'analyse IA multimodale
💬 « Y a-t-il une tasse devant moi »      → reconnaissance multimodale de l'image

11.4 Photo + analyse visuelle IA

Quand l'utilisateur dit « regarde… », le firmware capture une trame VGA RGB565, la compresse en JPEG et l'envoie à l'API multimodale configurée côté serveur pour analyse ; le résultat est annoncé vocalement via TTS.

L'URL et le token de l'API multimodale sont fournis automatiquement par le serveur lors du handshake de connexion ; aucune commande de configuration manuelle sur le port série n'est nécessaire.

Les 5 outils dédiés au NanoCam

OutilFonctionParamètres
self.led.set_colorDéfinir la couleur du LED RGB WS2812 (GPIO18)r,g,b: 0-255
self.led.turn_offÉteindre le LEDAucun
self.camera.set_ai_modeChanger de mode IA (sauvegarde NVS + redémarrage)mode: 0-7
self.camera.inspect_imagePhoto + analyse visuelle par LLM multimodalprompt: description de la question
self.get_device_infoInformations sur l'appareil en JSONAucun

Fichiers de configuration

ContenuChemin
Enregistrement des outils MCPnanocam_espclaw/main/boards/nanocam/nanocam_board.cc
Logique d'envoi vers la Vision APInanocam_espclaw/main/boards/common/esp32_camera.cc
Configuration SDK par défautnanocam_espclaw/sdkconfig.defaults

Le firmware ESP-Claw est un projet indépendant, qui ne partage aucun code avec nanocam_vision. Les deux firmwares doivent être compilés et flashés séparément.

Comment choisir

Votre besoinMode recommandé
Discuter et poser des questions à la voix uniquementmode 6 (XiaoZhi)
Contrôler le LED à la voixmode 7 (ESP-Claw)
Photographier + « faire voir » l'image à l'IAmode 7 (ESP-Claw)
Changer de mode de détection IA à la voixmode 7 (ESP-Claw)

L'utilisation complète d'ESP-Claw (configuration du serveur, développement d'outils MCP personnalisés, etc.) est encore en cours d'exploration ; la documentation évoluera au fil des recherches.

Ceci conclut l'ensemble de la série de tutoriels en 11 chapitres. Pour les commandes série complètes (comme le changement de mode ai_mode), voir le Manuel du protocole série.