ESP32-laitteiden ohjelmointi
Meshtastic Web Flasherin käyttö
Palaa laite
-
Kytke laitteesi
-
Vieraile flasher.meshtastic.org *vaatii Chrome- tai Edge-selaimen
-
Noudata ohjeita

Yhdistä ja asenna laite
Firmware-ohjelmointi komentoriviltä
Yhteyden tarkistus
-
Käytä firmware-tbeam0.7-X.X.X.xxxxxxx.bin T-Beam 0.7:lle.
-
firmware-tbeam-X.X.X.xxxxxxx.bin ei ole yhteensopiva.
Komentorivikäyttöohjeet
Asenna vaaditut ohjelmistot
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
-
Lataa ja asenna Python. Asennuksen aikana varmista, että valitset vaihtoehdon Lisää Python X.Y PATHiin.
-
Lataa ja asenna Git Bash (tai jokin muu sopiva komentokehote), ja suorita kaikki seuraavat komennot siitä komentokehotteesta.
py --version pip --version
|
pip3 install --upgrade esptool
|
Tarkista yhteys siruun
-
Linuxissa ja macOS:ssä saatat joutua erikseen määrittämään esptoolin .py skripti. Käytä komentoa esptool.py chip_id tehdäksesi tämän, riippuen ympäristöstäsi.
-
Windowsissa sinun täytyy nimenomaisesti määritellä esptool .py skripti käyttämällä komentoa esptool.py chip_id varmistaaksesi asianmukaisen toiminnan.
Komento
esptool chip_id
|
Odotettu tulos
# Sinun pitäisi nähdä tulos, joka on samanlainen kuin tämä: mydir$ esptool chip_id esptool.py v2.6 Löytyi 2 sarjaporttia Sarjaportti /dev/ttyUSB0 Yhdistetään.... Tunnistetaan piirityyppiä... ESP32 Piiri on ESP32D0WDQ6 (versio 1) Ominaisuudet: WiFi, BT, Dual Core, 240MHz, VRef-kalibrointi efusessa, Koodausjärjestelmä Ei MAC: 24:6f:28:b5:36:71 Lähetetään stubia... Stub käynnissä... Stub käynnissä... Varoitus: ESP32:lla ei ole Chip ID:tä. Luetaan MAC sen sijaan. MAC: 24:6f:28:b5:36:71 Kovaa nollaus RTS-napin kautta...
|
Lataa laiteohjelmisto
-
Siirry Meshtastic Downloads Page -sivulle saadaksesi uusimman laiteohjelmiston.
-
Selaa alas Firmware-osioon ja valitse jokin seuraavista vaihtoehdoista mieltymystesi mukaan:
-
Lataa Stable: Vakaat, hyvin testatut julkaisut.
-
Lataa Alpha: Uudemmat, kokeelliset julkaisut, jotka sisältävät uusimmat ominaisuudet.
-
Kun sinut ohjataan GitHubin julkaisusivulle, selaa alas Assets-osioon ja laajenna se.
-
Tunnista laitteellesi sopiva laiteohjelmisto sen arkkitehtuurin mukaan (esim., firmware-esp32s3 ESP32-S3-pohjaisille laitteille kuten Heltec V3).
-
Lataa tiedosto ja tee muistiinpano sen sijainnista järjestelmässäsi, joka on tyypillisesti ~/Downloads kansio.
Siirry laiteohjelmistohakemistoon
cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
|
Asenna tai päivitä firmware
Huomioithan ennen aloittamista:
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
|
Yhdistä ja asenna laite
Flashaus ulkoisella sarjaporttiadapterilla
Flashing-prosessi
-
Piiripulan vuoksi äskettäin hankituissa laitteissa, kuten TTGO T-Beam, voi olla perintö- tai ei-standardeja USB-Serial-sovitinpiirejä, jotka voivat olla epäluotettavia tietyissä tilanteissa.
-
Joissakin laitteissa voi olla viallisia USB-Serial-piirejä, mikä aiheuttaa yhteysongelmia.
-
Tietyt laitteet, kuten Hydra (Meshtastic-DIY-kohde)
USB-Serial-sovittimet

Sovittimen yhdistäminen laitteeseen
-
Yhdistä sovittimen RX-nasta laitteen TX-nastaan.
-
Yhdistä sovittimen TX-nasta laitteen RX-nastaan.
-
Yhdistä sovittimen GND-nasta laitteen GND-nastaan.
-
Yhdistä joko sovittimen 5V-nasta laitteen 5V-nastaan (kuten kuvassa) tai sovittimen 3,3V-nasta laitteen 3,3V-nastaan.
-
Yhdistä GPIO 0 laitteessa GND:hen hyppylangalla. (Tämä asettaa laitteen flash-tilaan käynnistyksen yhteydessä.) Esimerkkikaavio, jossa on T-Beam.

-
Yhdistä laite tietokoneen USB-porttiin.
-
Poista hyppylanka, joka yhdistää GPIO 0 ja GND.

Laitteen flashaaminen

Flashausprosessin vianmääritys
Yhdistä ja asenna laite
nRF52- ja RP2040-laitteiden flashaus
-
Laiteohjelmiston päivitysprosessi nRF52- ja RP2040-laitteille: nRF52- ja RP2040-arkkitehtuureihin perustuvat laitteet tarjoavat suoraviivaisen laiteohjelmiston päivitysprosessin, joka ei vaadi ajureiden tai ohjelmistojen asennusta millään alustalla.
-
Vedä ja pudota: Nämä laitteet käyttävät vedä ja pudota -asennusmenetelmää laiteohjelmistopäivitysten asentamiseen. Vedä vain laiteohjelmistotiedosto laitteelle tiedostoselaimessasi.
-
Langattomat (OTA) päivitykset: nRF52-laitteet voivat vastaanottaa OTA-laiteohjelmistopäivityksiä mobiililaitteen kautta Bluetoothilla, mikä mahdollistaa saumattomat päivitykset ilman fyysisiä yhteyksiä.
-
Tehdaspoisto: Ennen uuden laiteohjelmiston asentamista kannattaa harkita tehdaspoistoa poistaaksesi olemassa olevat tiedot, jotka saattavat muuttua formaatissa tai sijainnissa julkaisujen välillä.
-
RAK4631-R:n muuntaminen RAK4631:ksi: Jos laitteessasi ei ole Arduino-bootloaderia, sinun täytyy tehdä muunnos yhteensopivuuden varmistamiseksi.
-
Raspberry Pi:n käyttäminen SWDIO-flash-työkaluna: Jos laitetta ei voi flashata USB:n tai Bluetoothin kautta, vaihtoehtona on käyttää suoraa SWDIO-yhteyttä Raspberry Pi:n kanssa flash-työkaluna.
Vedä ja pudota laiteohjelmistopäivitykset nRF52:lle ja RP2040:lle
Palaa laite
-
Voit nyt käyttää Meshtastic Web Flasheria ladataksesi ja siirtääksesi laiteohjelmiston nRF52- tai RP2040-pohjaisiin laitteisiisi. Vaihtoehtoisesti voit seurata alla olevia ohjeita ladataksesi ja asentaaksesi laiteohjelmiston.
-
Jos olet äskettäin suorittanut Factory Erase -toiminnon, laitteesi saattaa käynnistyä automaattisesti bootloader-tilaan. Voit sitten siirtyä suoraan kohtaan "Kopioi sopiva firmware..." omalle laitteellesi alla:
nRF52
-
Lataa ja pura uusin firmware Meshtastic Downloads -sivustolta.
-
Liitä laitteesi tietokoneeseen USB-datakaapelilla.
-
Paina reset-painiketta laitteessasi kahdesti (tämä käynnistää bootloader-tilan).
-
Uusi asema liitetään tietokoneeseesi (yhteensopiva Windowsin, Macin, Linuxin tai Androidin kanssa).
-
Avaa tämä asema, josta löydät kolme tiedostoa: CURRENT.UF2, INDEX.HTM, ja INFO_UF2.TXT.
-
Kopioi sopiva firmware-tiedosto (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) julkaisukansiosta tälle asemalle.
-
Kun tiedoston kopiointi on valmis, laite käynnistyy uudelleen ja asentaa Meshtastic-firmware-ohjelmiston.
RP2040
-
Lataa ja pura uusin firmware Meshtastic Downloads -sivustolta.
-
Paina ja pidä BOOTSEL-painiketta painettuna, ja liitä sitten laite tietokoneeseesi USB-kaapelilla.
-
Uusi asema liitetään tietokoneeseesi (yhteensopiva Windowsin, Macin, Linuxin tai Androidin kanssa).
-
Avaa tämä asema, josta löydät kaksi tiedostoa: INDEX.HTM ja INFO_UF2.TXT.
-
Kopioi sopiva firmware-tiedosto (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) julkaisukansiosta tälle asemalle.
-
Kun tiedoston kopiointi on valmis, laite käynnistyy uudelleen ja asentaa Meshtastic-firmware-ohjelmiston.
Mahdolliset flashauksen erityistapaukset
-
Vanhemmat versiot Meshtastic firmware -ohjelmistosta saattavat sisältää vanhentuneita tietoja, jotka voivat aiheuttaa laitteiden jäämisen käynnistysvirherinkiin. Jos kohtaat ongelmia päivittäessäsi nRF52-laitettasi aiemmasta Meshtastic-versiosta, saatat joutua tekemään täydellisen tehdasasetusten palautuksen laitteen sisäiseen flash-muistiin. Noudata ohjetta tehdasasetusten palauttamiseksi nRF52-laitteellesi ennen kuin jatkat laiteohjelmiston lataamista.
Yhdistä ja asenna laite
Langattomat (OTA) laiteohjelmistopäivitykset nRF52:lle
Android
-
Lataa haluamasi laiteohjelmistoversion asennus Meshtastic Download Page tai Meshtastic GitHub.
-
Pura laiteohjelmistokansio.
-
Avaa nRF Connect App ja valitse LAITTEESTASI CONNECT SCANNER-välilehdeltä.
-
Jos käyttöliittymä näyttää oikeassa yläkulmassa DISCONNECT, siirry kohtaan 5. Jos se näyttää CONNECT, valitse CONNECT.
-
Napauta DFU-kuvaketta näytön oikeassa yläkulmassa.
-
Varmista, että "Distribution Packet (ZIP)" on valittuna, ja valitse sitten OK.
-
Valitse sopiva laiteohjelmistotiedosto (joka päättyy -ota.zip).
-
Päivitys käynnistyy automaattisesti (huomaa, että tämä prosessi voi olla hidas).
-
Kun päivitys on valmis, laite käynnistyy automaattisesti uudelleen.
Apple
-
Lataa haluamasi laiteohjelmistoversion asennus Meshtastic Download Page, Meshtastic GitHub tai suoraan iOS/iPadOS-sovelluksen kautta.
-
Pura laiteohjelmistokansio.
-
Avaa nRF DFU App ja valitse oikea laiteohjelmistotiedosto (joka päättyy -ota.zip).
-
Yhdistä laitteeseesi.
-
Lataa laiteohjelmisto.
-
Siirry asetuksiin ja ota käyttöön "Packets Receipt Notification".
-
Vaihda "Pakettien määrä" pienempään arvoon; jotkut käyttäjät ovat onnistuneet asettamalla arvoksi "5".
Tehdasasetusten palautus nRF52/RP2040-laitteille
-
Meshtastic käyttää littlefs-kirjastoa tallentaakseen asetukset, lokit ja muuta dataa nRF52- ja RP2040-laitteiden sisäiseen flash-muistiin. On tärkeää huomata, että laiteohjelmiston päivitys ei poista tätä lisädataa, mikä voi aiheuttaa ongelmia, jos datan muoto ja sijainti muuttuvat julkaisujen välillä.
-
Voit nyt käyttää Meshtastic Web Flasheria tehdasasetusten pyyhkimiseen nRF52- tai RP2040-pohjaisille laitteillesi. Käy flasherissa, valitse korttisi ja napsauta roskakorikuvaketta Flash-painikkeen oikealla puolella. Tämä avaa valintaikkunan, jolla käynnistetään pyyhkimisprosessi. Vaihtoehtoisesti voit seurata alla olevia ohjeita.
nRF52
-
Lataa ja pura uusin laiteohjelmisto Meshtastic Downloads -sivulta.
-
Yhdistä laitteesi tietokoneeseen USB-datakaapelilla.
-
Kaksoisnapsauta laitteen reset-painiketta päästäksesi bootloader-tilaan.
-
Uusi asema liitetään tietokoneeseesi (tämä koskee Windowsia, Macia tai Linuxia).
-
Avaa tämä asema, ja sinun pitäisi nähdä kolme tiedostoa: CURRENT.UF2, INDEX.HTM, ja INFO_UF2.TXT.
-
Avaa INFO_UF2.TXT tiedostoa tekstieditorissa ja huomioi SoftDevice arvoa.
-
Etsi ladatusta laiteohjelmistosta tiedosto, joka vastaa SoftDevice-pääversionumeroasi (joko 7.x.x tai 6.x.x). Käytä joko Meshtastic_nRF52_factory_erase_v3_S140_7.3.0.uf2 tai Meshtastic_nRF52_factory_erase_v3_S140_6.1.0.uf2, ja kopioi se uudelle asemalle. Laite käynnistyy sitten uudelleen.
-
Kun Meshtastic CLI on asennettu, avaa terminaali tai konsoli ja kirjoita komento: meshtastic --noproto.
-
Sinun pitäisi nähdä viesti: Muotoillaan... Valmis.
RP2040
-
Lataa flash_nuke.uf2 tiedosto tietokoneellesi.
-
Paina ja pidä BOOTSEL-painiketta painettuna, ja liitä sitten kortti tietokoneeseesi USB-kaapelilla.
-
Kortin pitäisi nyt näkyä tietokoneellasi massamuistilaitteena nimellä RPI-RP2.
-
Kopioi flash_nuke.uf2-tiedosto tälle laitteelle.
-
Kortti käynnistyy automaattisesti uudelleen, ja flash-muisti tyhjennetään.
RAK4631-R:n muuntaminen RAK4631:ksi
USB-laitteen laiteohjelmistopäivitys (DFU)
-
Asenna Python
-
Asenna adafruit-nrfutil
pip3 install adafruit-nrfutil
|
-
Lataa tarvittava käynnistyslataimen tiedosto: WisCore_RAK4631_Board_Bootloader.zip.
-
Yhdistä RAK-laitteesi tietokoneeseen USB:n kautta.
-
Palaa käynnistyslataimen.
adafruit-nrfutil --verbose dfu serial --package ./WisCore_RAK4631_Board_Bootloader.zip -p /dev/ttyACM0 -b 115200 --singlebank --touch 1200
|
-
Tämän jälkeen jatka tavallisten ohjeiden mukaan.
Lisä RUI3-vaiheet
Kosketettiin sarjaporttia COM11 Avattiin sarjaportti COM11 Aloitetaan tyyppi 2 DFU-päivitys, SoftDevice-koko: 0, käynnistyslataimen koko: 39000, sovelluksen koko: 0 Lähetetään DFU:n aloituspaketti Aika odottaa laitteen kuittausta päättyi. Kohteen päivitys epäonnistui. Virhe: Sarjaportilta ei vastaanotettu dataa. Ei voi jatkaa.
|
Debuggeri
pip3 install pyocd
|
-
Lataa tarvittava bootloader: WisCore_RAK4631_Board_Bootloader.hex.
-
Yhdistä RAKDAP alla annettujen ohjeiden mukaisesti:

-
Flashaa bootloader
pyocd flash -t nrf52840 .\WisCore_RAK4631_Board_Bootloader.hex |
-
Jatka normaaleilla flashausohjeilla.
Bootloaderin päivittäminen tai palauttaminen nRF52-laitteissa
Menetelmä 1: Päivitys UF2-tiedostolla (Suositeltu)
-
Lataa oikea UF2 Bootloader -tiedosto.
-
Yhdistä laitteesi tietokoneeseen USB-kaapelilla.
-
Aktivoi bootloader-tila painamalla nopeasti kaksi kertaa laitteen RESET-painiketta. Seeed Tracker 1000-E:ssä pidä käyttäjän painiketta painettuna ja kytke sitten USB-kaapeli MagSafe-porttiin kahdesti nopeasti. Laite näkyy tietokoneellasi irrotettavana asemana.
-
Vedä ja pudota lataamasi UF2-tiedosto irrotettavaan asemaan. Laite päivittää automaattisesti bootloaderin ja käynnistyy uudelleen.
-
Kun laite käynnistyy uudelleen, päivitys on valmis. Laitteesi käyttää nyt uusinta bootloader-versiota, ja voit jatkaa firmwaren lataamista.
Menetelmä 2: adafruit-nrfutilin käyttäminen
-
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
-
Avaa terminaali tai komentokehote ja asenna adafruit-nrfutil suorittamalla seuraava komento:
pip install adafruit-nrfutil |
-
Hanki oikea ZIP-paketti.
-
Yhdistä laitteesi tietokoneeseen USB-kaapelilla.
-
Siirry terminaaliin tai komentokehotteeseen hakemistoon, johon latasit bootloader ZIP-paketin, ja suorita seuraava komento. Muista korvata /dev/ttyACM0 oikealla portilla laitteellesi (Windows-käyttäjät voivat käyttää COMx):
adafruit-nrfutil --singlebank --touch 1200 --verbose dfu serial --package
|
-
Kun prosessi on valmis, päivitys on suoritettu. Laitteesi toimii nyt uusimmalla bootloader-versiolla, mikä mahdollistaa firmwaren lataamisen jatkamisen.
Menetelmä 3: Debuggerin käyttäminen
SWDIO:n käyttäminen ohjelmointiin Raspberry Pi:n kanssa
Johdotuksen asennus
Asenna OpenOCD-ohjelmisto
$ 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
|
Vahvista yhteys
$ 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 Lisensoitu GNU GPL v2 -lisenssillä Virheraportteja varten, lue http://openocd.org/doc/doxygen/bugs.html srst_only separate srst_gates_jtag srst_push_pull connect_deassert_srst swd Info : Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet connections Info : BCM2835 GPIO JTAG/SWD bitbang driver Info : clock speed 100 kHz Info : SWD DPIDR 0x2ba01477 Info : [nrf52.cpu] Cortex-M4 r0p1 processor detected Info : [nrf52.cpu] target has 6 breakpoints, 4 watchpoints Info : [nrf52.cpu] Examination succeed Info : [nrf52.cpu] starting gdb server on 3333 Info : Listening on port 3333 for gdb connections Info : accepting 'telnet' connection on tcp/4444
|
Lataa laiteohjelmisto
Ohjelmoi laiteohjelmisto
$ telnet 127.0.0.1 4444 Yritetään 127.0.0.1... Yhdistetty osoitteeseen 127.0.0.1. Poistumismerkki on '^]'. Avaa On-Chip Debugger > init > reset init > halt > nrf5 mass_erase > program firmware.hex verify > reset > exit 0
|
Luo yhteys