Meshtastic Guide - Hur man Flashar Meshtastic Firmware

Flashning av ESP32-enheter

Web Flasher kräver antingen Chrome eller Edge webbläsare men är ett utmärkt alternativ för att snabbt flasha enheter. Denna metod är starkt rekommenderad för firmware-flashning, särskilt för nya användare av projektet, eftersom den är användarvänlig.
CLI-skriptet anses vara "manuell process" för att flasha firmware.
Att flasha din enhet med en extern seriell adapter bör endast försöka som en sista utväg om ingen annan metod har lyckats.
OBS: Webbklienten på meshtastic.local uppdateras endast genom en fullständig radering och ominstallation av enheten. Om du väljer ominstallation får du den senaste inkluderade webbgränssnittet. För att behålla dina inställningar kan du exportera din konfiguration innan ominstallationen och sedan ladda in den igen efteråt.
VARNING: Se till att du inte slår på radion utan att först fästa antennen! Att inte göra det kan skada radiochipet!

Använda Meshtastic Web Flasher

Flash-enhet

  1. Anslut din enhet
  2. Besök flasher.meshtastic.org *kräver Chrome eller Edge-webbläsare
  3. Följ instruktionerna

Anslut och konfigurera enheten

När du har flashat Meshtastic firmware på enheten kan du gå vidare till den initiala konfigurationen.

Flashning av firmware via CLI

Verifiering av anslutning

Innan du flashar din enhet, verifiera anslutningen med enheten du ska flasha. Följ stegen nedan för att kontrollera anslutningen och, om det behövs, installera lämpliga drivrutiner. Om du måste installera drivrutiner, kom ihåg att starta om din dator efteråt för att bekräfta att installationen är klar.
OBS: T-Beam 0.7-kortet är en tidigare version av T-Beam-kortet. På grund av designändringar i efterföljande iterationer kräver detta kort en specifik firmware-fil som skiljer sig från de som används av andra T-Beam-kort.
  • Använd firmware-tbeam0.7-X.X.X.xxxxxxx.bin för T-Beam 0.7.
  • firmware-tbeam-X.X.X.xxxxxxx.bin är inkompatibel.
För alla andra T-Beam-kort, vänligen granska resursavsnittet för att välja rätt firmware.

Instruktioner för kommandoradsgränssnitt

Installera nödvändig programvara
Linux
Verifiera om du har python3 och pip installerad genom att använda följande kommando

 python3 --version

 pip3 --version

Om python3 är inte installerat, kan du installera det med

 sudo apt-get update

 sudo apt-get install python3

Om pip är inte installerat, kan du installera det med
 sudo apt-get install python3-pip
Installera esptool
 pip3 install --upgrade esptool
MacOS
OS X levereras med Python2.7 förinstallerat, men det inkluderar inte pip. Följande instruktioner använder Homebrew för att installera Python3, som inkluderar pip3. På macOS kommer du att använda pip3 istället för pip.
OBS: Kontrollera om du har Homebrew installerat med följande kommando. Om det inte är installerat, följ instruktionerna på Homebrew website innan du fortsätter.
 brew -v
Verifiera om du har python3 och pip installerad genom att använda följande kommando

 python3 --version

 pip3 --version

Om python3 inte är installerat, kan du installera det med kommandot
 brew install python3
Verifiera att pip3 installerades tillsammans med python3
 pip3 -v
Installera esptool
 pip3 install --upgrade esptool
Windows
  • Ladda ner och installera Python. Under installationsprocessen, se till att du väljer alternativet att Lägg till Python X.Y i PATH.
  • Ladda ner och installera Git Bash (eller ett annat lämpligt skal), och kör alla efterföljande kommandon från det skalet.
Verifiera om du har python3 och pip installerad genom att använda följande kommando

 py --version

 pip --version

Installera esptool
 pip3 install --upgrade esptool
Kontrollera anslutning med Chip
  • På Linux och macOS kan du behöva uttryckligen deklarera esptool som en .py skript. Använd kommandot esptool.py chip_id för att göra detta, beroende på din miljö.
  • På Windows måste du uttryckligen deklarera esptool som en .py skript genom att använda kommandot esptool.py chip_id för att säkerställa korrekt funktion.
Anslut radion till din dator med en data-USB-kabel. Använd följande kommando för att verifiera att din enhet kommunicerar med din dator:
Kommando
 esptool chip_id
Förväntad utdata

 # Du bör se ett resultat liknande detta:

 mydir$ esptool chip_id

 esptool.py v2.6

 Hittade 2 seriella portar

 Seriell port /dev/ttyUSB0

 Ansluter....

 Upptäcker chiptyp... ESP32

 Chip är ESP32D0WDQ6 (revision 1)

 Funktioner: WiFi, BT, Dual Core, 240MHz, VRef-kalibrering i efuse, Kodningsschema None

 MAC: 24:6f:28:b5:36:71

 Laddar upp stub...

 Kör stub...

 Stub körs...

 Varning: ESP32 har inget Chip ID. Läser

 MAC istället. MAC: 24:6f:28:b5:36:71

 Hårdåterställer via RTS-stift...

Ladda ner firmware
  • Navigera till Meshtastic Downloads Page för att hämta den senaste firmwaren.
  • Scrolla ner till avsnittet Firmware och välj ett av följande alternativ baserat på dina preferenser:
  1. Download Stable: För stabila, vältestade versioner.
  1. Download Alpha: För nyare, experimentella versioner som inkluderar de senaste funktionerna.
  • När du omdirigeras till GitHub release page, scrolla ner till avsnittet Assets och expandera det.
  • Identifiera lämplig firmware för din enhet enligt dess arkitektur (t.ex., firmware-esp32s3 för ESP32-S3-baserade enheter som Heltec V3).
  • Ladda ner filen och notera dess plats på ditt system, vilket vanligtvis är i din ~/Downloads mapp.
Gå till firmwarekatalogen
Öppna en terminal och byt till katalogen där din firmware laddades ner (använd cd command). Mappnamnet motsvarar vanligtvis arkitekturen och firmwareversionen som anges i zip-filen. Till exempel:
 cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
OBS: Se till att du ersätter esp32s3 och versionsnumret med de värden som motsvarar filen du laddade ner.
Installera eller uppdatera firmware
Följ nu instruktionerna nedan för ditt operativsystem för att installera eller uppdatera firmwaren för ditt specifika board:
Observera innan du börjar:
Var extremt noggrann med att installera rätt firmwarefil för ditt board. Specifikt refereras inte den mycket använda 'T-BEAM' radio från TTGO som 'TTGO-Lora' (vilket är ett annat board). Därför, flasha inte 'TTGO-Lora'-versionen på en T-BEAM, eftersom den inte kommer att fungera korrekt. Om du installerar fel firmware för din enhet kan flashningsprocessen verka slutförd, men enheten kan bli oresponsiv och visa en tom skärm om den har en sådan. Se till att flasha rätt version. Observera att även om dessa enheter generellt är robusta och skada inte är garanterad, finns det en risk för skada på den inbyggda radion och perifera enheter om GPIO-pinriktningarna är felaktiga.
Linux & macOS
Installera
 ./device-install.sh -f firmware-BOARD-VERSION.bin
Uppdatera
 ./device-update.sh -f firmware-BOARD-VERSION-update.bin
Använd --web val att inkludera den inbäddade Web Client när du installerar firmwaren.
Windows
Installera
 device-install.bat -f firmware-BOARD-VERSION.bin
Uppdatera
 device-update.bat -f firmware-BOARD-VERSION-update.bin
Använd --web val att inkludera den inbäddade Web Client när du installerar firmwaren.

Anslut och konfigurera enheten

När du framgångsrikt har flashat Meshtastic-firmwaren på enheten kan du gå vidare med den initiala konfigurationen.

Flashning med en extern seriell adapter

OBS: Denna information är troligen bara användbar om du redan har försökt gå igenom förutsättningarna och processerna som beskrivs i manuell flashning

Flashningsprocess

Situationer som kan kräva användning av en extern USB till Serial Adapter:
  • På grund av den pågående chipbristen kan nyligen inköpta enheter som TTGO T-Beam vara utrustade med äldre eller icke-standard USB till Serial adapter-chip, vilka kan vara opålitliga i vissa situationer.
  • Vissa enheter kan ha defekta USB till Serial-chip, vilket leder till kommunikationsproblem.
  • Specifika enheter, såsom Hydra (Meshtastic-DIY mål)
USB Serial Adaptrar
Det finns många alternativ på marknaden, men det är rekommenderat att välja en adapter som använder Silicon Labs CP2102-chipet, känt för sin pålitlighet som industristandard.
Börja med att koppla in adaptern i din dator utan att ansluta några enheter vid detta tillfälle. Se till att nödvändiga drivrutiner för adaptern är installerade på din dator; för Windows-användare bör rätt drivrutiner normalt installeras automatiskt.
Ansluta adaptern till enheten
OBS: Det finns flera metoder för att ansluta adapterpinnarna till mål-enheten, inklusive att trycka jumpers mot kontakter eller använda pogo pin jigs. Denna handledning lyfter fram användningen av offset Dupont-kontakter lödda på relevanta GPIO-pinnar och anslutna med jumpers.
Koppla bort din USB till Serial Adapter från datorn innan du startar denna process.
  1. Anslut RX-pinnen på adaptern till TX-pinnen på enheten.
  2. Anslut TX-pinnen på adaptern till RX-pinnen på enheten.
  3. Anslut en GND-pin på adaptern till en GND-pin på enheten.
  4. Anslut antingen 5V-pinnen på adaptern till 5V-pinnen på enheten (som illustrerat) eller 3,3V-pinnen på adaptern till 3,3V-pinnen på enheten.
  5. Förbind GPIO 0 till GND på enheten med en jumper. (Detta sätter enheten i flashläge när den startas.) Exempel på koppling med en T-Beam.
  1. Anslut enheten till en USB-port på datorn.
  2. Ta bort jumpen som förbinder GPIO 0 med GND.
Flashning av enheten
Efter att ha slutfört stegen ovan bör din enhet vara i flashläge. Du kan nu använda manuell metod för att flasha din enhet.
När flashningsprocessen är klar, starta om din enhet (använd RST-knappen om den finns). Om du har Meshtastic Python CLI installerad kan du köra meshtastic --noproto för att återansluta till enheten via adaptern och visa seriell utdata för att säkerställa att Meshtastic installerades korrekt.
Felsökning av flashningsprocessen
Du kan stöta på ett COM-portbehörighetsfel när du kör manuella enhetsinstallationsskript, vilket kan orsakas av olika problem.
För att lösa detta kan du behöva köra processen som administratör, säkerställa att ingen annan programvara, som Cura, monopoliserar COM-portarna, eller prova att starta om ditt system.

Anslut och konfigurera enheten

När du har flashat Meshtastic firmware på enheten kan du gå vidare till den initiala konfigurationen.

Flashning av nRF52 & RP2040-enheter

  • Firmwareuppgraderingsprocess för nRF52 och RP2040-enheter: Enheter baserade på nRF52 och RP2040 arkitekturer erbjuder en enkel firmwareuppgraderingsprocess som inte kräver någon drivrutin eller programvaruinstallation på någon plattform.
  • Dra & Släpp: Dessa enheter använder dra-och-släpp installationsmetoden för att installera firmwareversioner. Dra helt enkelt firmwarefilen till enheten i din filutforskare.
  • Överluftsuppdateringar (OTA): nRF52-enheter kan ta emot OTA firmwareuppdateringar från en mobil enhet via Bluetooth, vilket möjliggör smidiga uppdateringar utan behov av fysiska anslutningar.
  • Fabriksåterställning: Innan du installerar ny firmware kan du överväga att utföra en Fabriksåterställning för att rensa eventuell befintlig data som kan ändra format eller plats mellan versioner.
  • Konvertera RAK4631-R till RAK4631: Om din enhet inte levereras med Arduino bootloader måste du utföra en konvertering för att säkerställa kompatibilitet.
  • Använda Raspberry Pi som ett SWDIO Flash-verktyg: Om din enhet inte kan flashas via USB eller Bluetooth, är ett alternativ att använda en direkt SWDIO-anslutning med en Raspberry Pi som flash-verktyg.

Dra-och-släpp firmwareuppdateringar för nRF52 & RP2040

Flash-enhet

  • Du kan nu använda Meshtastic Web Flasher för att ladda ner och överföra firmware till dina nRF52 eller RP2040-baserade enheter. Alternativt kan du följa instruktionerna nedan för att ladda ner och installera firmwaren.
  • Om du nyligen har genomfört en Factory Erase kan din enhet automatiskt starta i bootloader-läge. Du kan då gå direkt till "Kopiera lämplig firmware..." för din specifika enhet nedan:
nRF52
  1. Ladda ner och packa upp den senaste firmwaren från Meshtastic Downloads.
  2. Anslut din enhet till din dator med en USB-datakabel.
  3. Tryck på återställningsknappen på din enhet två gånger (detta går in i bootloader-läge).
  4. En ny enhet kommer att monteras på din dator (kompatibel med Windows, Mac, Linux eller Android).
  5. Öppna denna enhet, där du bör hitta tre filer: CURRENT.UF2, INDEX.HTM, och INFO_UF2.TXT.
  6. Kopiera lämplig firmwarefil (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) från release-mappen till denna enhet.
  7. Efter att filen har kopierats klart kommer enheten att starta om och installera Meshtastic-firmware.
RP2040
  1. Ladda ner och packa upp den senaste firmwaren från Meshtastic Downloads.
  2. Tryck och håll ned BOOTSEL-knappen, anslut sedan enheten till din dator med en USB-kabel.
  3. En ny enhet kommer att monteras på din dator (kompatibel med Windows, Mac, Linux eller Android).
  4. Öppna denna enhet, där du bör hitta två filer: INDEX.HTM och INFO_UF2.TXT.
  5. Kopiera lämplig firmwarefil (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) från release-mappen till denna enhet.
  6. Efter att filen har kopierats klart kommer enheten att starta om och installera Meshtastic-firmware.
Möjliga flashningssärskilda fall
  1. Innan du flashar, se till att du har RAK4631 och inte RAK4631-R. Om så inte är fallet, oroa dig inte. Hårdvaran är densamma, men du måste byta bootloader. Instruktioner för detta finns här.
  2. Äldre versioner av Meshtastic firmware kan behålla föråldrad data, vilket kan leda till att enheter fastnar i en kraschloop vid uppstart. Om du stöter på problem när du uppgraderar din nRF52-enhet från en tidigare version av Meshtastic kan du behöva göra en fullständig fabriksåterställning av det interna flashminnet. Följ guiden för att fabriksåterställa din nRF52 innan du fortsätter med att flasha firmwaren.

Anslut och konfigurera enheten

När du har flashat Meshtastic firmware på enheten kan du gå vidare till den initiala konfigurationen.

Trådlösa (OTA) firmware-uppdateringar för nRF52

nRF52-enheter från RAK kan ta emot OTA firmware-uppdateringar från en mobil enhet via bluetooth. Äldre T-Echo bootloaders har inte stöd för OTA.
varning: OTA firmware-uppdateringar medför en högre risk för fel. Om uppdateringsprocessen misslyckas kan din enhet hamna i ett icke-fungerande tillstånd, vilket kräver fysisk åtkomst för åtgärd.

Android

I skrivande stund är den senaste Android-versionen av nRF DFU-appen (v2.3.0) inkompatibel med Meshtastic firmware-uppdateringar. Följ istället instruktionerna nedan för att utföra en OTA-uppdatering med nRF Connect App, specifikt version 4.24.3, som kan laddas ner från Nordic Semiconductor GitHub page.
  1. Ladda ner firmwareversionen du vill installera från Meshtastic Download Page eller Meshtastic GitHub.
  2. Packa upp firmwaremappen.
  3. Öppna nRF Connect App och välj CONNECT på din enhet från SCANNER-fliken.
  4. Om gränssnittet visar DISCONNECT uppe till höger, gå vidare till steg 5. Om det står CONNECT, välj CONNECT.
  5. Tryck på DFU-ikonen uppe till höger på skärmen.
  6. Verifiera att "Distribution Packet (ZIP)" är valt, och välj sedan OK.
  7. Välj lämplig enhetsfirmwarefil (som slutar med -ota.zip).
  8. Uppdateringen startar automatiskt (observera att denna process kan vara långsam).
  9. När uppdateringen är klar startar enheten om automatiskt.

Apple

OTA firmware-uppdateringar finns tillgängliga på iOS och iPadOS med nRF Device Firmware Update App, som kan laddas ner från Apple App Store.
  1. Ladda ner firmwareversionen du vill installera från Meshtastic Download Page, Meshtastic GitHub eller direkt via iOS/iPadOS-appen.
  2. Packa upp firmwaremappen.
  3. Öppna nRF DFU App och välj rätt enhetsfirmwarefil (som slutar med -ota.zip).
  4. Anslut till din enhet.
  5. Ladda upp firmwaren.
Viktig notis: iPhonens autolåsfunktion kan avbryta Bluetooth-firmwareuppladdningen. För att förhindra detta, tryck periodiskt på skärmen eller ställ tillfälligt in autolåset på "Aldrig" under uppladdningsprocessen för att säkerställa att telefonen förblir vaken och att uppladdningen slutförs utan avbrott.
Om uppdateringen misslyckas kan du förbättra framgången genom att justera paketinställningarna:
  1. Gå till inställningarna och aktivera "Packets Receipt Notification."
  2. Ändra "Antal paket" till ett lägre värde; vissa användare har haft framgång med inställningen "5".

Fabriksåterställning för nRF52/RP2040-enheter

  • Meshtastic använder littlefs-biblioteket för att lagra konfiguration, loggar och annan data i intern flashminnenRF52- och RP2040-enheter. Det är viktigt att notera att uppdatering av firmware inte raderar denna extra data, vilket kan leda till problem om formatet och platsen för datan ändras mellan versioner.
  • Du kan nu använda Meshtastic Web Flasher för att fabriksåterställa dina nRF52- eller RP2040-baserade enheter. Besök flasharen, välj ditt kort och klicka på papperskorgsikonen till höger om Flash-knappen. Detta öppnar en dialog för att initiera raderingsproceduren. Alternativt kan du följa instruktionerna nedan.

nRF52

För att återställa flashlagringen på ditt nRF52-kort, följ dessa steg:
  1. Ladda ner och packa upp den senaste firmwaren från Meshtastic Downloads page.
  2. Anslut din enhet till din dator med en USB-datakabel.
  3. Dubbelklickaåterställningsknappen på din enhet för att gå in i bootloader-läge.
  4. En ny enhet kommer att monteras på din dator (detta gäller Windows, Mac eller Linux).
  5. Öppna denna enhet, och du bör se tre filer: CURRENT.UF2, INDEX.HTM, och INFO_UF2.TXT.
  6. Öppna INFO_UF2.TXT fil i en textredigerare och notera SoftDevice värde.
  7. Leta reda på filen som ingår i den nedladdade firmware som matchar din SoftDevice huvudversionsnummer (antingen 7.x.x eller 6.x.x). Använd antingen Meshtastic_nRF52_factory_erase_v3_S140_7.3.0.uf2 eller Meshtastic_nRF52_factory_erase_v3_S140_6.1.0.uf2, och kopiera det till den nya enheten. Enheten bör sedan starta om.
  8. Med Meshtastic CLI installerat, öppna din Terminal eller Konsol och skriv kommandot: meshtastic --noproto.
  9. Du bör se meddelandet: Formaterar... Klart.
När enheten har raderats kan du fortsätta med att installera den senaste Meshtastic-firmware på ett rent lagringsfilsystem genom att klicka på länken nedan.

RP2040

För att återställa flashlagringen på ditt RP2040-kort, följ dessa steg:
  1. Ladda ner flash_nuke.uf2 fil till din dator.
  2. Tryck och håll ned BOOTSEL-knappen, anslut sedan kortet till din dator med en USB-kabel.
  3. Kortet bör nu visas som en masslagringsenhet på din dator, märkt som RPI-RP2.
  4. Kopiera flash_nuke.uf2-filen till denna enhet.
  5. Kortet startar automatiskt om och flashminnet raderas.
Efter att enheten har raderats kan du fortsätta med att installera den senaste Meshtastic-firmware på ett rent lagringsfilsystem genom att klicka på länken nedan.

Konvertera RAK4631-R till RAK4631

Den enda skillnaden mellan RAK4631-R (RUI3) och RAK4631 (Arduino) ligger i bootloadern de levereras med; hårdvaran är identisk.
Meshtastic kräver Arduino bootloader för RAK WisBlock nRF52-baserade kort. Denna konverteringsprocess för bootloadern behöver bara göras en gång.
Här är två metoder för att flasha bootloadern:

USB Device Firmware Update (DFU)

  1. Installera Python
  2. Installera adafruit-nrfutil
 pip3 install adafruit-nrfutil
  1. Ladda ner nödvändig bootloader: WisCore_RAK4631_Board_Bootloader.zip.
  2. Anslut din RAK-enhet till din dator via USB.
  3. Flasha bootloadern.
 adafruit-nrfutil --verbose dfu serial --package ./WisCore_RAK4631_Board_Bootloader.zip -p /dev/ttyACM0 -b 115200 --singlebank --touch 1200
OBS: Namnet på den seriella porten (/dev/ttyACM0) kan variera beroende på ditt operativsystem. Se till att du identifierar rätt portnamn för din setup.
  1. Efter det, fortsätt med de vanliga flashing instructions.
Ytterligare RUI3-steg
Om ovanstående steg misslyckas med fel som:

 Rörde vid seriell port COM11

 Öppnade seriell port COM11

 Startar DFU-uppgradering av typ 2, SoftDevice-storlek: 0, bootloader-storlek: 39000, applikationsstorlek: 0

 Skickar DFU startpaket

 Tidsgräns överskriden vid väntan på bekräftelse från enheten.

 Misslyckades med att uppgradera mål. Fel är: Ingen data mottagen på seriell port. Kan inte fortsätta.

Du måste slutföra den första delen av instruktionerna för converting the RAK4631-R to the RAK4631, specifikt avsnittet som involverar AT+BOOT-kommandot.

Debugger

Denna konvertering kräver användning av antingen en DAPLink eller J-Link. Det mest prisvärda och lättillgängliga alternativet är RAKDAP1.
  1. Installera Python
  2. Installera pyOCD
 pip3 install pyocd
  1. Ladda ner nödvändig bootloader: WisCore_RAK4631_Board_Bootloader.hex.
  2. Anslut RAKDAP enligt instruktionerna nedan:
  1. Flasha bootloadern
 pyocd flash -t nrf52840 .\WisCore_RAK4631_Board_Bootloader.hex
  1. Fortsätt med de standard flashningsinstruktionerna.
Alternativa flashningsmetoder beskrivs här.

Uppdatera eller återställ bootloadern på nRF52-enheter

Om du stöter på svårigheter när du uppdaterar eller flashar nyare versioner av Meshtastic firmware, och din nRF52-enhet inte kör den senaste bootloader-versionen, kan en uppdatering av bootloadern hjälpa till att lösa dessa problem.
För att verifiera versionen av bootloadern som för närvarande finns på din enhet, aktivera DFU-läge. Öppna sedan den monterade enheten som visas på din dator och kontrollera filen INFO_UF2.TXT.
Här är stegen för att uppdatera din bootloader.

Metod 1: Uppdatering med UF2-filen (Rekommenderas)

Beroende på din enhet behöver du välja lämpligt bootloader-paket. Nedan finns länkar till bootloader-paketen:
  1. Ladda ner rätt UF2 Bootloader-fil.
  2. Anslut din enhet till din dator med en USB-kabel.
  3. Aktivera bootloader-läge genom att snabbt dubbeltrycka på RESET-knappen på din enhet. För Seeed Tracker 1000-E, håll in användarknappen och anslut sedan snabbt USB-kabeln till MagSafe-porten två gånger. Enheten ska visas som en flyttbar enhet på din dator.
  4. Dra och släpp den UF2-fil du laddade ner till den flyttbara enheten. Enheten uppdaterar automatiskt bootloadern och startar om.
  5. När enheten startar om är uppdateringen klar. Din enhet kör nu den senaste bootloader-versionen, och du kan fortsätta med att flasha firmware.

Metod 2: Använda adafruit-nrfutil

Varning: Till skillnad från UF2-uppladdningar verifierar inte adafruit-nrfutil om du har rätt bootloader-paket för din enhet. Att flasha fel bootloader kan potentiellt göra din enhet obrukbar. Kontrollera därför SHA256-checksumman innan du fortsätter med flashningsprocessen.
Dessa instruktioner förutsätter att Python och pip redan är installerade på ditt system. Om de inte är det, vänligen ladda ner och installera den senaste versionen av Python (som inkluderar pip) från Python.org.
Baserat på din enhet måste du välja rätt bootloader-paket. Nedan finns länkar till de tillgängliga bootloader-paketen:
  1. Öppna en terminal eller kommandoprompt och installera adafruit-nrfutil genom att köra följande kommando:
bash
 pip install adafruit-nrfutil
  1. Skaffa rätt ZIP-paket.
  2. Anslut din enhet till din dator med en USB-kabel.
  3. I terminalen eller kommandoprompten, navigera till katalogen där du laddade ner bootloader ZIP-paketet och kör följande kommando. Se till att byta ut /dev/ttyACM0 mot rätt port för din enhet (Windows-användare kan använda COMx):
 adafruit-nrfutil --singlebank --touch 1200 --verbose dfu serial --package .zip -p /dev/ttyACM0 -b 115200
  1. När processen är klar är uppdateringen slutförd. Din enhet kör nu den senaste bootloader-versionen, vilket gör att du kan fortsätta med flashning av firmware.

Metod 3: Använda en Debugger

Om metoderna som nämns ovan inte fungerar, och din hårdvara stödjer det (dvs. har nödvändiga SWD-stift), kan du använda en debugger som en DAPLink eller J-Link för att direkt flasha bootloadern. Vänligen se Debugger Instructions för ett exempel med RAK4631.

Använda SWDIO för flashing med en Raspberry Pi

De flesta Meshtastic-enheter kan enkelt flashas via USB. Men vissa enheter (t.ex. Seeed WM1110 Dev Kit) kräver användning av en extern enhet som kan anslutas via "SWDIO." Det finns specialiserade enheter som RAKDAP1 designade för detta ändamål. Men många användare tycker att en Raspberry Pi är ett mer bekvämt alternativ.
Denna artikel erbjuder instruktioner om hur man använder en Raspberry Pi som ett SWDIO Flash Tool.

Kopplingsschema

Det första steget är att ansluta två kablar mellan din Raspberry Pi och SWDIO-portarna på din NRF52-baserade enhet.
Anslut GPIO pin 11 på din Raspberry Pi till CLK-pinnen på Meshtastic-enheten, och anslut GPIO pin 8 på din Raspberry Pi till DIO-pinnen på Meshtastic-enheten.
Se till att verifiera att GPIO-numren är korrekta.
Ge ström till din Raspberry Pi genom att ansluta den till en USB-strömkälla, och ge även ström till Meshtastic-enheten.

Installera OpenOCD-programvara

Du kan använda OpenOCD för att hantera SWDIO-anslutningen med Meshtastic-enheten. Installera det på din 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

Verifiera anslutning

Innan du arbetar med firmware, låt oss försöka ansluta till NRF52-baserade enheten med SWDIO. All nödvändig konfiguration finns i OpenOCD-förrådet.
 $ openocd -f ./openocd/tcl/interface/raspberrypi-native.cfg -c "transport select swd" -f openocd/tcl/target/nrf52.cfg -s tcl
Den första flaggan anger Raspberry Pi som din värddator, transporten är inställd på SWDIO, och den sista flaggan indikerar att du ansluter till en nRF52-baserad chip. Du bör se utdata liknande detta:

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

 Licensierad under GNU GPL v2

 För bugg-rapporter, läs

 http://openocd.org/doc/doxygen/bugs.html

 srst_only separate srst_gates_jtag srst_push_pull connect_deassert_srst

 swd

 Info : Lyssnar på port 6666 för tcl-anslutningar

 Info : Lyssnar på port 4444 för telnet-anslutningar

 Info : BCM2835 GPIO JTAG/SWD bitbang-drivrutin

 Info : klockfrekvens 100 kHz

 Info : SWD DPIDR 0x2ba01477

 Info : [nrf52.cpu] Cortex-M4 r0p1 processor upptäckt

 Info : [nrf52.cpu] målet har 6 brytpunkter, 4 bevakningspunkter

 Info : [nrf52.cpu] Undersökning lyckades

 Info : [nrf52.cpu] starting gdb server on 3333

 Info : Lyssnar på port 3333 för gdb-anslutningar

 Info : accepting 'telnet' connection on tcp/4444

Om du får meddelandet “Error connecting DP: cannot read IDR,” betyder det troligen att kablarna är anslutna till fel platser.

Ladda ner firmware

Se instruktionerna för din hårdvara för att hitta rätt firmware för din enhet. De flesta enheter som följer denna guide kräver en .hex-fil. Efter det, kopiera firmware-filen till din Raspberry Pi.

Programmera firmware

Efter att ha startat OpenOCD kan du ansluta till din Meshtastic-enhet via telnet. Programmering av enheten är enkelt; kör bara några kommandon inom telnet-sessionen:

 $ telnet 127.0.0.1 4444

 Försöker 127.0.0.1...

 Ansluten till 127.0.0.1.

 Escape-tecken är '^]'.

 Öppna On-Chip Debugger

 > init

 > reset init

 > halt

 > nrf5 mass_erase

 > program firmware.hex verify

 > reset

 > exit 0

Koppla bort strömmen och anslut den igen efter programmering.

Etablera anslutning

Grattis! Du bör nu kunna ansluta till din enhet via Bluetooth i Meshtastic-appen.

 

Sidopanel

Senaste inlägg

Denna sektion innehåller för närvarande inget innehåll. Lägg till innehåll i denna sektion med hjälp av sidofältet.

Registrera dig för vårt nyhetsbrev

Få den senaste informationen om våra produkter och specialerbjudanden.