Arduino UNO Q - OpenClaw

Voulez-vous contrôler votre Arduino UNO Q en tapant des messages en langage naturel au lieu de commandes bot fixes ? Ce tutoriel vous montre comment utiliser OpenClaw avec Arduino UNO Q pour envoyer des messages comme "allume la LED" ou "quel est le statut du MCU ?" depuis Telegram, WhatsApp, Discord ou n'importe quelle application de messagerie que vous utilisez déjà.

Dans ce tutoriel, vous apprendrez :

Arduino UNO Q OpenClaw

Matériel Requis

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×Recommandé: Shield à bornier à vis pour Arduino Uno
1×Recommandé: Sensors/Servo Expansion Shield for Arduino Uno
1×Recommandé: Shield plaque d'essai pour Arduino Uno
1×Recommandé: Boîtier pour Arduino Uno
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Qu'est-ce qu'OpenClaw ?

OpenClaw est un assistant IA personnel que vous exécutez sur votre propre appareil. Il se connecte aux applications de messagerie que vous utilisez déjà (Telegram, WhatsApp, Discord, Slack, et bien d'autres) et utilise un modèle IA (Anthropic Claude, OpenAI, etc.) pour comprendre ce que vous dites et agir en conséquence.

Sur Arduino UNO Q, OpenClaw s'exécute sur le côté Linux (le MPU Qualcomm, qui exécute Debian Linux). Vous créez une compétence personnalisée qui apprend à OpenClaw comment appeler des fonctions MCU via le Bridge. Après ça, vous pouvez envoyer des messages en langage naturel et OpenClaw s'occupe du reste.

Fonctionnalités clés :

  • Langage naturel — pas de commandes fixes ; dites la même chose de différentes manières et OpenClaw comprend
  • Multi-canaux — fonctionne sur Telegram, WhatsApp, Discord, Slack, et plus encore, tous en même temps
  • Extensible — ajoutez plus de fonctions Bridge et mettez à jour la compétence pour apprendre à OpenClaw à les utiliser
  • Auto-hébergé — s'exécute sur le côté Linux de l'Arduino UNO Q ; vos données restent sur votre appareil

OpenClaw vs Bot Telegram

OpenClaw et le bot Telegram (couvert dans d'autres tutoriels) vous permettent tous deux de contrôler Arduino UNO Q à distance. La différence clé réside dans le fonctionnement des commandes :

Fonctionnalité Bot Telegram OpenClaw
Style de commande Fixe (ex. /led_on) Langage naturel ("allume la LED")
Compréhension Correspondance exacte de commande Détection d'intention par IA
Canaux de messagerie Telegram uniquement Telegram, WhatsApp, Discord, Slack, et plus
Modèle IA requis Non Oui (clé API d'Anthropic, OpenAI, etc.)
Complexité de configuration Simple Modérée

Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Arduino UNO Q opérationnel : suivez d'abord le tutoriel Démarrer avec Arduino UNO Q
  • Arduino App Lab : installé et fonctionnel
  • Familiarité avec le Bridge : consultez le tutoriel Arduino UNO Q - Communication entre Linux et le MCU
  • Un compte de messagerie : ce tutoriel utilise Telegram, mais OpenClaw prend également en charge WhatsApp, Discord, Slack, iMessage, et plus encore. La configuration pour les autres canaux est similaire.
  • Un token de bot Telegram : vous le créerez dans la section Arduino UNO Q - Bot Telegram ci-dessous en utilisant @BotFather
  • Une clé API de fournisseur IA : ce tutoriel utilise Anthropic (Claude). Vous pouvez également utiliser OpenAI ou d'autres fournisseurs pris en charge ; les étapes de configuration sont similaires. Inscrivez-vous sur console.anthropic.com, créez une clé API et copiez-la ; vous la collerez lors de l'étape d'intégration d'OpenClaw.

Comment OpenClaw + Arduino UNO Q Fonctionnent Ensemble

※ Note:

OpenClaw s'exécute sur le MPU Qualcomm (côté Linux). Le MCU expose les fonctions de contrôle matériel via le Bridge Arduino, exactement comme dans les autres tutoriels Bridge. OpenClaw appelle ces fonctions via un bridge HTTP WebUI qui s'exécute sur le côté Linux de l'Arduino UNO Q.

Voici le flux pour chaque message utilisateur :

  1. L'utilisateur envoie un message via Telegram (ou un autre canal connecté) : *"Bascule la LED"*
  2. OpenClaw reçoit le message sur Telegram (ou un autre canal), l'envoie au modèle IA Anthropic Claude, qui comprend l'intention et sélectionne la compétence Arduino UNO Q correspondante
  3. La compétence demande à OpenClaw d'exécuter : curl http://localhost:7000/api/toggle_led
  4. Le bridge WebUI — un script Python s'exécutant comme serveur web côté Linux de l'Arduino UNO Q — reçoit cette requête HTTP et appelle Bridge.call("toggle_led", "") pour atteindre le MCU
  5. Le MCU (STM32) bascule la LED et renvoie le résultat via le Bridge au serveur web Python
  6. OpenClaw reçoit le résultat et envoie la réponse à l'utilisateur : *"La LED est maintenant ALLUMÉE"*
Comment OpenClaw fonctionne sur Arduino

Installer OpenClaw

L'installation d'OpenClaw n'est pas simple au moment de la rédaction de ce tutoriel. Vous pourriez rencontrer des problèmes tels que des boucles infinies pendant l'assistant d'intégration, des invites qui n'avancent pas, ou des étapes qui se comportent différemment selon la version d'OpenClaw que vous installez. Cette section vous donne les principales étapes qui ont fonctionné au moment de la rédaction — les étapes exactes peuvent différer selon la version que vous installez. Si quelque chose se bloque, quittez (Ctrl+C), consultez la documentation OpenClaw, et réessayez.

Pour vous connecter en SSH à l'Arduino UNO Q, vous avez besoin de son adresse IP. Ouvrez Arduino App Lab, allez dans Settings, et cherchez le champ IP Address.

Adresse IP de l'Arduino UNO Q dans les paramètres Arduino App Lab

Installer Node.js

OpenClaw nécessite Node.js 22 ou supérieur. Le côté Linux de l'Arduino UNO Q exécute Debian, donc vous l'installez via le paquet NodeSource.

N'utilisez pas le terminal SSH à l'intérieur d'Arduino App Lab (au moins la version 0.7.0) — il est instable, expire fréquemment et peut injecter des entrées inattendues. Utilisez plutôt un client SSH externe.

  • Sur Windows, ouvrez PowerShell ou Windows Terminal et exécutez :
ssh arduino@IP_ADDRESS
  • Il vous sera demandé de saisir le mot de passe Linux que vous avez défini lors de la première configuration de l'Arduino Uno Q.
  • Le terminal SSH ressemblera alors à ceci :
Command Prompt
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows PS C:\Users\DIYables> ssh arduino@192.168.0.3 arduino@192.168.0.3's password: Linux Newbiely 6.16.7-g0dd6551ae96b #1 SMP PREEMPT Tue Sep 23 12:46:06 UTC 2025 aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Fri May 8 08:56:32 2026 from 192.168.0.254 arduino@Newbiely:~$
  • Exécutez ces commandes dans le terminal SSH :
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
  • Vous verrez une sortie se terminant par Repository configured successfully.. Puis exécutez :
sudo apt-get install -y nodejs

Pendant l'installation, une boîte de dialogue "Which services should be restarted?" peut apparaître. Laissez la sélection par défaut et appuyez sur Entrée pour continuer.

Invite de redémarrage des services lors de l'installation de Node.js sur Arduino UNO Q

Puis exécutez :

node --version

La dernière commande devrait afficher v22.x.x ou supérieur. Si c'est le cas, Node.js est prêt.

Installer OpenClaw

  • Installer OpenClaw globalement :
sudo npm install -g openclaw@latest
  • Créer les répertoires de configuration :
openclaw setup

Vous devriez voir Setup complete: local config, workspace, and session directories are ready.

  • Exécuter l'assistant d'intégration — c'est la manière la plus fiable de stocker votre clé API Anthropic :
openclaw onboard

L'assistant vous guide à travers une courte série d'invites :

  • Sélectionnez Yes pour commencer la configuration
  • Sélectionnez QuickStart
  • Sélectionnez Anthropic comme fournisseur de modèle
  • Sélectionnez Anthropic API key
  • Collez votre clé API Anthropic et appuyez sur Entrée
  • Sélectionnez Keep current pour le modèle (Claude 3.5 Sonnet est la valeur par défaut et fonctionne bien)

Si la session SSH se déconnecte après l'assistant, reconnectez-vous et continuez depuis l'étape suivante.

  • Démarrer la Gateway en arrière-plan :
nohup openclaw gateway &

Vous verrez une sortie comme :

[1] 35925 nohup: ignoring input and appending output to 'nohup.out'

C'est normal. Le nombre après [1] est le numéro du job et 35925 est l'ID du processus. Appuyez une fois sur Entrée pour récupérer l'invite.

  • Vérifier que la Gateway fonctionne :
openclaw gateway status

Cherchez ces deux lignes dans la sortie :

Gateway already running locally. Listening: 127.0.0.1:18789

Vous pouvez également voir Connectivity probe: failed — c'est normal lors de l'exécution via nohup au lieu de systemd. La gateway fonctionne toujours tant que vous voyez Gateway already running locally et un PID listé à côté du port 18789.

Connecter OpenClaw à Telegram

Étape 1 — Obtenir un Token de Bot Telegram

Si vous n'avez pas encore de bot Telegram, consultez Arduino UNO Q - Bot Telegram pour obtenir votre token de bot avant de continuer. Après avoir complété ce tutoriel, vous aurez un token de bot dans ce format :

xxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Étape 2 — Ajouter le Token de Bot à OpenClaw

Sur le côté Linux de l'Arduino UNO Q (via SSH), ouvrez le fichier de configuration OpenClaw :

nano ~/.openclaw/openclaw.json

Trouvez la section "channels" et remplacez-la par :

"channels": { "telegram": { "enabled": true, "groups": { "*": { "requireMention": true } }, "botToken": "YOUR_BOT_TOKEN_HERE" } }

Remplacez YOUR_BOT_TOKEN_HERE par le token copié depuis BotFather. Sauvegardez et quittez nano (Ctrl+O, Entrée, Ctrl+X).

Étape 3 — Redémarrer la Gateway

pkill -f "openclaw gateway" ; nohup openclaw gateway &

Appuyez une fois sur Entrée pour récupérer l'invite après l'apparition de la sortie nohup.

Étape 4 — Vous Approuver

Ouvrez Telegram, trouvez votre bot par son nom d'utilisateur et envoyez n'importe quel message (ex. bonjour).

La première fois, OpenClaw répondra avec un message "access not configured" contenant un code de couplage :

Telegram
Telegram 12:45
Welcome to Telegram!
ArduinoBot 10:19
Chatting with Arduino...
telegram-botfather
BotFather Yesterday
Your bot has been created.

ArduinoBot

bot
Today
hello
10:15 AM ✓✓
OpenClaw: access not configured. Your Telegram user id: 8748687711 Pairing code: MWS8F4WK Ask the bot owner to approve with: openclaw pairing approve telegram MWS8F4WK
10:16 AM

Copiez le code de couplage depuis ce message Telegram, puis exécutez cette commande sur le côté Linux de l'Arduino UNO Q (remplacez MWS8F4WK par votre code réel) :

openclaw pairing approve telegram MWS8F4WK

Étape 5 — Tester la Connexion

Envoyez un autre message à votre bot dans Telegram. OpenClaw devrait maintenant répondre normalement.

Telegram
Telegram 12:45
Welcome to Telegram!
ArduinoBot 10:19
Chatting with Arduino...
telegram-botfather
BotFather Yesterday
Your bot has been created.

ArduinoBot

bot
Today
Hello, do you know about DIYables ?
10:15 AM ✓✓
Yeah! DIYables is a brand/company that makes electronics components and kits for makers, hobbyists, and students — especially aimed at Arduino, ESP32, and Raspberry Pi projects.
10:16 AM

※ Note:

Pourquoi OpenClaw nécessite-t-il une approbation alors qu'un bot Telegram ordinaire n'en a pas besoin ?

Un bot Telegram standard répond à quiconque lui envoie un message — le contrôle d'accès n'est ajouté que si vous le codez vous-même. OpenClaw est différent : c'est un assistant IA personnel s'exécutant sur votre propre matériel avec votre propre clé API. Chaque message déclenche un appel API IA payant, et la compétence peut exécuter des commandes shell sur votre côté Linux. Pour protéger à la fois votre portefeuille et votre appareil, OpenClaw verrouille l'accès par défaut et exige que le propriétaire approuve explicitement chaque utilisateur avant qu'il puisse interagir.

※ Note:

OpenClaw prend également en charge WhatsApp, Discord, Slack, iMessage, et bien d'autres. Consultez la documentation des canaux OpenClaw pour les guides de configuration des autres canaux.

À ce stade, OpenClaw s'exécute sur votre Arduino UNO Q et est connecté à Telegram. Vous pouvez déjà discuter avec lui, mais il ne connaît pas encore votre matériel.

Les prochaines étapes construisent cette connexion :

  • Sketch MCU Bridge — un sketch Arduino qui expose les fonctions de contrôle matériel (LED, capteurs, etc.) via le Bridge
  • Bridge Python WebUI — un script Python s'exécutant dans Arduino App Lab qui reçoit les requêtes HTTP d'OpenClaw et les transfère au MCU via le Bridge
  • Compétence Arduino UNO Q — un petit fichier de configuration qui apprend à OpenClaw quelles commandes exécuter et quand les utiliser

Une fois les trois en place, vous pouvez contrôler votre matériel avec des messages en langage naturel.

Code Arduino UNO Q

Le code Arduino UNO Q comprend deux parties :

  • Code Python côté Linux — s'exécute sur le MPU Qualcomm (Debian Linux) ; démarre un serveur HTTP WebUI qui reçoit les requêtes d'OpenClaw et les transfère au MCU via le Bridge
  • Sketch Arduino C/C++ sur MCU — s'exécute sur le STM32 ; expose les fonctions de contrôle matériel (LED, capteurs, etc.) via le Bridge pour que le script Python puisse les appeler

Sketch MCU Bridge

Le MCU expose les fonctions de contrôle matériel via le Bridge. OpenClaw appelle ces fonctions via le bridge WebUI (section suivante).

/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-openclaw */ #include "Arduino_RouterBridge.h" // LED_BUILTIN is LED3 on the board, lights up RED, active LOW // LOW = ON, HIGH = OFF bool ledState = false; String toggle_led(String arg) { ledState = !ledState; digitalWrite(LED_BUILTIN, ledState ? LOW : HIGH); String msg = ledState ? "LED is now ON" : "LED is now OFF"; Monitor.println(msg); return msg; } String get_status(String arg) { String status = "MCU is running. LED: " + String(ledState ? "ON" : "OFF"); Monitor.println("Status requested: " + status); return status; } void setup() { Monitor.begin(); Bridge.begin(); pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, HIGH); // Start with LED off (active LOW) Bridge.provide_safe("toggle_led", toggle_led); Bridge.provide_safe("get_status", get_status); Monitor.println("OpenClaw Bridge ready"); } void loop() { }

Étapes Rapides

Première fois avec Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q pour préparer votre environnement de développement avant de continuer.

  • Connecter : Branchez l'Arduino UNO Q à votre ordinateur avec un câble USB-C.
  • Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q. Cela peut prendre quelques minutes au premier démarrage.
  • Créer une nouvelle application : Cliquez sur le bouton Create New App.
Créer une nouvelle application dans Arduino App Lab sur Arduino UNO Q
  • Nommez l'application : OpenClawBridge
  • Cliquez sur Create pour confirmer.
  • Vous verrez un ensemble de dossiers et de fichiers générés dans votre nouvelle application.
Dossiers et fichiers de l'application Arduino App Lab sur Arduino UNO Q
  • Trouvez le fichier sketch/sketch.ino — c'est là que vous collerez le sketch MCU.
  • Coller le sketch MCU : Copiez le code MCU ci-dessus et collez-le dans sketch/sketch.ino.
  • Coller le bridge WebUI Python : Ouvrez python/main.py dans l'application. Sélectionnez tout le contenu existant et supprimez-le, puis collez le code Python de la section suivante. Le code du modèle par défaut doit être entièrement remplacé — ne l'ajoutez pas simplement à la fin.
    • Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.
    Add sketch library in Arduino App Lab on Arduino UNO Q
    • Search for Arduino_RouterBridge created by Arduino and click the Install button.
    My Apps / DIYables Apps
    Run
    Bricks
    No bricks added...
    Sketch Libraries
    No sketch libra...
    Files
    python
    sketch
    .gitignore
    README.md
    app.yaml
    sketch.ino
    Add sketch library
    Arduino_RouterBridge Arduino

    This library provides a simple RPC bridge for Arduino UNO Q boards, allowing communication between the board and other devices using MsgPack serialization.

    0.4.1
    Install
    More Info
    • Téléverser : Cliquez sur le bouton Run dans Arduino App Lab pour compiler et téléverser vers le STM32.
    Cliquer sur Run dans Arduino App Lab sur Arduino UNO Q
    • Conseil : Gardez Arduino App Lab en cours d'exécution en arrière-plan. Le bridge Python WebUI doit être en cours d'exécution pour qu'OpenClaw puisse atteindre le MCU.

    Sortie Console d'App Lab

    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    Message (Enter to send a message to "Newbiely" on usb(2820070321))
    New Line
    9600 baud
    [2026-05-08 10:00:01] OpenClaw Bridge ready [2026-05-08 10:00:04] LED turned ON [2026-05-08 10:00:09] Status requested: MCU is running. LED: ON
    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    [2026-05-08 10:00:01] WebUI started on http://0.0.0.0:7000 OpenClaw -> toggle_led: LED is now ON OpenClaw -> get_status: MCU is running. LED: ON

    Bridge Python WebUI

    Le script Python s'exécute sur le côté Linux de l'Arduino UNO Q. Il démarre un serveur HTTP WebUI sur le port 7000. OpenClaw appelle ce serveur via curl ; le serveur transfère chaque requête au MCU via Bridge.call().

    Ajouter la Brique WebUI

    Le script Python nécessite la Brique WebUI - HTML — un service pré-construit qui s'exécute comme conteneur Docker sur le côté Linux de l'Arduino UNO Q et fournit l'infrastructure du serveur HTTP. Vous devez l'ajouter à votre application dans Arduino App Lab avant d'exécuter le script.

    • Dans Arduino App Lab, ouvrez votre application OpenClawBridge.
    • Cliquez sur le bouton Add Brick dans la barre latérale de l'éditeur pour ouvrir le catalogue de Briques.
    Bouton Add Brick dans la barre latérale de l'éditeur Arduino App Lab
    • Trouvez et sélectionnez WebUI - HTML dans la liste, puis suivez les invites de configuration.
    Brique WebUI - HTML sélectionnée dans le catalogue de Briques Arduino App Lab
    • Arduino App Lab ajoute automatiquement l'entrée Brique à votre fichier app.yaml — ne modifiez pas cette entrée manuellement.

    ※ Note:

    Une Brique est un service pré-construit et prêt à l'emploi qui s'exécute sur le côté Linux de l'Arduino UNO Q. La Brique WebUI - HTML gère le serveur HTTP pour que vous n'ayez pas besoin d'installer Flask ou tout autre framework web manuellement. Consultez À Propos des Briques pour plus de détails.

    Code Python

    /* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-openclaw */ from arduino.app_utils import * from arduino.app_bricks.web_ui import WebUI def toggle_led(): result = Bridge.call("toggle_led", "") print(f"OpenClaw -> toggle_led: {result}") return {"result": result} def get_status(): result = Bridge.call("get_status", "") print(f"OpenClaw -> get_status: {result}") return {"result": result} web_ui = WebUI() web_ui.expose_api("GET", "/api/toggle_led", toggle_led) web_ui.expose_api("GET", "/api/get_status", get_status) App.run()

    Exécuter

    • Téléverser et exécuter : Cliquez sur le bouton Run dans Arduino App Lab. Ce seul bouton fait les deux : il compile et téléverse le sketch Arduino vers le MCU STM32, et démarre en même temps le bridge Python WebUI côté Linux.
    Cliquer sur Run dans Arduino App Lab sur Arduino UNO Q
    • Vérifiez la console Python — vous devriez voir WebUI started on http://0.0.0.0:7000, ce qui confirme que le serveur HTTP est en cours d'exécution et prêt pour qu'OpenClaw l'appelle.
    • Conseil : Gardez Arduino App Lab en cours d'exécution en arrière-plan. Le bridge Python WebUI doit être en cours d'exécution pour qu'OpenClaw puisse atteindre le MCU.

    Créer la Compétence Arduino UNO Q

    Une compétence est un petit dossier avec un fichier SKILL.md qui apprend à OpenClaw comment et quand utiliser votre Arduino UNO Q.

    • Créer le dossier de la compétence :
    mkdir -p ~/.openclaw/workspace/skills/arduino-uno-q
    • Créer SKILL.md :
    nano ~/.openclaw/workspace/skills/arduino-uno-q/SKILL.md

    Collez ce contenu :

    --- name: arduino-uno-q description: Control Arduino UNO Q hardware via Bridge commands. Use this for LED control, sensor readings, and MCU interactions. metadata: { "openclaw": { "os": ["linux"], "requires": { "bins": ["curl"] } } } --- **Arduino UNO Q Skill** Use this skill to interact with Arduino UNO Q hardware over the Bridge. The Arduino UNO Q has two processors: the MCU (STM32, controls hardware directly) and the Linux side (Qualcomm MPU, runs OpenClaw). Bridge commands let the Linux side call MCU functions. **Available commands** Toggle the built-in LED on or off: curl -s http://localhost:7000/api/toggle_led Get the current MCU status: curl -s http://localhost:7000/api/get_status **Instructions** * Use the exec tool to run the curl commands above. * Show the response text to the user as-is. * If the command fails or returns nothing, tell the user the MCU may not be reachable and to check that Arduino App Lab is running. * When the user says anything about toggling, turning on, or turning off the LED, use toggle_led. * When the user asks about status, health, or whether the MCU is running, use get_status.

    Sauvegardez et quittez nano (Ctrl+O, Entrée, Ctrl+X).

    • Recharger OpenClaw :
    openclaw gateway restart
    • Vérifier que la compétence est chargée :
    openclaw skills list

    Vous devriez voir arduino-uno-q dans la liste.

    Tester

    Assurez-vous que le sketch MCU Bridge est téléversé et que le bridge Python WebUI est en cours d'exécution sur le côté Linux de l'Arduino UNO Q. Puis ouvrez Telegram (ou le canal choisi) et envoyez des messages à votre bot OpenClaw :

    • "Bascule la LED" — OpenClaw devrait basculer la LED et répondre "LED is now ON" ou "LED is now OFF"
    • "Quel est le statut du MCU ?" — OpenClaw devrait répondre "MCU is running. LED: ON"
    • "Allume la LED" — même que basculer ; OpenClaw comprend différentes formulations
    • "Arduino est-il en cours d'exécution ?" — OpenClaw mappe cela vers la vérification de statut

    Si OpenClaw répond qu'il ne peut pas atteindre le MCU, vérifiez qu'Arduino App Lab est ouvert et que le script bridge Python est en cours d'exécution.

    Mettre à Jour la Compétence

    Chaque fois que vous modifiez le contenu de la compétence (par exemple, après avoir ajouté une nouvelle commande Bridge), vous devez mettre à jour SKILL.md sur l'Arduino UNO Q et recharger la Gateway OpenClaw.

    Connectez-vous en SSH au côté Linux de l'Arduino UNO Q :

    ssh arduino@

    Ouvrez le fichier de compétence dans nano :

    nano ~/.openclaw/workspace/skills/arduino-uno-q/SKILL.md

    Modifiez le contenu — collez ou tapez vos modifications — puis sauvegardez et quittez (Ctrl+O, Entrée, Ctrl+X).

    Redémarrez la Gateway pour charger la compétence mise à jour :

    pkill -f "openclaw gateway" ; nohup openclaw gateway &

    Vérifiez que la compétence est toujours listée :

    openclaw skills list

    ※ Note:

    Vous pouvez également copier le fichier directement depuis votre ordinateur en utilisant scp :

    scp SKILL.md arduino@<IP_ADDRESS>:~/.openclaw/workspace/skills/arduino-uno-q/SKILL.md

    Puis redémarrez la Gateway comme indiqué ci-dessus.

    Étendre la Compétence

    Pour ajouter plus de contrôles matériels, suivez ces étapes :

    • Côté MCU : Ajoutez un nouvel appel Bridge.provide_safe() dans le sketch MCU pour la nouvelle fonction.
    • Bridge WebUI : Ajoutez un nouvel appel expose_api dans le script Python pour le nouvel endpoint.
    • SKILL.md : Ajoutez une ligne décrivant la nouvelle commande curl et quand l'utiliser.
    • Recharger OpenClaw : Exécutez openclaw gateway restart pour prendre en compte la modification de la compétence.

    Exemple : pour ajouter une lecture de capteur de température, exposez get_temperature sur le MCU, ajoutez-le au bridge WebUI, et ajoutez ceci à SKILL.md :

    Get the temperature reading from the MCU: curl -s http://localhost:7000/api/get_temperature * When the user asks about temperature or heat, use get_temperature.

    Dépannage

    Rien ne fonctionne après le redémarrage de l'Arduino UNO Q

    Après un redémarrage, ni Arduino App Lab (bridge Python WebUI) ni la Gateway OpenClaw ne démarrent automatiquement. Vous devez les démarrer manuellement à chaque fois, ou les configurer pour démarrer au démarrage.

    Pour les démarrer manuellement après un redémarrage :

    1. Ouvrez Arduino App Lab sur votre PC et cliquez sur Run pour redémarrer l'application (cela redémarre à la fois le sketch MCU et le bridge Python WebUI).
    2. Connectez-vous en SSH au côté Linux de l'Arduino UNO Q et redémarrez la Gateway OpenClaw :
    nohup openclaw gateway &

    Pour que la Gateway OpenClaw démarre automatiquement au démarrage, créez un service systemd. Connectez-vous en SSH au côté Linux de l'Arduino UNO Q et exécutez :

    sudo nano /etc/systemd/system/openclaw.service

    Collez ce contenu (remplacez arduino par votre nom d'utilisateur Linux si différent) :

    [Unit] Description=OpenClaw Gateway After=network-online.target Wants=network-online.target [Service] User=arduino ExecStart=/usr/bin/openclaw gateway Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target

    Sauvegardez et quittez (Ctrl+O, Entrée, Ctrl+X), puis activez et démarrez le service :

    sudo systemctl daemon-reload sudo systemctl enable openclaw sudo systemctl start openclaw

    Vérifiez qu'il est en cours d'exécution :

    sudo systemctl status openclaw

    Vous devriez voir Active: active (running). La Gateway OpenClaw démarrera maintenant automatiquement à chaque fois que l'Arduino UNO Q démarre.

    ※ Note:

    Arduino App Lab (bridge Python WebUI) n'a actuellement pas d'option de démarrage automatique intégrée. Si vous avez besoin que le bridge WebUI démarre au démarrage sans Arduino App Lab ouvert, vous pouvez créer un second service systemd de la même manière, pointant directement vers le script Python. Alternativement, gardez Arduino App Lab ouvert sur votre PC lorsque vous avez besoin du contrôle à distance.

    Idées de Projets

    Vous pouvez étendre cela à n'importe quel matériel connecté au MCU Arduino UNO Q :

    • Tableau de bord maison intelligente : Demandez à OpenClaw "Y a-t-il quelqu'un à la maison ?" (capteur de mouvement), "Quelle est la température ?" ou "Ferme la vanne" — tout depuis une seule fenêtre de chat
    • Moniteur d'équipement à distance : Obtenez des lectures de capteur depuis un Arduino UNO Q distant via Telegram sans écrire de bot personnalisé
    • Contrôle multi-canaux : Utilisez la même compétence OpenClaw sur Telegram, WhatsApp et Discord simultanément — une seule compétence, tous les canaux
    • Arduino contrôlé par la voix : Associez OpenClaw à son nœud iOS ou Android et contrôlez Arduino UNO Q en parlant
    • Alertes automatisées : Demandez à OpenClaw de signaler périodiquement les valeurs de capteur et de vous alerter quand un seuil est dépassé

    Défiez-Vous

    Prêt à aller plus loin avec OpenClaw et Arduino UNO Q ?

    • Facile : Ajoutez une fonction Bridge blink_led au sketch MCU qui fait clignoter la LED trois fois. Mettez à jour le bridge WebUI et SKILL.md pour pouvoir la déclencher en disant "clignote la LED".
    • Moyen : Ajoutez un deuxième canal de messagerie (Discord ou WhatsApp) à OpenClaw et vérifiez que les mêmes commandes en langage naturel y fonctionnent aussi.
    • Avancé : Connectez un capteur de température ou de mouvement au MCU, exposez-le via le Bridge, ajoutez-le au bridge WebUI et à la compétence, et demandez à OpenClaw de vous envoyer automatiquement une alerte Telegram lorsqu'un mouvement est détecté ou que la température dépasse un seuil.

    Tutoriels connexes

    ※ NOS MESSAGES

    • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !