02 Preparazione dell'ambiente (venv, strumenti di flash e firmware)
Completa questa pagina prima di iniziare. I comandi presuppongono la radice del repository - la cartella
SR-Supportscaricata da GitHub (un archivio zip estratto può chiamarsiSR-Support-main; è la cartella che contienefirmware/etools/). Ogni comando Python va eseguito nel terminale con.venvattivato (2.3). Il flash del firmware precompilato non richiede PlatformIO né compilazione; l'ambiente per sviluppatori (2.5) serve solo per modificare il codice.
2.1 Requisiti
- Windows, Linux o macOS (ogni comando seguente è riportato per tutti e tre dove rilevante);
- un cavo USB dati (un cavo di sola ricarica non enumera la scheda);
- ESP32-S3-DevKitC-1 (8 MB di flash).
2.2 Ottenere il codice e il firmware precompilato
Clona il repository (o decomprimi l'archivio fornito) ed esegui i comandi successivi dalla radice del repository:
bashgit clone https://github.com/Juxi-Technology/SR-Support.git cd SR-Support(Il repository è privato: richiedi prima l'accesso.)
L'immagine precompilata si trova in
firmware/releases/:File Scopo sr_support_b_ptk_factory.binfirmware principale (flash a 0x0; usato anche per la centratura in assemblaggio: accendi fino allo zero del firmware, eopzionale)SHA256SUMSsomme di controllo
2.3 Creare e attivare l'ambiente virtuale (.venv)
Tutti gli strumenti Python lato computer (esptool, PlatformIO, gli strumenti MuJoCo) vanno nella stessa .venv locale del progetto, e tale .venv deve essere creata dentro la cartella SR-Support scaricata da GitHub (un archivio zip estratto può chiamarsi SR-Support-main; di nuovo, la cartella che contiene firmware/ e tools/).
Entra prima in quella cartella: i comandi seguenti vanno eseguiti lì:
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- Non sei sicuro di essere nel posto giusto? Esegui
dir; deve elencarefirmware,tools,tutorial; - senza Python 3.12, usa
py -3 -m venv .venv(va bene dalla 3.10 in su); - se PowerShell rifiuta di eseguire script, esegui
Set-ExecutionPolicy -Scope Process Bypassin questa finestra e riattiva; .\.venv\Scripts\Activate.ps1è lo script di attivazione per PowerShell creato da venv: il.\iniziale significa "esegui lo script nella cartella corrente" ed è obbligatorio in PowerShell (il sempliceActivate.ps1non verrà trovato). Le altre shell usano il proprio file:- cmd.exe:
.venv\Scripts\activate.bat - Git Bash:
source .venv/Scripts/activate - Per uscire dalla venv:
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.batCome distinguere le shell: il prompt di cmd è simile a
C:\...>, quello di PowerShell aPS C:\...>. Il tutorial usa PowerShell per impostazione predefinita; in cmd basta sostituire il comando di attivazione conactivate.bat, il resto è identico. Non servono privilegi di amministratore.Il file di attivazione deve corrispondere alla shell: cmd usa
activate.bat, PowerShell usaActivate.ps1. Eseguire il.ps1da cmd non attiva la finestra corrente (di solito non succede nulla, oppure si apre una finestra separata). Assicurati anche che.venvesista già (dirdeve elencare la cartella.venv); altrimenti esegui primapy -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- Non sei sicuro di essere nel posto giusto? Esegui
ls; deve elencarefirmware,tools,tutorial.
Dopo l'attivazione il prompt mostra (.venv). Ogni comando seguente e nelle pagine successive del tutorial va eseguito in questo terminale attivato; riattiva dopo aver aperto una nuova finestra. Senza attivazione pip / python puntano all'installazione di sistema e le installazioni o le esecuzioni falliranno.
Conferma che l'attivazione abbia funzionato:
- Windows:
where python- la prima riga deve essere...\SR-Support\.venv\Scripts\python.exe; - Linux / macOS:
which python- deve essere.../SR-Support/.venv/bin/python.
Schermo ripulito dopo l'attivazione in cmd? Il file
activate.batstandard cambia temporaneamente la code page della console (chcp 65001) e alcuni terminali ridisegnano lo schermo: non è un nuovo terminale. Se il nuovo prompt inizia con(.venv)ewhere pythonpunta dentro.venv, l'attivazione è riuscita. Per evitare il ridisegno, usaActivate.ps1di PowerShell (non tocca la code page) oppure richiama.venv\Scripts\python.exesenza attivare.
Requisito sulla cartella (importante):
.venvdeve trovarsi nella cartellaSR-Support(la radice del repository), mai in una sottocartella. I comandi di creazione/attivazione sopra usano percorsi relativi, quindi vanno eseguiti da quella cartella - dopo aver aperto un nuovo terminale, entraci (PowerShell:cd D:\Project\SR-Support; cmd:cd /d D:\Project\SR-Support, con il tuo percorso) prima di attivare, oppure usa un percorso assoluto comeC:\path\SR-Support\.venv\Scripts\Activate.ps1/source /path/SR-Support/.venv/bin/activate.Una volta attivata, puoi fare
cdin qualsiasi sottocartella epython/pip/piopuntano ancora a quella.venv; ma i percorsi del tutorialtools/...,firmware/...ehardware/v1/...sono relativi, quindi eseguili dalla cartellaSR-Support. La venv è vincolata al percorso in cui è stata creata: dopo aver spostato o rinominato il repository, elimina.venve ricreala.
2.4 Strumenti di flash (per tutti i clienti - scegline uno)
Un'immagine precompilata è un unico bin da scrivere in flash a 0x0: niente PlatformIO, nessun download di toolchain. Assicurati che il terminale sia nella cartella SR-Support e che il prompt mostri (.venv).
A. GUI di Windows: Espressif Flash Download Tool
- Apri la pagina ufficiale "Other Tools" di Espressif e scarica Flash Download Tools: https://www.espressif.com/en/support/download/other-tools
- Avvialo; seleziona ESP32-S3, carica
firmware/releases/sr_support_b_ptk_factory.binall'indirizzo0x0, scegli la porta e fai clic su START.
Flash Download Tool è solo per Windows; su Linux/macOS usa esptool qui sotto.
B. Windows / Linux / macOS: esptool (riga di comando)
pip install esptoolRete lenta in Cina: usa un mirror:
pip install esptool -i https://pypi.tuna.tsinghua.edu.cn/simpleScrivi in flash (COM27 è la tua porta; 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.binSe la connessione fallisce, entra in modalità download: tieni premuto BOOT, premi RST, rilascia BOOT.
2.5 PlatformIO (solo sviluppatori - build da sorgente)
Salta questa sezione a meno che tu non modifichi il codice. Nota: PlatformIO (inclusa l'estensione PlatformIO per VS Code) scarica la piattaforma espressif32 e la toolchain Xtensa al primo utilizzo (~1 GB dal registry PlatformIO e da GitHub). Su molte reti in Cina è lento o fallisce e richiede un proxy/VPN; l'estensione per VS Code non evita il download.
Con il terminale nella cartella SR-Support e (.venv) attiva:
pip install platformioSu Windows puoi anche eseguire tools/install_platformio.ps1, che installa nella stessa .venv. Verifica:
pio --versionLe versioni precedenti del tutorial installavano PlatformIO in una
.venv-pioseparata; ora vive nell'unica.venv. Se dopo l'aggiornamentopionon viene trovato, eseguipip install platformionella.venvattivata (o rieseguitools/install_platformio.ps1); la vecchia.venv-piopuò essere eliminata.
2.6 Strumenti lato computer e ambiente MuJoCo (gemello / azzeramento / log)
Non necessario per il flash. Installalo quando usi lo strumento di azzeramento con i tasti freccia, il gemello digitale MuJoCo in tempo reale (tools/live_twin.py), il replay della simulazione o gli strumenti di log. Con il terminale nella cartella SR-Support e .venv attiva, installa le dipendenze (pyserial, numpy, MuJoCo 3.1+, gymnasium):
pip install -r tools/requirements.txtSu Windows puoi anche eseguire tools/install_tools_env.ps1 (crea/riusa .venv e installa lo stesso set). Su una rete lenta in Cina aggiungi il mirror Tsinghua -i https://pypi.tuna.tsinghua.edu.cn/simple; la prima installazione scarica qualche centinaio di MB.
Verifica: esegui l'auto-test dell'ambiente (carica e fa avanzare MuJoCo, non solo importa)
python tools/env_check.pyL'ultima riga deve essere env check: PASS, con un output simile a:
[ok] mujoco 3.16.0
[ok] model hardware\v1\robot_v1.xml: nq=9 nv=8 dt=0.0002s, 200 steps stable ...Senza scheda collegata, [--] no serial port found è informativo e non influisce sul PASS.
Su Linux, un errore GLFW/OpenGL all'apertura della finestra MuJoCo indica librerie di sistema mancanti: installa
libgl1elibglew-dev(ad es.sudo apt install libgl1 libglew-dev). I wheel MuJoCo per Windows/macOS includono il necessario. La simulazione e il replay ditraining/b_lineusano lo stesso ambiente - niente da installare in più.
2.7 Collegare la scheda e confermare la porta seriale
- Collega via USB-C; su Windows leggi il numero COM in Gestione periferiche, su Linux di solito è
/dev/ttyACM0(aggiungi il tuo utente al gruppodialout), su macOS di solito/dev/tty.usbmodem*; - ricorda la porta: ogni
COM27nelle pagine successive è questo valore; - un monitor seriale o
hw_monitor.pyoccupano la porta; chiudilo prima del flash.
2.8 Lista di controllo
- [ ] il terminale è nella radice del repository e il prompt mostra
(.venv)(verifica conpwd/Get-Location); - [ ]
firmware/releases/sr_support_b_ptk_factory.binesiste e si verifica (sha256sum -c firmware/releases/SHA256SUMS); - [ ]
python -m esptool versionfunziona, oppure Flash Download Tool si apre; - [ ] la porta seriale della scheda è visibile;
- [ ] (sviluppatori)
pio --versionfunziona; - [ ]
python tools/env_check.pystampaenv check: PASS.
Prosegui solo quando gli elementi che ti servono sono soddisfatti.

