Aggiornamento dei dispositivi ESP32
Usando il Meshtastic Web Flasher
Flash Device
-
Collega il tuo dispositivo
-
Visita flasher.meshtastic.org *richiede il browser Chrome o Edge
-
Segui le istruzioni

Collega e configura il dispositivo
Aggiornamento del firmware tramite CLI
Verifica della connettività
-
Usa firmware-tbeam0.7-X.X.X.xxxxxxx.bin per il T-Beam 0.7.
-
firmware-tbeam-X.X.X.xxxxxxx.bin è incompatibile.
Istruzioni per l'interfaccia a riga di comando
Installa il software prerequisito
Linux
python3 --version pip3 --version
|
sudo apt-get update sudo apt-get install python3
|
sudo apt-get install python3-pip
|
pip3 install --upgrade esptool
|
MacOS
brew -v
|
python3 --version pip3 --version
|
brew install python3
|
pip3 -v
|
pip3 install --upgrade esptool
|
Windows
-
Scarica e installa Python. Durante il processo di installazione, assicurati di selezionare l'opzione Aggiungi Python X.Y al PATH.
-
Scarica e installa Git Bash (o un altro shell adatto), ed esegui tutti i comandi successivi da quella shell.
py --version pip --version
|
pip3 install --upgrade esptool
|
Verifica la connettività con il Chip
-
Su Linux e macOS, potrebbe essere necessario dichiarare esplicitamente esptool come .py script. Usa il comando esptool.py chip_id per fare questo, a seconda del tuo ambiente.
-
Su Windows, devi dichiarare esplicitamente esptool come .py script usando il comando esptool.py chip_id per garantire il corretto funzionamento.
Comando
esptool chip_id
|
Output previsto
# Dovresti vedere un risultato simile a questo: mydir$ esptool chip_id esptool.py v2.6 Trovate 2 porte seriali Porta seriale /dev/ttyUSB0 Connessione in corso.... Rilevamento tipo di chip... ESP32 Il chip è ESP32D0WDQ6 (revisione 1) Caratteristiche: WiFi, BT, Dual Core, 240MHz, calibrazione VRef in efuse, Schema di codifica Nessuno MAC: 24:6f:28:b5:36:71 Caricamento stub in corso... Esecuzione dello stub... Stub in esecuzione... Avviso: ESP32 non ha Chip ID. Lettura MAC invece. MAC: 24:6f:28:b5:36:71 Reset hardware tramite pin RTS in corso...
|
Scarica Firmware
-
Naviga alla Meshtastic Downloads Page per ottenere l'ultimo firmware.
-
Scorri verso il basso fino alla sezione Firmware e scegli una delle seguenti opzioni in base alle tue preferenze:
-
Download Stable: Per versioni stabili e ben testate.
-
Download Alpha: Per versioni più recenti e sperimentali che includono le ultime funzionalità.
-
Una volta reindirizzato alla pagina di rilascio GitHub, scorri verso il basso fino alla sezione Assets e espandila.
-
Identifica il firmware appropriato per il tuo dispositivo in base alla sua architettura (ad esempio, firmware-esp32s3 per dispositivi basati su ESP32-S3 come l'Heltec V3).
-
Scarica il file e annota la sua posizione sul tuo sistema, che di solito si trova in ~/Downloads cartella.
Accedi alla directory del firmware
cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
|
Installa o aggiorna il firmware
Nota prima di iniziare:
Linux & macOS
./device-install.sh -f firmware-BOARD-VERSION.bin
|
./device-update.sh -f firmware-BOARD-VERSION-update.bin
|
Windows
device-install.bat -f firmware-BOARD-VERSION.bin
|
device-update.bat -f firmware-BOARD-VERSION-update.bin
|
Collega e configura il dispositivo
Flashare con un adattatore seriale esterno
Processo di Flash
-
A causa della carenza di chip in corso, dispositivi recentemente acquistati come il TTGO T-Beam possono essere dotati di chip adattatori USB a Seriali legacy o non standard, che possono risultare inaffidabili in alcune situazioni.
-
Alcuni dispositivi possono presentare chip USB a Seriale difettosi, causando problemi di comunicazione.
-
Dispositivi specifici, come il Hydra (target Meshtastic-DIY)
Adattatori USB Seriali

Collegare l'Adattatore al Dispositivo
-
Collega il pin RX dell'adattatore al pin TX del dispositivo.
-
Collega il pin TX dell'adattatore al pin RX del dispositivo.
-
Collega un pin GND dell'adattatore al pin GND del dispositivo.
-
Collega il pin 5V dell'adattatore al pin 5V del dispositivo (come illustrato) oppure il pin 3.3V dell'adattatore al pin 3.3V del dispositivo.
-
Collega GPIO 0 a GND sul dispositivo con un jumper. (Questo metterà il dispositivo in modalità flash all'accensione.) Esempio di cablaggio con un T-Beam.

-
Collega il dispositivo a una porta USB del computer.
-
Rimuovi il jumper che collega GPIO 0 a GND.

Flashare il Dispositivo

Risoluzione dei problemi nel processo di flashing
Collega e configura il dispositivo
Flashing dispositivi nRF52 & RP2040
-
Processo di aggiornamento firmware per dispositivi nRF52 e RP2040: I dispositivi basati su architetture nRF52 e RP2040 offrono un processo di aggiornamento firmware semplice che non richiede l'installazione di driver o software su nessuna piattaforma.
-
Drag & Drop: Questi dispositivi utilizzano il metodo di installazione Drag & Drop per installare le versioni del firmware. Basta trascinare il file del firmware sul dispositivo nel tuo esplora risorse.
-
Aggiornamenti Over-The-Air (OTA): I dispositivi nRF52 possono ricevere aggiornamenti firmware OTA da un dispositivo mobile tramite Bluetooth, permettendo aggiornamenti senza la necessità di connessioni fisiche.
-
Cancellazione di fabbrica: Prima di installare un nuovo firmware, potresti considerare di eseguire una cancellazione di fabbrica per eliminare eventuali dati esistenti che potrebbero cambiare formato o posizione tra le versioni.
-
Conversione da RAK4631-R a RAK4631: Se il tuo dispositivo non è fornito con il bootloader Arduino, dovrai eseguire una conversione per garantire la compatibilità.
-
Utilizzo del Raspberry Pi come strumento di flashing SWDIO: Se il tuo dispositivo non può essere flashato tramite USB o Bluetooth, un'opzione alternativa è utilizzare una connessione diretta SWDIO con un Raspberry Pi come strumento di flashing.
Aggiornamenti Firmware Drag-and-Drop per nRF52 & RP2040
Flash Device
-
Ora puoi utilizzare il Meshtastic Web Flasher per scaricare e trasferire il firmware ai tuoi dispositivi basati su nRF52 o RP2040. In alternativa, puoi seguire le istruzioni di seguito per scaricare e installare il firmware.
-
Se hai recentemente completato una Factory Erase, il tuo dispositivo potrebbe avviarsi automaticamente in modalità bootloader. Puoi quindi procedere direttamente a "Copia il firmware appropriato..." per il tuo dispositivo specifico qui sotto:
nRF52
-
Scarica e decomprimi l'ultimo firmware da Meshtastic Downloads.
-
Collega il tuo dispositivo al computer usando un cavo dati USB.
-
Premi due volte il pulsante di reset sul tuo dispositivo (questo entrerà in modalità bootloader).
-
Una nuova unità verrà montata sul tuo computer (compatibile con Windows, Mac, Linux o Android).
-
Apri questa unità, dove dovresti trovare tre file: CURRENT.UF2, INDEX.HTM, e INFO_UF2.TXT.
-
Copia il file firmware appropriato (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) dalla cartella di rilascio a questa unità.
-
Dopo che il file ha terminato la copia, il dispositivo si riavvierà e installerà il firmware Meshtastic.
RP2040
-
Scarica e decomprimi l'ultimo firmware da Meshtastic Downloads.
-
Premi e tieni premuto il pulsante BOOTSEL, quindi collega il dispositivo al computer tramite un cavo USB.
-
Una nuova unità verrà montata sul tuo computer (compatibile con Windows, Mac, Linux o Android).
-
Apri questa unità, dove dovresti trovare due file: INDEX.HTM e INFO_UF2.TXT.
-
Copia il file firmware appropriato (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) dalla cartella di rilascio a questa unità.
-
Dopo che il file ha terminato la copia, il dispositivo si riavvierà e installerà il firmware Meshtastic.
Possibili casi limite di flashing
-
Le versioni più vecchie del firmware Meshtastic possono conservare dati obsoleti, che possono causare il blocco dei dispositivi in un ciclo di crash durante l'avvio. Se riscontri problemi durante l'aggiornamento del tuo dispositivo nRF52 da una versione precedente di Meshtastic, potrebbe essere necessario eseguire un reset completo di fabbrica della memoria flash interna. Segui la guida per cancellare completamente il tuo nRF52 prima di procedere a caricare il firmware.
Collega e configura il dispositivo
Aggiornamenti Firmware Over-the-Air (OTA) per nRF52
Android
-
Scarica la versione del firmware che desideri installare dalla Meshtastic Download Page o da Meshtastic GitHub.
-
Decomprimi la cartella del firmware.
-
Apri la nRF Connect App e seleziona CONNECT sul tuo dispositivo dalla scheda SCANNER.
-
Se l'interfaccia mostra DISCONNECT nell'angolo in alto a destra, procedi al passo 5. Se dice CONNECT, seleziona CONNECT.
-
Tocca l'icona DFU nell'angolo in alto a destra dello schermo.
-
Verifica che sia selezionato "Distribution Packet (ZIP)", quindi seleziona OK.
-
Scegli il file firmware del dispositivo appropriato (che terminerà con -ota.zip).
-
L'aggiornamento inizierà automaticamente (nota che questo processo potrebbe essere lento).
-
Una volta completato l'aggiornamento, il dispositivo si riavvierà automaticamente.
Apple
-
Scarica la versione del firmware che desideri installare dalla Meshtastic Download Page, da Meshtastic GitHub, o direttamente tramite l'app iOS/iPadOS.
-
Decomprimi la cartella del firmware.
-
Apri la nRF DFU App e seleziona il file firmware corretto del dispositivo (che termina con -ota.zip).
-
Connettiti al tuo dispositivo.
-
Carica il firmware.
-
Vai alle impostazioni e abilita "Packets Receipt Notification."
-
Modifica "Numero di pacchetti" a un valore inferiore; alcuni utenti hanno avuto successo con un'impostazione di "5".
Reset di fabbrica per dispositivi nRF52/RP2040
-
Meshtastic utilizza la libreria littlefs per memorizzare la configurazione, i log e altri dati nella memoria flash interna dei dispositivi nRF52 e RP2040. È importante notare che l'aggiornamento del firmware non cancella questi dati aggiuntivi, il che può causare problemi se il formato e la posizione dei dati cambiano tra le versioni.
-
Ora puoi usare il Meshtastic Web Flasher per cancellare completamente i tuoi dispositivi basati su nRF52 o RP2040. Visita il flasher, seleziona la tua scheda e clicca sull'icona del cestino a destra del pulsante Flash. Questo aprirà una finestra per avviare la procedura di cancellazione. In alternativa, puoi seguire le istruzioni qui sotto.
nRF52
-
Scarica e decomprimi l'ultimo firmware dalla pagina di download di Meshtastic.
-
Collega il tuo dispositivo al computer usando un cavo dati USB.
-
Fai doppio clic sul pulsante di reset del tuo dispositivo per entrare in modalità bootloader.
-
Una nuova unità verrà montata sul tuo computer (questo vale per Windows, Mac o Linux).
-
Apri questa unità, e dovresti vedere tre file: CURRENT.UF2, INDEX.HTM, e INFO_UF2.TXT.
-
Apri il INFO_UF2.TXT file in un editor di testo e annota il SoftDevice valore.
-
Individua il file incluso nel firmware scaricato che corrisponde al numero della versione principale del tuo SoftDevice (sia 7.x.x che 6.x.x). Usa uno dei due Meshtastic_nRF52_factory_erase_v3_S140_7.3.0.uf2 o Meshtastic_nRF52_factory_erase_v3_S140_6.1.0.uf2, e copialo sulla nuova unità. Il dispositivo dovrebbe quindi riavviarsi.
-
Con il Meshtastic CLI installato, apri il tuo Terminale o Console ed inserisci il comando: meshtastic --noproto.
-
Dovresti vedere il messaggio: Formattazione... Fatto.
RP2040
-
Scarica il flash_nuke.uf2 file sul tuo computer.
-
Premi e tieni premuto il pulsante BOOTSEL, quindi collega la scheda al computer tramite un cavo USB.
-
La scheda dovrebbe ora apparire come dispositivo di archiviazione di massa sul tuo computer, etichettata come RPI-RP2.
-
Copia il file flash_nuke.uf2 su questo dispositivo.
-
La scheda si riavvierà automaticamente e la memoria flash verrà cancellata.
Conversione da RAK4631-R a RAK4631
Aggiornamento firmware dispositivo USB (DFU)
-
Installa Python
-
Installa adafruit-nrfutil
pip3 install adafruit-nrfutil
|
-
Scarica il bootloader necessario: WisCore_RAK4631_Board_Bootloader.zip.
-
Collega il tuo dispositivo RAK al computer tramite USB.
-
Flash del bootloader.
adafruit-nrfutil --verbose dfu serial --package ./WisCore_RAK4631_Board_Bootloader.zip -p /dev/ttyACM0 -b 115200 --singlebank --touch 1200
|
-
Dopo di ciò, continua con le normali istruzioni di flashing.
Passaggi aggiuntivi RUI3
Porta seriale COM11 toccata Porta seriale COM11 aperta Avvio dell'aggiornamento DFU di tipo 2, dimensione SoftDevice: 0, dimensione bootloader: 39000, dimensione applicazione: 0 Invio del pacchetto di avvio DFU Timeout in attesa di conferma dal dispositivo. Aggiornamento del target fallito. Errore: Nessun dato ricevuto sulla porta seriale. Impossibile procedere.
|
Debugger
pip3 install pyocd
|
-
Scarica il bootloader necessario: WisCore_RAK4631_Board_Bootloader.hex.
-
Collega il RAKDAP come indicato di seguito:

-
Flash del bootloader
pyocd flash -t nrf52840 .\WisCore_RAK4631_Board_Bootloader.hex |
-
Procedi con le istruzioni di flashing standard.
Aggiornamento o recupero del bootloader sui dispositivi nRF52
Metodo 1: Aggiornamento con il file UF2 (Consigliato)
-
Scarica il file UF2 Bootloader corretto.
-
Collega il tuo dispositivo al computer usando un cavo USB.
-
Attiva la modalità bootloader premendo rapidamente due volte il pulsante RESET sul tuo dispositivo. Per il Seeed Tracker 1000-E, tieni premuto il pulsante utente, quindi collega rapidamente il cavo USB alla porta MagSafe due volte. Il dispositivo dovrebbe apparire come un'unità rimovibile sul tuo computer.
-
Trascina e rilascia il file UF2 che hai scaricato nell'unità rimovibile. Il dispositivo aggiornerà automaticamente il bootloader e si resetterà.
-
Una volta che il dispositivo si resetta, l'aggiornamento è completo. Il tuo dispositivo ora funziona con la versione più recente del bootloader, e puoi procedere con il flashing del firmware.
Metodo 2: Utilizzo di adafruit-nrfutil
-
Lilygo T-Echo SHA256: 85d8a334bbf82802d712e183f29ec5215f06786ca88914687c437aceab75d9cf
-
RAK4631 SHA256: 4a216ad2be8be23b80371a11753677c850c5711d3b85129390a416fc47ea0910
-
Seeed Tracker 1000-E SHA256: 8c69f0d43a7aac925055451d7262682d6926d4cfb7ea8240b466dc8f16a692ba
-
Generic Meshtastic 6.1.1 for DIY SHA256: ecebecea849ab79d09517dd4f6ff98de5647fe275b0b4d525501e6c29cb5a586
-
Generic Meshtastic 7.3.0 for DIY SHA256: 9a38edf4e974a6f705c41b296499a4fc57682ec9bb686eecd9f3d8d02fc6ffcf
-
Apri un terminale o prompt dei comandi e installa adafruit-nrfutil eseguendo il seguente comando:
pip install adafruit-nrfutil |
-
Ottieni il pacchetto ZIP corretto.
-
Collega il tuo dispositivo al computer usando un cavo USB.
-
Nel terminale o nel prompt dei comandi, naviga nella directory dove hai scaricato il pacchetto ZIP del bootloader ed esegui il seguente comando. Assicurati di sostituire /dev/ttyACM0 con la porta corretta per il tuo dispositivo (gli utenti Windows possono usare COMx):
adafruit-nrfutil --singlebank --touch 1200 --verbose dfu serial --package
|
-
Una volta completato il processo, l'aggiornamento è terminato. Il tuo dispositivo ora funziona con l'ultima versione del bootloader, permettendoti di procedere con il flashing del firmware.
Metodo 3: Usare un Debugger
Uso di SWDIO per il Flashing con un Raspberry Pi
Configurazione dei Cavi
Installa il Software OpenOCD
$ sudo apt update $ sudo apt install libtool autoconf automake texinfo telnet gdb-multiarch git $ git clone git://repo.or.cz/openocd.git $ cd openocd/ $ ./bootstrap $ ./configure --enable-bcm2835gpio $ make -j4 $ sudo make install
|
Verifica Connessione
$ openocd -f ./openocd/tcl/interface/raspberrypi-native.cfg -c "transport select swd" -f openocd/tcl/target/nrf52.cfg -s tcl
|
Open On-Chip Debugger 0.12.0+dev-00633-gad87fbd1c Licenziato sotto GNU GPL v2 Per segnalazioni di bug, leggi http://openocd.org/doc/doxygen/bugs.html srst_only separate srst_gates_jtag srst_push_pull connect_deassert_srst swd Info : In ascolto sulla porta 6666 per connessioni tcl Info : In ascolto sulla porta 4444 per connessioni telnet Info : driver BCM2835 GPIO JTAG/SWD bitbang Info : velocità clock 100 kHz Info : SWD DPIDR 0x2ba01477 Info : [nrf52.cpu] processore Cortex-M4 r0p1 rilevato Info : [nrf52.cpu] il target ha 6 breakpoint, 4 watchpoint Info : [nrf52.cpu] Esame riuscito Info : [nrf52.cpu] starting gdb server on 3333 Info : Listening on port 3333 for gdb connections Info : accepting 'telnet' connection on tcp/4444
|
Scarica Firmware
Programma Firmware
$ telnet 127.0.0.1 4444 Tentativo di connessione a 127.0.0.1... Connesso a 127.0.0.1. Il carattere di escape è '^]'. Apri On-Chip Debugger > init > reset init > halt > nrf5 mass_erase > program firmware.hex verify > reset > exit 0
|
Stabilisci connessione