02 Préparation de l'environnement (venv, outils de flashage et firmware)
Faites cette page avant de commencer. Les commandes supposent la racine du dépôt - le dossier
SR-Supporttéléchargé depuis GitHub (une extraction de zip peut s'appelerSR-Support-main; c'est le dossier qui contientfirmware/ettools/). Chaque commande Python s'exécute dans le terminal avec.venvactivé (2.3). Flasher le firmware précompilé ne nécessite ni PlatformIO ni compilation ; l'environnement développeur (2.5) ne sert qu'à modifier le code.
2.1 Prérequis
- Windows, Linux ou macOS (chaque commande ci-dessous est donnée pour les trois systèmes lorsque c'est utile) ;
- un câble USB de données (un câble de charge seule ne fera pas apparaître la carte) ;
- ESP32-S3-DevKitC-1 (8 Mo de flash).
2.2 Récupérer le code et le firmware précompilé
Clonez le dépôt (ou décompressez l'archive fournie) et exécutez les commandes suivantes depuis la racine du dépôt :
bashgit clone https://github.com/Juxi-Technology/SR-Support.git cd SR-Support(Le dépôt est privé - demandez d'abord l'accès.)
L'image précompilée se trouve dans
firmware/releases/:Fichier Rôle sr_support_b_ptk_factory.binfirmware principal (flasher à 0x0 ; sert aussi au centrage lors de l'assemblage : mettez sous tension jusqu'au zéro du firmware, efacultatif)SHA256SUMSsommes de contrôle
2.3 Créer et activer l'environnement virtuel (.venv)
Tous les outils Python côté ordinateur (esptool, PlatformIO, les outils MuJoCo) vont dans le même .venv local au projet, et ce .venv doit être créé dans le dossier SR-Support téléchargé depuis GitHub (une extraction de zip peut s'appeler SR-Support-main ; là encore, le dossier qui contient firmware/ et tools/).
Entrez d'abord dans ce dossier - les commandes ci-dessous s'y exécutent :
Windows (PowerShell)
cd D:\Project\SR-Support # replace with where your SR-Support folder lives
py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1- Vous n'êtes pas sûr d'être au bon endroit ? Lancez
dir; il doit listerfirmware,tools,tutorial; - Sans Python 3.12, utilisez
py -3 -m venv .venv(3.10+ fonctionne) ; - Si PowerShell refuse d'exécuter des scripts, lancez
Set-ExecutionPolicy -Scope Process Bypassdans cette fenêtre et activez à nouveau ; .\.venv\Scripts\Activate.ps1est le script d'activation PowerShell créé par venv : le.\initial signifie « exécute le script dans le dossier courant » et est obligatoire dans PowerShell (Activate.ps1seul ne sera pas trouvé). Les autres shells utilisent leur propre fichier :- cmd.exe :
.venv\Scripts\activate.bat - Git Bash :
source .venv/Scripts/activate - Quittez le venv avec
deactivate
- cmd.exe :
Windows (cmd.exe)
cd /d D:\Project\SR-Support # cmd needs /d to change drive; plain cd D:\... stays on C:
py -3.12 -m venv .venv
.venv\Scripts\activate.batDistinguer les shells : l'invite de cmd ressemble à
C:\...>, celle de PowerShell àPS C:\...>. Le tutoriel utilise PowerShell par défaut ; sous cmd, remplacez simplement la commande d'activation paractivate.bat, tout le reste est identique. Les droits administrateur ne sont pas nécessaires.Le fichier d'activation doit correspondre au shell : cmd utilise
activate.bat, PowerShell utiliseActivate.ps1. Lancer le.ps1depuis cmd n'active pas la fenêtre courante (généralement rien ne se passe, ou une fenêtre séparée s'ouvre). Vérifiez aussi que.venvexiste d'abord (dirdoit lister le dossier.venv) ; sinon, lancez d'abordpy -3.12 -m venv .venv.
Linux / macOS
cd ~/SR-Support # replace with where your SR-Support folder lives
python3 -m venv .venv
source .venv/bin/activate- Vous n'êtes pas sûr d'être au bon endroit ? Lancez
ls; il doit listerfirmware,tools,tutorial.
Après activation, l'invite affiche (.venv). Toutes les commandes ci-dessous et des pages suivantes du tutoriel s'exécutent dans ce terminal activé ; réactivez après avoir ouvert une nouvelle fenêtre. Sans activation, pip / python pointent vers l'installation système et les installations ou exécutions échoueront.
Confirmez que l'activation a fonctionné :
- Windows :
where python- la première ligne doit être...\SR-Support\.venv\Scripts\python.exe; - Linux / macOS :
which python- doit être.../SR-Support/.venv/bin/python.
Écran effacé après l'activation sous cmd ? Le fichier
activate.batstandard bascule temporairement la page de code de la console (chcp 65001) et certains terminaux redessinent l'écran - ce n'est pas un nouveau terminal. Si la nouvelle invite commence par(.venv)et quewhere pythonpointe vers.venv, l'activation a réussi. Pour éviter le redessin, utilisezActivate.ps1de PowerShell (il ne touche pas à la page de code) ou appelez.venv\Scripts\python.exesans activer.
Exigence de répertoire (important) :
.venvdoit se trouver dans le dossierSR-Support(la racine du dépôt), jamais dans un sous-dossier. Les commandes de création/activation ci-dessus utilisent des chemins relatifs, elles doivent donc être exécutées depuis ce dossier - après avoir ouvert un nouveau terminal, entrez-y d'abord (PowerShell :cd D:\Project\SR-Support; cmd :cd /d D:\Project\SR-Support, avec votre chemin) avant d'activer, ou utilisez un chemin absolu commeC:\path\SR-Support\.venv\Scripts\Activate.ps1/source /path/SR-Support/.venv/bin/activate.Une fois activé, vous pouvez
cddans n'importe quel sous-dossier etpython/pip/piopointent toujours vers ce.venv; mais les cheminstools/...,firmware/...ethardware/v1/...du tutoriel sont relatifs, donc exécutez-les depuis le dossierSR-Support. Le venv est lié au chemin où il a été créé : après avoir déplacé ou renommé le dépôt, supprimez.venvet recréez-le.
2.4 Outils de flashage (tous les clients - choisissez-en un)
Une image précompilée est un seul bin à flasher à 0x0 - pas de PlatformIO, pas de téléchargement de chaîne d'outils. Assurez-vous que le terminal est dans le dossier SR-Support et que l'invite affiche (.venv).
A. Interface graphique Windows : Espressif Flash Download Tool
- Ouvrez la page officielle « Other Tools » d'Espressif et téléchargez Flash Download Tools : https://www.espressif.com/en/support/download/other-tools
- Lancez-le ; sélectionnez ESP32-S3, chargez
firmware/releases/sr_support_b_ptk_factory.binà l'adresse0x0, choisissez le port et cliquez sur START.
Flash Download Tool est réservé à Windows ; sous Linux/macOS, utilisez esptool ci-dessous.
B. Windows / Linux / macOS : esptool (ligne de commande)
pip install esptoolRéseau lent en Chine - utilisez un miroir :
pip install esptool -i https://pypi.tuna.tsinghua.edu.cn/simpleFlashez (COM27 est votre port ; Linux /dev/ttyACM0, macOS /dev/tty.usbmodem*) :
python -m esptool --chip esp32s3 -p COM27 -b 460800 write_flash 0x0 firmware/releases/sr_support_b_ptk_factory.binSi la connexion échoue, passez en mode téléchargement : maintenez BOOT, appuyez sur RST, relâchez BOOT.
2.5 PlatformIO (développeurs uniquement - compilation depuis les sources)
Ignorez cette section sauf si vous modifiez le code. Remarque : PlatformIO (y compris l'extension PlatformIO de VS Code) télécharge la plateforme espressif32 et la chaîne d'outils Xtensa à la première utilisation (~1 GB depuis le registre PlatformIO et GitHub). Sur de nombreux réseaux en Chine, c'est lent ou échoue et nécessite un proxy/VPN ; l'extension VS Code n'évite pas le téléchargement.
Le terminal étant dans le dossier SR-Support et (.venv) actif :
pip install platformioSous Windows, vous pouvez aussi lancer tools/install_platformio.ps1, qui installe dans ce même .venv. Vérifiez :
pio --versionLes anciennes versions du tutoriel installaient PlatformIO dans un
.venv-pioséparé ; il vit désormais dans l'unique.venv. Sipioest introuvable après une mise à jour, lancezpip install platformiodans le.venvactivé (ou relanceztools/install_platformio.ps1) ; l'ancien.venv-piopeut être supprimé.
2.6 Outils côté ordinateur et environnement MuJoCo (jumeau / mise à zéro / journaux)
Pas nécessaire pour le flashage. Installez-le lorsque vous utilisez l'outil de mise à zéro aux flèches, le jumeau en direct MuJoCo (tools/live_twin.py), la relecture de simulation ou les outils de journaux. Le terminal étant dans le dossier SR-Support et .venv actif, installez les dépendances (pyserial, numpy, MuJoCo 3.1+, gymnasium) :
pip install -r tools/requirements.txtSous Windows, vous pouvez aussi lancer tools/install_tools_env.ps1 (crée/réutilise .venv et installe le même ensemble). Sur un réseau lent en Chine, ajoutez le miroir Tsinghua -i https://pypi.tuna.tsinghua.edu.cn/simple ; la première installation télécharge quelques centaines de Mo.
Vérification : lancez l'auto-test de l'environnement (il charge et fait avancer MuJoCo, pas seulement les imports)
python tools/env_check.pyLa dernière ligne doit être env check: PASS, avec une sortie comme :
[ok] mujoco 3.16.0
[ok] model hardware\v1\robot_v1.xml: nq=9 nv=8 dt=0.0002s, 200 steps stable ...Sans carte branchée, [--] no serial port found est informatif et n'affecte pas le PASS.
Sous Linux, une erreur GLFW/OpenGL à l'ouverture de la fenêtre MuJoCo signifie des bibliothèques système manquantes : installez
libgl1etlibglew-dev(par ex.sudo apt install libgl1 libglew-dev). Les wheels MuJoCo Windows/macOS embarquent ce qu'il faut. La simulation et la relecturetraining/b_lineutilisent le même environnement - rien de plus à installer.
2.7 Connecter la carte et confirmer le port série
- Connectez la carte en USB-C ; sous Windows, lisez le numéro COM dans le Gestionnaire de périphériques, sous Linux c'est généralement
/dev/ttyACM0(ajoutez votre utilisateur au groupedialout), sous macOS généralement/dev/tty.usbmodem*; - Retenez le port - chaque
COM27des pages suivantes correspond à cette valeur ; - Un moniteur série ou
hw_monitor.pyoccupe le port ; fermez-le avant de flasher.
2.8 Liste de vérification
- [ ] le terminal est à la racine du dépôt et l'invite affiche
(.venv)(vérifiez avecpwd/Get-Location) ; - [ ]
firmware/releases/sr_support_b_ptk_factory.binexiste et se vérifie (sha256sum -c firmware/releases/SHA256SUMS) ; - [ ]
python -m esptool versionfonctionne, ou Flash Download Tool s'ouvre ; - [ ] le port série de la carte est visible ;
- [ ] (développeurs)
pio --versionfonctionne ; - [ ]
python tools/env_check.pyafficheenv check: PASS.
Ne continuez que lorsque les éléments dont vous avez besoin passent.

