Wgrywanie oprogramowania na urządzenia ESP32
Korzystanie z Meshtastic Web Flasher
Flash Device
-
Podłącz swoje urządzenie
-
Odwiedź flasher.meshtastic.org *wymaga przeglądarki Chrome lub Edge
-
Postępuj zgodnie z instrukcjami

Podłącz i skonfiguruj urządzenie
Wgrywanie oprogramowania przez CLI
Weryfikacja łączności
-
Użyj firmware-tbeam0.7-X.X.X.xxxxxxx.bin dla T-Beam 0.7.
-
firmware-tbeam-X.X.X.xxxxxxx.bin jest niekompatybilny.
Instrukcje interfejsu wiersza poleceń
Zainstaluj wymagane oprogramowanie
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
-
Pobierz i zainstaluj Python. Podczas instalacji upewnij się, że zaznaczyłeś opcję Dodaj Python X.Y do PATH.
-
Pobierz i zainstaluj Git Bash (lub inny odpowiedni shell) i wykonuj wszystkie kolejne polecenia z tego shella.
py --version pip --version
|
pip3 install --upgrade esptool
|
Sprawdź łączność z chipem
-
Na Linuxie i macOS może być konieczne wyraźne zadeklarowanie esptool jako .py skrypt. Użyj polecenia esptool.py chip_id aby to zrobić, w zależności od twojego środowiska.
-
Na Windows musisz wyraźnie zadeklarować esptool jako .py skrypt za pomocą polecenia esptool.py chip_id aby zapewnić prawidłowe działanie.
Polecenie
esptool chip_id
|
Oczekiwany wynik
# Powinieneś zobaczyć wynik podobny do tego: mydir$ esptool chip_id esptool.py v2.6 Znaleziono 2 porty szeregowe Port szeregowy /dev/ttyUSB0 Łączenie.... Wykrywanie typu układu... ESP32 Układ to ESP32D0WDQ6 (wersja 1) Funkcje: WiFi, BT, Dual Core, 240MHz, kalibracja VRef w efuse, Schemat kodowania Brak MAC: 24:6f:28:b5:36:71 Wysyłanie stub... Uruchamianie stub... Stub działa... Ostrzeżenie: ESP32 nie ma Chip ID. Odczyt Zamiast tego MAC. MAC: 24:6f:28:b5:36:71 Twardy reset przez pin RTS...
|
Pobierz oprogramowanie układowe
-
Przejdź do Strony pobierania Meshtastic, aby uzyskać najnowsze oprogramowanie układowe.
-
Przewiń w dół do sekcji Firmware i wybierz jedną z następujących opcji w zależności od swoich preferencji:
-
Pobierz Stable: Dla stabilnych, dobrze przetestowanych wydań.
-
Pobierz Alpha: Dla nowszych, eksperymentalnych wydań zawierających najnowsze funkcje.
-
Po przekierowaniu na stronę wydania GitHub, przewiń w dół do sekcji Assets i rozwiń ją.
-
Zidentyfikuj odpowiednie oprogramowanie układowe dla swojego urządzenia zgodnie z jego architekturą (np., firmware-esp32s3 dla urządzeń opartych na ESP32-S3, takich jak Heltec V3).
-
Pobierz plik i zanotuj jego lokalizację na swoim systemie, która zazwyczaj znajduje się w ~/Downloads folder.
Dostęp do katalogu z oprogramowaniem układowym
cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
|
Zainstaluj lub zaktualizuj firmware
Proszę zauważyć przed rozpoczęciem:
Linux i 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
|
Podłącz i skonfiguruj urządzenie
Flashowanie za pomocą zewnętrznego adaptera szeregowego
Proces flashowania
-
Z powodu trwającego niedoboru układów, niedawno zakupione urządzenia, takie jak TTGO T-Beam, mogą być wyposażone w starsze lub niestandardowe układy adapterów USB to Serial, które mogą być zawodliwe w niektórych sytuacjach.
-
Niektóre urządzenia mogą mieć wadliwe układy USB to Serial, co prowadzi do problemów z komunikacją.
-
Specyficzne urządzenia, takie jak Hydra (Meshtastic-DIY target)
USB Serial Adapters

Podłączanie adaptera do urządzenia
-
Podłącz pin RX adaptera do pinu TX urządzenia.
-
Podłącz pin TX adaptera do pinu RX urządzenia.
-
Podłącz pin GND adaptera do pinu GND urządzenia.
-
Podłącz pin 5V adaptera do pinu 5V urządzenia (jak pokazano) lub pin 3.3V adaptera do pinu 3.3V urządzenia.
-
Połącz GPIO 0 z GND na urządzeniu za pomocą zworki. (Spowoduje to przejście urządzenia w tryb flashowania po włączeniu zasilania.) Przykładowe okablowanie z użyciem T-Beam.

-
Podłącz urządzenie do portu USB w komputerze.
-
Usuń zworkę łączącą GPIO 0 z GND.

Flashowanie urządzenia

Rozwiązywanie problemów z procesem flashowania
Podłącz i skonfiguruj urządzenie
Flashowanie urządzeń nRF52 i RP2040
-
Proces aktualizacji oprogramowania układowego dla urządzeń nRF52 i RP2040: Urządzenia oparte na architekturach nRF52 i RP2040 oferują prosty proces aktualizacji oprogramowania, który nie wymaga instalacji żadnych sterowników ani oprogramowania na żadnej platformie.
-
Przeciągnij i upuść: Te urządzenia wykorzystują metodę instalacji przeciągnij i upuść do instalacji wersji oprogramowania układowego. Wystarczy przeciągnąć plik oprogramowania na urządzenie w eksploratorze plików.
-
Aktualizacje Over-The-Air (OTA): Urządzenia nRF52 mogą otrzymywać aktualizacje oprogramowania OTA z urządzenia mobilnego przez Bluetooth, co umożliwia płynne aktualizacje bez potrzeby fizycznych połączeń.
-
Przywracanie ustawień fabrycznych: Przed instalacją nowego oprogramowania układowego możesz rozważyć wykonanie przywracania ustawień fabrycznych, aby usunąć wszelkie istniejące dane, które mogą zmieniać format lub lokalizację między wersjami.
-
Konwersja RAK4631-R na RAK4631: Jeśli Twoje urządzenie nie posiada bootloadera Arduino, będziesz musiał przeprowadzić konwersję, aby zapewnić kompatybilność.
-
Używanie Raspberry Pi jako narzędzia do flashowania SWDIO: Jeśli Twoje urządzenie nie może być flashowane przez USB lub Bluetooth, alternatywną opcją jest użycie bezpośredniego połączenia SWDIO z Raspberry Pi jako narzędzia do flashowania.
Aktualizacje oprogramowania układowego metodą przeciągnij i upuść dla nRF52 i RP2040
Flash Device
-
Możesz teraz korzystać z Meshtastic Web Flasher, aby pobrać i przesłać oprogramowanie układowe do swoich urządzeń opartych na nRF52 lub RP2040. Alternatywnie możesz postępować zgodnie z poniższymi instrukcjami, aby pobrać i zainstalować oprogramowanie układowe.
-
Jeśli niedawno wykonałeś Factory Erase, twoje urządzenie może automatycznie uruchomić się w trybie bootloadera. Możesz wtedy przejść bezpośrednio do „Skopiuj odpowiedni plik oprogramowania...” dla swojego konkretnego urządzenia poniżej:
nRF52
-
Pobierz i rozpakuj najnowsze oprogramowanie z Meshtastic Downloads.
-
Podłącz swoje urządzenie do komputera za pomocą kabla USB do przesyłu danych.
-
Naciśnij dwukrotnie przycisk reset na swoim urządzeniu (to spowoduje wejście w tryb bootloadera).
-
Nowy dysk zostanie zamontowany na twoim komputerze (kompatybilny z Windows, Mac, Linux lub Android).
-
Otwórz ten dysk, gdzie powinieneś znaleźć trzy pliki: CURRENT.UF2, INDEX.HTM, oraz INFO_UF2.TXT.
-
Skopiuj odpowiedni plik oprogramowania (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) z folderu release na ten dysk.
-
Po zakończeniu kopiowania pliku urządzenie zrestartuje się i zainstaluje oprogramowanie Meshtastic.
RP2040
-
Pobierz i rozpakuj najnowsze oprogramowanie ze Meshtastic Downloads.
-
Naciśnij i przytrzymaj przycisk BOOTSEL, a następnie podłącz urządzenie do komputera za pomocą kabla USB.
-
Nowy dysk zostanie zamontowany na twoim komputerze (kompatybilny z Windows, Mac, Linux lub Android).
-
Otwórz ten dysk, gdzie powinieneś znaleźć dwa pliki: INDEX.HTM i INFO_UF2.TXT.
-
Skopiuj odpowiedni plik oprogramowania (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) z folderu release na ten dysk.
-
Po zakończeniu kopiowania pliku urządzenie zrestartuje się i zainstaluje oprogramowanie Meshtastic.
Możliwe nietypowe przypadki wgrywania
-
Starsze wersje Meshtastic firmware mogą zawierać przestarzałe dane, co może powodować, że urządzenia utkną w pętli awaryjnej podczas uruchamiania. Jeśli napotkasz problemy podczas aktualizacji urządzenia nRF52 z poprzedniej wersji Meshtastic, może być konieczne wykonanie pełnego resetu fabrycznego wewnętrznej pamięci flash. Proszę postępować zgodnie z przewodnikiem, aby wyczyścić fabrycznie swoje nRF52 przed przejściem do wgrania oprogramowania.
Podłącz i skonfiguruj urządzenie
Aktualizacje oprogramowania układowego Over-the-Air (OTA) dla nRF52
Android
-
Pobierz wersję oprogramowania, którą chcesz zainstalować, ze Meshtastic Download Page lub Meshtastic GitHub.
-
Rozpakuj folder z oprogramowaniem układowym.
-
Otwórz nRF Connect App i wybierz POŁĄCZ ze swoim urządzeniem na zakładce SKANER.
-
Jeśli interfejs wyświetla ROZŁĄCZ w prawym górnym rogu, przejdź do kroku 5. Jeśli wyświetla POŁĄCZ, wybierz POŁĄCZ.
-
Stuknij ikonę DFU w prawym górnym rogu ekranu.
-
Upewnij się, że wybrano "Pakiet dystrybucyjny (ZIP)", a następnie wybierz OK.
-
Wybierz odpowiedni plik oprogramowania urządzenia (kończący się na -ota.zip).
-
Aktualizacja rozpocznie się automatycznie (zwróć uwagę, że proces ten może być powolny).
-
Po zakończeniu aktualizacji urządzenie uruchomi się ponownie automatycznie.
Apple
-
Pobierz wersję oprogramowania, którą chcesz zainstalować, ze Meshtastic Download Page, Meshtastic GitHub lub bezpośrednio przez aplikację iOS/iPadOS.
-
Rozpakuj folder z oprogramowaniem układowym.
-
Otwórz nRF DFU App i wybierz poprawny plik oprogramowania urządzenia (kończący się na -ota.zip).
-
Połącz się ze swoim urządzeniem.
-
Prześlij oprogramowanie układowe.
-
Przejdź do ustawień i włącz "Powiadomienie o odbiorze pakietów".
-
Zmień "Liczbę pakietów" na niższą wartość; niektórzy użytkownicy odnieśli sukces z ustawieniem "5".
Przywracanie ustawień fabrycznych dla urządzeń nRF52/RP2040
-
Meshtastic wykorzystuje bibliotekę littlefs do przechowywania konfiguracji, logów i innych danych w wewnętrznej pamięci flash urządzeń nRF52 i RP2040. Ważne jest, aby zauważyć, że aktualizacja oprogramowania nie usuwa tych dodatkowych danych, co może prowadzić do problemów, jeśli format i lokalizacja danych zmienią się między wersjami.
-
Możesz teraz użyć Meshtastic Web Flasher, aby przywrócić ustawienia fabryczne swoich urządzeń opartych na nRF52 lub RP2040. Odwiedź flashera, wybierz swoją płytkę i kliknij ikonę kosza po prawej stronie przycisku Flash. Otworzy to okno dialogowe do rozpoczęcia procedury kasowania. Alternatywnie możesz postępować zgodnie z poniższymi instrukcjami.
nRF52
-
Pobierz i rozpakuj najnowsze oprogramowanie układowe ze strony pobierania Meshtastic.
-
Podłącz swoje urządzenie do komputera za pomocą kabla USB do przesyłu danych.
-
Dwukrotnie kliknij przycisk reset na swoim urządzeniu, aby wejść w tryb bootloadera.
-
Nowy dysk zostanie zamontowany na twoim komputerze (dotyczy to Windows, Mac lub Linux).
-
Otwórz ten dysk, a powinieneś zobaczyć trzy pliki: CURRENT.UF2, INDEX.HTM, oraz INFO_UF2.TXT.
-
Otwórz INFO_UF2.TXT plik w edytorze tekstu i zanotuj SoftDevice wartość.
-
Zlokalizuj plik dołączony do pobranego oprogramowania układowego, który odpowiada głównej wersji SoftDevice (7.x.x lub 6.x.x). Użyj jednego z Meshtastic_nRF52_factory_erase_v3_S140_7.3.0.uf2 lub Meshtastic_nRF52_factory_erase_v3_S140_6.1.0.uf2, i skopiuj go na nowy dysk. Urządzenie powinno się wtedy zrestartować.
-
Mając zainstalowany Meshtastic CLI, otwórz Terminal lub Konsolę i wpisz polecenie: meshtastic --noproto.
-
Powinieneś zobaczyć komunikat: Formatowanie... Zakończono.
RP2040
-
Pobierz flash_nuke.uf2 plik na swój komputer.
-
Naciśnij i przytrzymaj przycisk BOOTSEL, a następnie podłącz płytkę do komputera za pomocą kabla USB.
-
Płytka powinna teraz pojawić się jako urządzenie pamięci masowej na twoim komputerze, oznaczone jako RPI-RP2.
-
Skopiuj plik flash_nuke.uf2 na to urządzenie.
-
Płytka automatycznie się zrestartuje, a pamięć flash zostanie wymazana.
Konwersja RAK4631-R na RAK4631
Aktualizacja oprogramowania układowego urządzenia USB (DFU)
-
Zainstaluj Python
-
Zainstaluj adafruit-nrfutil
pip3 install adafruit-nrfutil
|
-
Pobierz niezbędny bootloader: WisCore_RAK4631_Board_Bootloader.zip.
-
Podłącz swoje urządzenie RAK do komputera przez USB.
-
Wgraj bootloader.
adafruit-nrfutil --verbose dfu serial --package ./WisCore_RAK4631_Board_Bootloader.zip -p /dev/ttyACM0 -b 115200 --singlebank --touch 1200
|
-
Następnie kontynuuj zgodnie z regularnymi instrukcjami flashowania.
Dodatkowe kroki RUI3
Dotknięto port szeregowy COM11 Otworzono port szeregowy COM11 Rozpoczynanie aktualizacji DFU typu 2, rozmiar SoftDevice: 0, rozmiar bootloadera: 39000, rozmiar aplikacji: 0 Wysyłanie pakietu startowego DFU Przekroczono czas oczekiwania na potwierdzenie od urządzenia. Nie udało się zaktualizować celu. Błąd: Nie odebrano danych na porcie szeregowym. Nie można kontynuować.
|
Debugger
pip3 install pyocd
|
-
Pobierz niezbędny bootloader: WisCore_RAK4631_Board_Bootloader.hex.
-
Podłącz RAKDAP zgodnie z poniższymi instrukcjami:

-
Wgraj bootloader
pyocd flash -t nrf52840 .\WisCore_RAK4631_Board_Bootloader.hex |
-
Kontynuuj zgodnie ze standardowymi instrukcjami wgrywania.
Aktualizacja lub odzyskiwanie bootloadera na urządzeniach nRF52
Metoda 1: Aktualizacja za pomocą pliku UF2 (zalecane)
-
Pobierz właściwy plik UF2 Bootloader.
-
Podłącz swoje urządzenie do komputera za pomocą kabla USB.
-
Aktywuj tryb bootloadera, szybko dwukrotnie naciskając przycisk RESET na swoim urządzeniu. W przypadku Seeed Tracker 1000-E przytrzymaj przycisk użytkownika, a następnie szybko podłącz kabel USB do portu MagSafe dwukrotnie. Urządzenie powinno pojawić się jako dysk wymienny na twoim komputerze.
-
Przeciągnij i upuść plik UF2, który pobrałeś, na dysk wymienny. Urządzenie automatycznie zaktualizuje bootloader i zresetuje się.
-
Po zresetowaniu urządzenia aktualizacja jest zakończona. Twoje urządzenie działa teraz na najnowszej wersji bootloadera i możesz kontynuować flashowanie oprogramowania.
Metoda 2: Użycie 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
-
Otwórz terminal lub wiersz poleceń i zainstaluj adafruit-nrfutil, uruchamiając następujące polecenie:
pip install adafruit-nrfutil |
-
Pobierz właściwy pakiet ZIP.
-
Podłącz swoje urządzenie do komputera za pomocą kabla USB.
-
W terminalu lub wierszu poleceń przejdź do katalogu, w którym pobrałeś pakiet ZIP bootloadera i wykonaj następujące polecenie. Upewnij się, że zamienisz /dev/ttyACM0 na właściwy port dla Twojego urządzenia (użytkownicy Windows mogą użyć COMx):
adafruit-nrfutil --singlebank --touch 1200 --verbose dfu serial --package
|
-
Po zakończeniu procesu aktualizacja jest ukończona. Twoje urządzenie działa teraz z najświeższą wersją bootloadera, co pozwala na kontynuację wgrywania oprogramowania.
Metoda 3: Użycie Debuggera
Używanie SWDIO do flashowania z Raspberry Pi
Konfiguracja okablowania
Zainstaluj oprogramowanie 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
|
Zweryfikuj połączenie
$ 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 Licencjonowane na podstawie GNU GPL v2 W przypadku zgłoszeń błędów, przeczytaj http://openocd.org/doc/doxygen/bugs.html srst_only separate srst_gates_jtag srst_push_pull connect_deassert_srst swd Info : nasłuchiwanie na porcie 6666 na połączenia tcl Info : nasłuchiwanie na porcie 4444 na połączenia telnet Info : sterownik BCM2835 GPIO JTAG/SWD bitbang Info : prędkość zegara 100 kHz Info : SWD DPIDR 0x2ba01477 Info : [nrf52.cpu] wykryto procesor Cortex-M4 r0p1 Info : [nrf52.cpu] cel ma 6 punktów przerwania, 4 punkty obserwacji Info : [nrf52.cpu] Badanie zakończone sukcesem Info : [nrf52.cpu] uruchamianie serwera gdb na 3333 Info : nasłuchiwanie na porcie 3333 na połączenia gdb Info : akceptowanie połączenia 'telnet' na tcp/4444
|
Pobierz oprogramowanie układowe
Wgraj oprogramowanie
$ telnet 127.0.0.1 4444 Próba połączenia z 127.0.0.1... Połączono z 127.0.0.1. Znak ucieczki to '^]'. Otwórz On-Chip Debugger > init > reset init > halt > nrf5 mass_erase > program firmware.hex verify > reset > exit 0
|
Nawiąż połączenie