Guida Meshtastic - Come Flashare il Firmware Meshtastic

⚡ Flash dei dispositivi ESP32 con firmware Meshtastic

🔧 Il flash dei dispositivi ESP32 con il firmware Meshtastic può essere effettuato con diversi metodi. Il metodo più raccomandato è il 🌐 Web Flasher, che funziona con browser Chrome o Edge. È 👌 facile da usare ed ideale per principianti che vogliono flashare rapidamente le loro schede ESP32. Lo 💻 script CLI è un metodo manuale per il flash del firmware ed è più adatto per utenti avanzati familiari con gli strumenti da linea di comando. Se sia il Web Flasher che lo script CLI falliscono, usare un 🔌 adattatore seriale esterno è un'opzione, ma dovrebbe essere tentata solo come ultima risorsa ⚠️ a causa della sua complessità.

📡 Prima di accendere la tua radio Meshtastic basata su ESP32, collega sempre l'antenna. Operare senza antenna può danneggiare il chip radio. Per aggiornare il client web Meshtastic su meshtastic.local, è necessario un reset completo e una reinstallazione del dispositivo. Questo garantisce di ottenere la ultima interfaccia web inclusa. Se vuoi mantenere le tue impostazioni, 💾 esporta la configurazione prima di reinstallare e importala dopo.

⚙️ Il flash del firmware ESP32 è un passo fondamentale per configurare il tuo dispositivo Meshtastic. Che tu usi il 🌐 Web Flasher, lo 💻 script CLI o il 🔌 adattatore seriale, assicurati di seguire le precauzioni di sicurezza e scegliere il metodo che meglio si adatta al tuo livello di esperienza.

🚀 Flash del Dispositivo

  1. 🔗 Collega il tuo dispositivo
  2. 🌍 Visita flasher.meshtastic.org *richiede il browser Chrome o Edge
  3. 📖 Seguire le istruzioni

🔧 Collegare e Configurare il Dispositivo

✅ Una volta che hai caricato il firmware Meshtastic sul dispositivo, puoi procedere alla configurazione iniziale.

💻 Flash del Firmware tramite CLI

🔍 Verifica della connettività

📡 Prima di eseguire il flashing del tuo dispositivo ESP32, verifica la connettività con il dispositivo che stai per flashare. Segui i passaggi indicati di seguito per controllare la connessione del dispositivo e, se necessario, installa i driver USB appropriati per la tua scheda ESP32. Se devi installare i driver, ricorda di 🔄 riavviare il computer successivamente per confermare che l'installazione del driver sia completa.

⚠️ NOTA: La scheda T-Beam 0.7 è una versione precedente della scheda T-Beam ESP32. A causa di modifiche progettuali nelle iterazioni successive, questa scheda richiede un file firmware specifico diverso da quelli usati dalle altre versioni della scheda T-Beam. Assicurati di selezionare il firmware corretto quando esegui il flashing del tuo ESP32 T-Beam 0.7 per garantire il corretto funzionamento.

  • 📂 Usa firmware-tbeam0.7-X.X.X.xxxxxxx.bin per il T-Beam 0.7.
  • firmware-tbeam-X.X.X.xxxxxxx.bin non è compatibile.
📖 Per tutte le altre schede T-Beam, consulta la sezione risorse per selezionare il firmware corretto.

📜 Istruzioni per l'interfaccia a riga di comando

🛠 Installa il software prerequisito
🐧 Linux
🔎 Verifica se hai python3 e pip installato usando il seguente comando

🐍 python3 --version

📦 pip3 --version

⚙️ Se python3 non è installato, puoi installarlo usando

🔄 sudo apt-get update

⬇️ sudo apt-get install python3

⚙️ Se pip non è installato, puoi installarlo usando
⬇️ sudo apt-get install python3-pip
⚙️ Installa esptool
⬇️ pip3 install --upgrade esptool
🍏 MacOS
💻 OS X viene fornito con Python2.7 preinstallato, ma non include pip. Le seguenti istruzioni usano 🍺 Homebrew per installare Python3, che include pip3. Su macOS, userai pip3 invece di pip.
ℹ️ NOTA: Controlla se hai Homebrew installato con il seguente comando. Se non è installato, segui le istruzioni sul sito web di Homebrew prima di continuare.
🔎 brew -v
🔎 Verifica se hai python3 e pip installato usando il seguente comando

🐍 python3 --version

📦 pip3 --version

⚙️ Se python3 non sia installato, puoi installarlo usando il comando
⬇️ brew install python3
✅ Verifica che pip3 è stato installato insieme a python3
📦 pip3 -v
⚙️ Installa esptool
⬇️ 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 quel shell.
🔎 Verifica se hai python3 e pip installato usando il seguente comando

🐍 py --version

📦 pip --version

⚙️ Installa esptool
⬇️ pip3 install --upgrade esptool
🔗 Verifica la connettività con il Chip
  • 🐧 Su Linux e macOS, potresti dover 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.
🔌 Collega la radio al tuo computer con un cavo USB dati. Usa il seguente comando per verificare che il tuo dispositivo stia comunicando con il computer:
💻 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 dello stub...

▶️ Esecuzione dello stub...

✅ Stub in esecuzione...

⚠️ Attenzione: ESP32 non ha Chip ID. Lettura

🔑 MAC invece. MAC: 24:6f:28:b5:36:71

🔄 Reset hard tramite pin RTS in corso...

⬇️ Scarica il Firmware
  • 🌐 Vai alla Pagina Download Meshtastic per ottenere il firmware più recente.
  • 📂 Scorri verso il basso fino alla sezione Firmware e scegli una delle seguenti opzioni in base alle tue preferenze:
  1. Scarica Stable: Per versioni stabili e ben testate.
  1. 🧪 Scarica Alpha: per versioni più recenti e sperimentali che includono le funzionalità più recenti.
  • 📄 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 nella tua ~/Downloads cartella.
📂 Accedi alla Directory del Firmware
💻 Apri un terminale e spostati nella directory dove è stato scaricato il firmware (usando il cd comando). Il nome della cartella di solito corrisponde all'architettura e alla versione del firmware indicata nel file zip. Per esempio:
📂 cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
⚠️ NOTA: Assicurati di sostituire esp32s3 e il numero di versione con i valori corrispondenti al file che hai scaricato.
⚡ Installa o Aggiorna il Firmware
🛠 Ora, segui le istruzioni qui sotto per il tuo sistema operativo per installare o aggiornare il firmware per la tua scheda specifica:
📌 Nota prima di iniziare:

⚠️ Fai estrema attenzione a installare il file firmware corretto per la tua scheda ESP32. In particolare, il molto usato radio T-BEAM di TTGO non è chiamato TTGO-Lora, che è una diversa scheda ESP32. Pertanto, non flashare il build firmware TTGO-Lora su un T-BEAM, poiché non funzionerà correttamente e potrebbe causare problemi al tuo dispositivo ESP32.

❌ Se installi il firmware sbagliato per la tua scheda ESP32, il processo di flashing potrebbe sembrare completato con successo, ma il dispositivo potrebbe diventare non rispondente, mostrando uno schermo vuoto se presente. Assicurati sempre di flashare la versione corretta del firmware per il tuo specifico hardware ESP32.

⚡ Nota che mentre questi dispositivi basati su ESP32 sono generalmente robusti e il danneggiamento non è garantito, c'è il rischio di danni al modulo radio integrato e alle periferiche se le direzioni dei pin GPIO sono configurate in modo errato durante il flash del firmware. La selezione corretta del firmware è fondamentale per mantenere la funzionalità e la sicurezza del tuo dispositivo ESP32 Meshtastic.

🐧 Linux & 🍏 macOS
⬇️ Installa
💻 ./device-install.sh -f firmware-BOARD-VERSION.bin
⬇️ Scarica il Firmware
  • 🌐 Vai alla Pagina Download Meshtastic per ottenere il firmware più recente.
  • 📂 Scorri verso il basso fino alla sezione Firmware e scegli una delle seguenti opzioni:
  1. Scarica Stable: Per versioni stabili e ben testate.
  2. 🧪 Scarica Alpha: Per versioni sperimentali con le ultime funzionalità.
  • 📄 Nella pagina di rilascio GitHub, scorri verso il basso fino ad Assets e espandila.
  • 🔎 Identifica il firmware corretto per il tuo dispositivo (ad es. firmware-esp32s3 per schede ESP32-S3).
  • 💾 Scarica il file e annota la sua posizione (di solito ~/Downloads).
📂 Accedi alla Directory del Firmware
💻 Apri un terminale e vai nella directory dove hai scaricato il firmware:
📂 cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
⚠️ NOTA: Sostituisci esp32s3 e la versione con il tuo file reale.
⚡ Installa o Aggiorna il Firmware
🛠 Segui le istruzioni qui sotto per il tuo sistema operativo:
📌 Importante:

⚠️ Installa sempre il firmware corretto per la tua scheda ESP32. Non confondere T-BEAM con TTGO-Lora.

❌ Il firmware sbagliato può essere flashato ma lasciare il dispositivo non rispondente (schermo vuoto).

⚡ Configurazioni GPIO errate durante il flashing possono danneggiare il modulo radio. Scegli con attenzione.

🐧 Linux & 🍏 macOS
⬇️ Installa
💻 ./device-install.sh -f firmware-BOARD-VERSION.bin
🔄 Aggiorna
💻 ./device-update.sh -f firmware-BOARD-VERSION-update.bin
🌐 Usa --web per includere il Web Client incorporato.
🪟 Windows
⬇️ Installa
💻 esptool.exe --chip esp32 write_flash -z 0x1000 firmware-BOARD-VERSION.bin
🔄 Aggiorna
💻 esptool.exe --chip esp32 write_flash -z 0x1000 firmware-BOARD-VERSION-update.bin
💻 device-install.bat -f firmware-BOARD-VERSION.bin
🔄 Aggiorna
💻 device-update.bat -f firmware-BOARD-VERSION-update.bin
🌐 Usa il --web opzione per incorporare il Web Client integrato durante l'installazione del firmware.

🔌 Collega e configura il dispositivo

✅ Una volta che hai flashato con successo il firmware Meshtastic sul dispositivo, puoi procedere con la configurazione iniziale.

🔧 Flashing con un adattatore seriale esterno

ℹ️ NOTA: Queste informazioni saranno probabilmente utili solo se hai già tentato di seguire i prerequisiti e i processi descritti in manually flashing

⚙️ Processo di flashing

📌 Situazioni che possono richiedere l'uso di un adattatore USB to Serial esterno:
  • ⚠️ A causa della carenza di chip in corso, dispositivi recentemente acquisiti come il TTGO T-Beam potrebbero essere dotati di chip USB to Serial adapter legacy o non standard, che possono risultare inaffidabili in alcune situazioni.
  • ❌ Alcuni dispositivi possono presentare chip USB to Serial difettosi, causando problemi di comunicazione.
  • 🔗 Dispositivi specifici, come il Hydra (target Meshtastic-DIY)
🔌 Adattatori seriali USB

🛠 Sono disponibili numerose opzioni di adattatori ESP32 sul mercato, ma è consigliabile scegliere un adattatore che utilizzi il chip Silicon Labs CP2102, noto per la sua affidabilità e come standard industriale per il flashing ESP32. L'adattatore basato su CP2102 garantisce una stabile comunicazione USB-seriale, essenziale per un flashing del firmware di successo.

🔌 Inizia collegando il adattatore CP2102 al tuo computer senza collegare alcun dispositivo ESP32 in questo momento. Assicurati che i necessari driver USB per l'adattatore siano installati sul tuo computer. Per i utenti Windows, i corretti driver CP2102 dovrebbero generalmente installarsi automaticamente, consentendo un agevole rilevamento del dispositivo ESP32 e un affidabile upload del firmware.

Collegare l'adattatore al dispositivo
ℹ️ NOTA: Esistono diversi metodi per collegare i pin dell'adattatore al dispositivo target, inclusi la pressione di jumper contro i contatti o l'uso di pogo pin jigs. Questo tutorial evidenzia l'uso di header Dupont offset saldati sui pin GPIO rilevanti e collegati con jumper.
⚠️ Disconnetti il tuo adattatore USB a seriale dal computer prima di iniziare questo processo.
  1. 🔄 Collega il pin RX dell'adattatore al pin TX del dispositivo.
  2. 🔄 Collega il pin TX dell'adattatore al pin RX del dispositivo.
  3. ⚡ Collega un pin GND dell'adattatore al pin GND del dispositivo.
  4. 🔋 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.
  5. 🟢 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.
  1. 🔌 Collega il dispositivo a una porta USB del computer.
  2. ❎ Rimuovi il jumper che collega GPIO 0 a GND.
💾 Flash del dispositivo
Dopo aver completato i passaggi sopra, il tuo dispositivo dovrebbe essere in modalità flash. Ora puoi usare il metodo manuale per flashare il tuo dispositivo.
🔄 Una volta terminato il processo di flashing, resetta il dispositivo (usando il pulsante RST se disponibile). Se hai installato il Meshtastic Python CLI, puoi eseguire meshtastic --noproto per riconnetterti al dispositivo tramite l'adattatore e visualizzare l'output seriale per assicurarti che Meshtastic sia stato installato correttamente.
🛠 Risoluzione dei problemi del processo di flashing
⚠️ Potresti incontrare un errore di permesso sulla porta COM durante l'esecuzione degli script manuali di installazione del dispositivo, causato da vari problemi.
💡 Per risolvere questo problema, potresti dover eseguire il processo come amministratore, assicurarti che nessun altro software, come Cura, stia monopolizzando le porte COM, oppure provare a riavviare il sistema.

🔌 Collega e configura il dispositivo

✅ Una volta che hai flashato il firmware Meshtastic sul dispositivo, puoi procedere alla configurazione iniziale.

📡 Flashing dispositivi nRF52 & RP2040

  • ⚡ Processo di aggiornamento firmware per dispositivi nRF52 e RP2040: I dispositivi basati su nRF52 e RP2040 architetture offrono un processo di aggiornamento firmware semplice che non richiede alcun driver o installazione software su nessuna piattaforma.
  • 📂 Trascina e rilascia: 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 connessioni fisiche.
  • 🧹 Factory Erase: Prima di installare un nuovo firmware, potresti considerare di eseguire un Factory Erase per cancellare 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 garantirne la compatibilità.

  • 🛠 Uso del Raspberry Pi come strumento di flashing SWDIO: Se il tuo dispositivo non può essere flashato via USB o Bluetooth, un'opzione alternativa è usare una connessione diretta SWDIO con un Raspberry Pi come strumento di flashing.

📂 Aggiornamenti firmware Drag-and-Drop per nRF52 & RP2040

💻 Flash del dispositivo

  • 🌐 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 qui sotto per scaricare e installare il firmware.
  • 🧹 Se hai recentemente eseguito un 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
  1. ⬇️ Scarica e decomprimi l'ultimo firmware da Meshtastic Downloads.
  2. 🔌 Collega il tuo dispositivo al computer usando un cavo dati USB.
  3. 🔁 Premi due volte il pulsante di reset sul tuo dispositivo (questo entrerà in modalità bootloader).
  4. 💻 Verrà montata una nuova unità sul tuo computer (compatibile con Windows, Mac, Linux o Android).
  5. 📂 Apri questa unità, dove dovresti trovare tre file: CURRENT.UF2, INDEX.HTM e INFO_UF2.TXT.
  6. 📥 Copia il file firmware appropriato (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) dalla cartella di rilascio a questa unità.
  7. ✅ Dopo che il file è stato copiato, il dispositivo si riavvierà e installerà il firmware Meshtastic.
🟣 RP2040
  1. ⬇️ Scarica e decomprimi l'ultimo firmware da Meshtastic Downloads.
  2. 🔘 Premi e tieni premuto il pulsante BOOTSEL, quindi collega il dispositivo al computer usando un cavo USB.
  3. 💻 Verrà montata una nuova unità sul tuo computer (compatibile con Windows, Mac, Linux o Android).
  4. 📂 Apri questa unità, dove dovresti trovare due file: INDEX.HTM e INFO_UF2.TXT.
  5. 📥 Copia il file firmware appropriato (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) dalla cartella di rilascio in questa unità.
  6. ✅ Dopo che il file è stato copiato, il dispositivo si riavvierà e installerà il firmware Meshtastic.
⚠️ Possibili casi limite di flashing
  1. 🔎 Prima di caricare, assicurati di avere il RAK4631 e non il RAK4631-R. In caso contrario, dovrai cambiare il bootloader. Le istruzioni sono disponibili qui.
  2. ⚠️ Le versioni più vecchie del firmware possono conservare dati obsoleti, causando loop di crash. Se riscontri problemi nell'aggiornamento, esegui un azzeramento di fabbrica prima del flash.

🔌 Collega e configura il dispositivo

✅ Una volta che hai caricato il firmware Meshtastic sul dispositivo, puoi procedere alla configurazione iniziale.

📡 Aggiornamenti Firmware Over-the-Air (OTA) per nRF52

📶 I dispositivi nRF52 di RAK possono accettare aggiornamenti firmware OTA tramite Bluetooth. ⚠️ I bootloader T-Echo più vecchi non supportano OTA.
⚠️ Attenzione: gli aggiornamenti OTA comportano un rischio maggiore di fallimento. Se non riusciti, il dispositivo potrebbe diventare non funzionante e richiedere un recupero fisico.

🤖 Android

⚠️ L'ultima app nRF DFU (v2.3.0) non è compatibile. Usa nRF Connect App v4.24.3 da Nordic GitHub.
  1. ⬇️ Scarica il firmware da Meshtastic Downloads o da GitHub.
  2. 📂 Decomprimi la cartella del firmware.
  3. 📱 Apri l'app nRF Connect → scheda SCANNER → CONNETTI dispositivo.
  4. 🔗 Se mostra DISCONNECT, continua; se CONNECT, toccalo.
  5. ⚙️ Tocca l'icona DFU (in alto a destra).
  6. 📦 Seleziona "Pacchetto di distribuzione (ZIP)" → OK.
  7. 📥 Scegli il file firmware che termina con -ota.zip.
  8. ⏳ L'aggiornamento inizia automaticamente (potrebbe essere lento).
  9. ✅ Il dispositivo si riavvia dopo l'aggiornamento.

🍎 Apple

📲 Aggiornamenti OTA disponibili tramite nRF Device Firmware Update App su iOS/iPadOS.
  1. ⬇️ Scarica il firmware da Meshtastic Downloads, GitHub o direttamente tramite l'app.
  2. 📂 Decomprimi la cartella del firmware.
  3. 📱 Apri la nRF DFU App e seleziona il file firmware corretto del dispositivo (che termina con -ota.zip).
  4. 🔗 Connettiti al tuo dispositivo.
  5. ⬆️ Carica il firmware.
⚠️ Nota importante: La funzione di blocco automatico dell'iPhone può interrompere il caricamento del firmware via Bluetooth. Per evitarlo, tocca periodicamente lo schermo o imposta temporaneamente il blocco automatico su "Mai" durante il processo di caricamento per assicurarti che il telefono rimanga attivo e il caricamento si completi senza interruzioni.
❌ Se l'aggiornamento fallisce, potresti migliorare il successo regolando le impostazioni dei pacchetti:
  1. ⚙️ Vai nelle impostazioni e abilita "Notifica di ricezione pacchetti".
  2. 🔽 Cambia "Numero di pacchetti" a un valore più basso; alcuni utenti hanno avuto successo con "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. L'aggiornamento del firmware non cancella questi dati, il che può causare problemi se i formati cambiano tra le versioni.
  • 🌐 Puoi usare il Meshtastic Web Flasher per cancellare a livello di fabbrica i tuoi dispositivi. Seleziona la tua scheda e clicca sull'icona 🗑️ per cancellare. In alternativa, segui le istruzioni qui sotto.

🔵 nRF52

Per resettare la memoria flash sulla tua scheda nRF52:
  1. ⬇️ Scarica e decomprimi l'ultimo firmware dalla pagina Download di Meshtastic.
  2. 🔌 Collega il tuo dispositivo tramite USB.
  3. 🔁 Fai doppio clic sul pulsante di reset per entrare in modalità bootloader.
  4. 💻 Una nuova unità viene montata (Windows/Mac/Linux).
  5. 📂 L'unità contiene: CURRENT.UF2, INDEX.HTM, INFO_UF2.TXT.
  6. 📝 Apri INFO_UF2.TXT e annota il valore SoftDevice.
  7. 📥 Copia il file UF2 corretto per la cancellazione di fabbrica (Meshtastic_nRF52_factory_erase...) sull'unità. Il dispositivo si riavvia.
  8. 💻 Esegui meshtastic --noproto nel terminale.
  9. ✅ Dovresti vedere: Formatting... Done.
Una volta cancellata, installa il firmware più recente su un filesystem pulito.

🟣 RP2040

Per resettare la memoria flash sulla tua scheda RP2040:
  1. ⬇️ Scarica flash_nuke.uf2.
  2. 🔘 Tieni premuto BOOTSEL e connetti via USB.
  3. 💻 La scheda si monta come RPI-RP2.
  4. 📥 Copia flash_nuke.uf2 sulla unità.
  5. ✅ La scheda si riavvia e la memoria flash è cancellata.
Dopo la cancellazione, installa il firmware più recente su un filesystem pulito.

🔄 Conversione da RAK4631-R a RAK4631

ℹ️ L'unica differenza tra RAK4631-R (RUI3) e RAK4631 (Arduino) è il bootloader; l'hardware è identico.
📌 Meshtastic richiede il bootloader Arduino. La conversione è un processo da fare una sola volta.
Ecco due metodi per flashare il bootloader:

💻 Aggiornamento firmware dispositivo USB (DFU)

  1. ⬇️ Installa Python.
  2. ⬇️ Installa adafruit-nrfutil.
📦 pip3 install adafruit-nrfutil
  • 🧹 Ora puoi usare 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. Si aprirà una finestra per avviare la procedura di cancellazione. In alternativa, puoi seguire le istruzioni qui sotto.

🔵 nRF52

Per resettare la memoria flash sulla tua scheda nRF52, segui questi passaggi:
  1. ⬇️ Scarica e decomprimi l'ultimo firmware dalla pagina di download di Meshtastic.
  2. 🔌 Collega il tuo dispositivo al computer usando un cavo dati USB.
  3. 🔁 Doppio clic sul pulsante di reset sul tuo dispositivo per entrare in modalità bootloader.
  4. 💻 Una nuova unità verrà montata sul tuo computer (Windows, Mac o Linux).
  5. 📂 Apri questa unità, e dovresti vedere tre file: CURRENT.UF2, INDEX.HTM e INFO_UF2.TXT.
  6. 📝 Apri il file INFO_UF2.TXT in un editor di testo e annota il valore SoftDevice.
  7. 📥 Trova il file nel firmware scaricato che corrisponde alla tua versione di SoftDevice (7.x.x o 6.x.x). Usa Meshtastic_nRF52_factory_erase_v3_S140_7.3.0.uf2 o Meshtastic_nRF52_factory_erase_v3_S140_6.1.0.uf2, e copialo sull'unità. Il dispositivo si riavvierà.
  8. 💻 Con il Meshtastic CLI installato, apri Terminale/Console e inserisci: meshtastic --noproto.
  9. ✅ Dovresti vedere il messaggio: Formattazione... Fatto.
Una volta cancellato, puoi installare l'ultimo firmware Meshtastic su un filesystem pulito cliccando il link qui sotto.

🟣 RP2040

Per resettare la memoria flash sulla tua scheda RP2040, segui questi passaggi:
  1. ⬇️ Scarica il flash_nuke.uf2 file sul tuo computer.
  2. 🔘 Premi e tieni premuto il pulsante BOOTSEL, quindi collega la scheda al tuo computer usando un cavo USB.
  3. 💻 La scheda dovrebbe ora apparire come un dispositivo di archiviazione di massa sul tuo computer, etichettato come RPI-RP2.
  4. 📥 Copia il flash_nuke.uf2 file su questo dispositivo.
  5. ✅ La scheda si riavvierà automaticamente e la memoria flash verrà cancellata.
Dopo la cancellazione, puoi installare l'ultimo firmware Meshtastic su un filesystem pulito cliccando sul link sottostante.

🔄 Conversione da RAK4631-R a RAK4631

ℹ️ L'unica differenza tra il RAK4631-R (RUI3) e il RAK4631 (Arduino) è il bootloader; l'hardware è identico.
📌 Meshtastic richiede il bootloader Arduino per le schede RAK WisBlock basate su nRF52. Questo processo di conversione deve essere eseguito una sola volta.
Ecco due metodi per flashare il bootloader:

💻 Aggiornamento firmware dispositivo USB (DFU)

  1. ⬇️ Installa Python
  2. ⬇️ Installa adafruit-nrfutil
📦 pip3 install adafruit-nrfutil

 

👉 Devi completare la prima parte delle istruzioni per convertire il RAK4631-R in RAK4631, in particolare la sezione che riguarda il comando AT+BOOT.

🛠 Debugger

🔧 Questa conversione richiede l'uso di un DAPLink o di un J-Link. L'opzione più economica e facilmente reperibile è il RAKDAP1.
  1. ⬇️ Installa Python
  2. ⬇️ Installa pyOCD
📦 pip3 install pyocd
  1. ⬇️ Scarica il bootloader necessario: WisCore_RAK4631_Board_Bootloader.hex
  2. 🔗 Collega il RAKDAP come indicato di seguito:
  1. ⚡ Flash del bootloader
💻 pyocd flash -t nrf52840 .\WisCore_RAK4631_Board_Bootloader.hex
  1. ➡️ Procedi con le istruzioni di flashing standard.
📖 Metodi alternativi di flashing sono dettagliati qui.

🔄 Aggiornamento o recupero del bootloader sui dispositivi nRF52

⚠️ Se riscontri difficoltà durante l'aggiornamento o la scrittura di versioni più recenti del firmware Meshtastic, e il tuo dispositivo nRF52 non funziona con la versione più recente del bootloader, aggiornare il bootloader potrebbe aiutare a risolvere questi problemi.
🔎 Per verificare la versione del bootloader attualmente sul tuo dispositivo, abilita la modalità DFU. Poi, apri l'unità montata che appare sul tuo computer e controlla il file INFO_UF2.TXT.
📌 Ecco i passaggi per aggiornare il tuo bootloader.

✅ Metodo 1: Aggiornamento con il file UF2 (Consigliato)

📦 A seconda del tuo dispositivo, devi scegliere il pacchetto bootloader appropriato. Di seguito i link ai pacchetti bootloader:
  1. ⬇️ Scarica il file UF2 Bootloader corretto.
  2. 🔌 Collega il tuo dispositivo al computer usando un cavo USB.
  3. 🔁 Attiva la modalità bootloader premendo rapidamente due volte il pulsante RESET. 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.
  4. 📂 Trascina e rilascia il file UF2 che hai scaricato nell'unità rimovibile. Il dispositivo aggiornerà automaticamente il bootloader e si resetterà.
  5. ✅ Una volta che il dispositivo si resetta, l'aggiornamento è completo. Il tuo dispositivo ora ha la versione più recente del bootloader, e puoi procedere con la scrittura del firmware.

⚠️ Metodo 2: Usare adafruit-nrfutil

⚠️ Attenzione: A differenza degli upload UF2, adafruit-nrfutil non verifica se hai il pacchetto bootloader corretto per il tuo dispositivo. Flashare il bootloader sbagliato potrebbe potenzialmente rendere inutilizzabile il dispositivo. Controlla sempre il checksum SHA256 prima di procedere.
📌 Queste istruzioni presumono che Python e pip siano già installati. In caso contrario, scarica e installa l'ultima versione di Python (con pip) da Python.org.
📦 In base al tuo dispositivo, scegli il pacchetto bootloader appropriato. Di seguito i link:
  1. 💻 Apri un terminale o prompt dei comandi e installa adafruit-nrfutil eseguendo il comando seguente:
🐚 bash
📦 pip install adafruit-nrfutil
  1. ⬇️ Ottieni il pacchetto ZIP corretto.
  2. 🔌 Collega il tuo dispositivo al computer usando un cavo USB.
  3. 💻 Nel terminale o nel prompt dei comandi, vai nella directory dove hai scaricato il pacchetto ZIP del bootloader ed esegui il comando seguente. Sostituisci /dev/ttyACM0 con la porta corretta (gli utenti Windows possono usare COMx):
⚡ adafruit-nrfutil --singlebank --touch 1200 --verbose dfu serial --package <downloaded file>.zip -p /dev/ttyACM0 -b 115200
  1. ✅ 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: Uso di un debugger

🔧 Se i metodi sopra non funzionano, e il tuo hardware lo supporta (cioè, ha i pin SWD necessari), puoi usare un debugger come un DAPLink o J-Link per flashare direttamente il bootloader. Consulta le Istruzioni per il Debugger per un esempio con il RAK4631.

🍓 Uso di SWDIO per il flashing con un Raspberry Pi

💡 La maggior parte dei dispositivi Meshtastic può essere facilmente flashata tramite USB. Tuttavia, alcuni dispositivi (ad esempio, Seeed WM1110 Dev Kit) richiedono un dispositivo esterno che possa connettersi tramite "SWDIO." Esistono dispositivi specializzati come il RAKDAP1 progettati per questo scopo. Molti utenti trovano anche il Raspberry Pi un'opzione comoda.
📖 Questo articolo offre istruzioni su come usare un Raspberry Pi come strumento di flashing SWDIO.

🔌 Configurazione dei collegamenti

🔗 Il primo passo è collegare due fili tra il tuo Raspberry Pi e le porte SWDIO sul tuo dispositivo basato su NRF52.
⚡ Collega il pin GPIO 11 del tuo Raspberry Pi al pin CLK del dispositivo Meshtastic, e collega il pin GPIO 8 del tuo Raspberry Pi al pin DIO del dispositivo Meshtastic.
✅ Assicurati di verificare che i numeri GPIO siano corretti.
🔋 Alimenta il tuo Raspberry Pi collegandolo a una fonte di alimentazione USB, e alimenta anche il dispositivo Meshtastic.

⚙️ Installa il software OpenOCD

💻 Puoi usare OpenOCD per gestire la connessione SWDIO con il dispositivo Meshtastic. Installalo sul tuo Raspberry Pi.

🔄 $ 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

Prima di lavorare con il firmware, proviamo a connetterci al dispositivo basato su NRF52 usando SWDIO. Tutta la configurazione necessaria si trova nel repository OpenOCD.
💻 $ openocd -f ./openocd/tcl/interface/raspberrypi-native.cfg -c "transport select swd" -f openocd/tcl/target/nrf52.cfg -s tcl
ℹ️ La prima bandiera designa il Raspberry Pi come macchina host, il trasporto è impostato su SWDIO, e la bandiera finale indica che ti stai connettendo a un chip basato su nRF52. Dovresti vedere un output simile a questo:

🖥️ Open On-Chip Debugger 0.12.0+dev-00633-gad87fbd1c

📜 Licenziato sotto GNU GPL v2

🔗 Per segnalazioni di bug, leggere http://openocd.org/doc/doxygen/bugs.html

⚡ 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 : frequenza di 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] avvio del server gdb sulla porta 3333

ℹ️ Info : In ascolto sulla porta 3333 per connessioni gdb

🔗 Info : accettando la connessione 'telnet' su tcp/4444

⚠️ Se ricevi il messaggio “Error connecting DP: cannot read IDR,” probabilmente significa che i cavi sono collegati nei punti sbagliati.

⬇️ Scarica il Firmware

Consulta le istruzioni per il tuo hardware per trovare il firmware appropriato per il tuo dispositivo. La maggior parte dei dispositivi che seguono questa guida richiede un file .hex. Successivamente, copia il file del firmware sul tuo Raspberry Pi.

⚡ Programma il Firmware

Dopo aver avviato OpenOCD, puoi connetterti al tuo dispositivo Meshtastic tramite telnet. La programmazione del dispositivo è semplice; basta eseguire alcuni comandi all'interno di la sessione telnet:

💻 $ 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

🔌 Scollega l'alimentazione e poi ricollegala dopo la programmazione.

📶 Stabilire la connessione

🎉 Congratulazioni! Ora dovresti essere in grado di connetterti al tuo dispositivo tramite Bluetooth nell'app Meshtastic.

Barra laterale

Ultimo post

Questa sezione attualmente non include alcun contenuto. Aggiungi contenuti a questa sezione utilizzando la barra laterale.

Iscriviti alla nostra newsletter

Ottieni le ultime informazioni sui nostri prodotti e offerte speciali.