Kazalo:

Kako uporabljati razhroščevalnik na ESP32: 11 korakov (s slikami)
Kako uporabljati razhroščevalnik na ESP32: 11 korakov (s slikami)

Video: Kako uporabljati razhroščevalnik na ESP32: 11 korakov (s slikami)

Video: Kako uporabljati razhroščevalnik na ESP32: 11 korakov (s slikami)
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Julij
Anonim
Kako uporabljati razhroščevalnik na ESP32
Kako uporabljati razhroščevalnik na ESP32

Ste si kdaj želeli pokukati v svojo kodo in ugotoviti, zakaj se obnaša tako, kot je? Tradicionalno bi v projektih ESP32 morali dodati neskončno izjavo o tiskanju, da bi ugotovili, kaj se dogaja, vendar obstaja boljši način!

Odpravljalec napak je način, da vidite, kaj se dogaja na določenih delih vaše kode, in preizkusite različne vrednosti spremenljivk brez ponovnega sestavljanja kode, običajno nam to ni na voljo pri vdelanih projektih, vendar vam bom v tem priročniku pokazal kako ga uporabljati na ESP32.

V tem priročniku vam bom pokazal nastavitev strojne opreme, programsko opremo in prikazal preprost primer uporabe razhroščevalnika.

Zaloge

  • ESP -Prog - To je plošča, potrebna za odpravljanje napak

    • Točno to sem kupil*
    • 5 USD cenejši, vendar ga nisem preizkusil*
  • ESP32, ki izbije pin 12, 13, 14, 15

    • Adafrutovo pero Huzzah32
    • D1 Mini ESP32*
  • [NEOBVEZNO] Ščit za odpravljanje napak prodam na Tindie

    • Pero Huzzah32
    • D1 Mini ESP32

* = Partnerska povezava

Korak: Oglejte si video

Image
Image

Imam video na to temo, če ga želite preveriti.

Na svojem kanalu ponavadi snemam videoposnetke na osnovi ESP8266 in ESP32, zato, če vas to zanima, si oglejte!

2. korak: Strojna oprema - Deli in ožičenje

Strojna oprema - Deli in ožičenje
Strojna oprema - Deli in ožičenje
Strojna oprema - Deli in ožičenje
Strojna oprema - Deli in ožičenje
Strojna oprema - Deli in ožičenje
Strojna oprema - Deli in ožičenje

Za uporabo razhroščevalnika potrebujete le ESP-Prog in skoraj katero koli ploščo ESP32 (povezave do njih v prejšnjem koraku)

ESP-Prog:

ESP-Prog je plošča, ki so jo oblikovali espressif, proizvajalci čipov ESP32 in ESP8266. Povezuje se z zatiči JTAG ESP32, kar nam omogoča uporabo razhroščevalnika. Lahko se uporablja tudi za programiranje plošč ESP32, vendar tega tukaj ne bom obravnaval.

Plošča ESP32:

Za to lahko uporabite v bistvu katero koli ploščo ESP32, ko izbije zatiče JTAG, ki so 12, 13, 14 in 15. Preizkusil sem tako Adafruit pero Huzzah32 kot ploščo D1 Mini 32 in oba sta delovala dobro.

Upoštevajte, da lahko v skici z razhroščevalnikom uporabite zatiče JTAG, na primer vgrajena LED plošča Huzzah32 je na pin 13, zato je med odpravljanjem napak ne morete uporabljati.

Ožičenje:

Če želite ESP-Prog priključiti na ESP32, uporabite vodilo za ožičenje, kot je prikazano na zgornji sliki. Če ne vidite takoj ustreznih zatičev, preverite pri diagramu ožičenja vaše plošče ESP32, saj včasih uporabljajo drugačno shemo poimenovanja.

Ščiti za odpravljanje napak:

Ti so neobvezni, vendar na Tindieju prodajam nekaj ščitov za Huzzah32 in D1 Mini 32, zaradi katerih je povezovanje ESP-Proga zelo preprosto, saj prekine ustrezne zatiče na priključek IDC, ki ga lahko uporabite za povezavo neposredno s tračnim kablom ščit in ESP-Prog

3. korak: Strojna oprema - nastavitev gonilnika

Strojna oprema - nastavitev gonilnika
Strojna oprema - nastavitev gonilnika
Strojna oprema - nastavitev gonilnika
Strojna oprema - nastavitev gonilnika
Strojna oprema - nastavitev gonilnika
Strojna oprema - nastavitev gonilnika

Za uporabo programa ESP-prog za odpravljanje napak moramo zanj namestiti ustrezne gonilnike. PlatformIO ponuja nekaj korakov za to, vendar bom v tem priročniku prešel skozi korake sistema Windows.

  1. Od tu naložite in namestite gonilnike FTDI za ESP-Prog, pomaknite se v desno, da naložite različico »setup executable«, da olajšate.
  2. Od tu prenesite in namestite orodje Zadig, kar nam omogoča namestitev splošnega gonilnika, potrebnega za odpravljanje napak.
  3. Ko je ESP-Prog priključen, odprite Zadig
  4. V aplikaciji Zadig pod »Možnosti« kliknite »Seznam vseh naprav«
  5. Spustni meni v Zadigu bo zdaj zapolnjen, izberite možnost »Dvojni RS232-HS (vmesnik 0)«. Poskrbite, da izberete vmesnik 0!
  6. Desno od zelene puščice je treba izbrati "WinUSB", nato kliknite "Zamenjaj gonilnik"

Ko je to končano, morate gonilnike nastaviti za uporabo!

Opomba: Če spremenite vrata USB, ki jih uporabljate za ESP-Prog, boste morda morali znova ponoviti korake 3-6. Če pri odpravljanju napak pride do napake, kot je prikazano na zgornji sliki, morate ponoviti korake.

4. korak: Programska oprema: Namestitev PlatformIO

Programska oprema: Namestitev PlatformIO
Programska oprema: Namestitev PlatformIO
Programska oprema: Namestitev PlatformIO
Programska oprema: Namestitev PlatformIO
Programska oprema: Namestitev PlatformIO
Programska oprema: Namestitev PlatformIO

PlatformIO je IDE za razvoj z različnimi vgrajenimi okviri, vključno z ekosistemom Arduino. Uporaba je bolj zapletena kot nekaj podobnega Arduino IDE, vendar je zelo zmogljiva in ima nekatere funkcije, ki jih Arduino IDE zelo pogreša, na primer samodejno dokončanje.

Za uporabo razhroščevalnika mora PlatformIO. Če že poznate PlatformIO, preskočite nekaj korakov naprej.

  • Prenesite in namestite Visual Studio Code (VS Code) s povezave na spletnem mestu PlatformIO.org
  • Odprite VS Code in odprite meni razširitev, gumb je označen na zgornji sliki
  • V iskanje vnesite "platformio", ga izberite in kliknite namesti.

5. korak: Programska oprema: Uporaba PlatformIO

Programska oprema: Uporaba PlatformIO
Programska oprema: Uporaba PlatformIO
Programska oprema: Uporaba PlatformIO
Programska oprema: Uporaba PlatformIO
Programska oprema: Uporaba PlatformIO
Programska oprema: Uporaba PlatformIO

Uporaba PlatformIO je nekoliko drugačna od uporabe Arudino IDE, zato bomo v tem koraku obravnavali le osnove pridobivanja primera na plošči.

Odpiranje primera:

  1. Kliknite gumb Domov v orodni vrstici PlatformIO (Kot je prikazano na sliki)
  2. Kliknite gumb "Primeri projektov"
  3. V razdelku Espressif 32 izberite primer "Arduino-blink"

S tem se odpre vzorčni projekt utripanja. Postavitev PlatformIO je precej drugačna v primerjavi s projektom Arduino, zato pojdimo skozi osnove.

Kje je koda?

Koda za vaš projekt bo shranjena v mapi "src", za primer utripanja boste videli datoteko "blink.cpp", ta datoteka je enaka vaši datoteki skice (.ino) v projektu Arduino.

Kako konfiguriram svojo ploščo?

Konfiguracije za vaš projekt so shranjene v datoteki "platformio.ini" v vašem projektu. To je pravzaprav ena mojih najljubših stvari o PlatformIO v primerjavi z Arduino IDE, nikoli mi ni bilo smiselno, da nastavitve plošče niso bile vezane na skice.

Primer.ini vsebuje definicije za več različnih plošč, vendar pa poenostavimo brisanje spodnjih dveh definicij.

Kje nastavim vrata COM?

PlatformIO bo dejansko samodejno poskušal najti ustrezna vrata COM za uporabo, zato se lahko dejansko izognete, če za to ne nastavite ničesar. Če pa imate več vrat COM, ki jih boste imeli pri uporabi razhroščevalnika, se mi zdi smiselno nastaviti tistega, ki ga potrebujete. Različne naprave, ki jih imate, si lahko ogledate s klikom na razdelek »Naprave« na zavihku domača stran in lahko nastavite, kateri vaš ESP32 je v "platformio.ini", tako da dodate konfiguracijo "upload_port".

Kako naložim kodo?

Kliknite gumb Naloži (ikona je puščica, ki kaže desno) in kodo mora zbrati in naložiti. Na plošči bi morali imeti utripajočo LED.

6. korak: Odpravljanje napak: Potencialna bananina koža

Odpravljanje napak: Potencialna bananina koža!
Odpravljanje napak: Potencialna bananina koža!
Odpravljanje napak: Potencialna bananina koža!
Odpravljanje napak: Potencialna bananina koža!
Odpravljanje napak: Potencialna bananina koža!
Odpravljanje napak: Potencialna bananina koža!

To je nekaj, kar me je ujelo, ko sem to pripravljal, in upam, da bo popravljeno, ko boste poskusili, vendar se mi je zdelo pomembno, da odidem od tu.

V času izdelave tega priročnika je najnovejša različica PlatformIO 4.3.0 in vsebuje napako, ki se nanaša na možnost odpravljanja napak. Na srečo lahko precej enostavno posodobimo na najnovejšo razvojno različico, kar reši težavo.

Na domači strani preverite različico jedra PlatformIO, če je "4.3.0", izvedite naslednje korake.

  1. V orodni vrstici PlatformIO kliknite ikono terminala
  2. V vrsti terminala: pio upgrade --dev
  3. Ponovno zaženite kodo VS in PlatfromIO

7. korak: Odpravljanje napak: konfiguracija

Odpravljanje napak: konfiguracija
Odpravljanje napak: konfiguracija

Da bi omogočili odpravljanje napak, moramo urediti datoteko "PlatofrmIO.ini". Dodati ji moramo le dve stvari.

debug_tool = esp-prog

S tem nastavite orodje za odpravljanje napak, ki ga uporabljamo.

debug_init_break = nastavitev tbreak

To je trik, ki smo se ga naučili iz videoposnetka Andress Spiess o odpravljanju napak na ESP32. Odpravljalec napak pove, naj se ustavi pri nastavitvi naše aplikacije.

8. korak: Odpravljanje napak: Zagon odpravljanja napak

Odpravljanje napak: Zagon odpravljanja napak
Odpravljanje napak: Zagon odpravljanja napak
Odpravljanje napak: Zagon odpravljanja napak
Odpravljanje napak: Zagon odpravljanja napak
Odpravljanje napak: Zagon odpravljanja napak
Odpravljanje napak: Zagon odpravljanja napak
Odpravljanje napak: Zagon odpravljanja napak
Odpravljanje napak: Zagon odpravljanja napak

Preden se lotimo tega, bomo v skico naredili manjšo spremembo, ki bo olajšala prikaz, kaj lahko storite z odpravljanjem napak.

  1. Ustvarite novo spremenljivko, "int delayTime = 1000;" zunaj kakršnih koli metod bo to globalna spremenljivka.
  2. Številko znotraj klicev zakasnitve v zanki zamenjajte s to novo spremenljivko: delay (delayTime);

Še enkrat naložite kodo na ploščo, nato za začetek odpravljanja napak v orodni vrstici kliknite »Zaženi« in nato »Začni odpravljanje napak«

V oknu terminala boste videli, kako se stvari premikajo, a tudi če to navaja, da je bil uspeh, če kliknete »Debug Console«, boste videli, da še vedno deluje, bo trajalo nekaj sekund.

Če je vse potekalo po pričakovanjih, se bo odpravljalec napak ustavil na začetku nastavitve.

9. korak: Odpravljanje napak: Osnovna uporaba

Odpravljanje napak: Osnovna uporaba
Odpravljanje napak: Osnovna uporaba
Odpravljanje napak: Osnovna uporaba
Odpravljanje napak: Osnovna uporaba
Odpravljanje napak: Osnovna uporaba
Odpravljanje napak: Osnovna uporaba
Odpravljanje napak: Osnovna uporaba
Odpravljanje napak: Osnovna uporaba

Poglejmo nekaj osnov, kaj lahko storite z razhroščevalnikom

Ustvarjanje prelomnih točk:

Prelomna točka je točka vaše kode, kjer želite, da se razhroščevalnik ustavi. Če želite ustvariti prelomno točko, kliknite levo od številke vrstice. Kot predstavitev dodajte prelomno točko v prvo vrstico v metodi zanke.

Krmarjenje po prelomni točki:

Če se želite premakniti med prelomno točko ali se premakniti v naslednjo vrstico kode, lahko uporabite orodja, ki se prikažejo na vrhu zaslona. Pritisnite gumb "nadaljevanje" (izgleda kot gumb za predvajanje), da premaknete prelomno točko, ki smo jo pravkar ustvarili v zanki.

Spremenljive ure:

Ure spremenljivk vam omogočajo spremljanje vrednosti spremenljivk, ko se razhroščevalnik ustavi na prelomni točki. Če želite dodati novo spremenljivko, kliknite ikono + in vnesite ime spremenljivke. Kot predstavitev vnesite spremenljivko, ki smo jo dodali v prejšnjem koraku "delayTime"

Pregledovalnik spremenljivk:

Ogledate si lahko tudi vse spremenljivke in njihove vrednosti, ki so na voljo na vaši trenutni točki preloma. Če želite to predstaviti, če pogledate v razdelek "Global", bi morali najti spremenljivko "delayTime".

Urejanje vrednosti spremenljivk:

Prav tako lahko uredite vrednosti spremenljivk in to bo takoj vplivalo na vedenje vaših kod. Če želite to dokazati, kliknite spremenljivko delayTime v razdelku Pregledovalnik spremenljivk in spremenite vrednost na "100". Če želite prikazati to delovanje, onemogočite prelomno točko znotraj zanke, tako da znova kliknete levo od številke vrstice. Pritisnite gumb za nadaljevanje na navigacijski vrstici prelomne točke. LED na vašem ESP32 naj bi zdaj utripala veliko hitreje kot prej.

10. korak: Odpravljanje težav

Odpravljanje težav
Odpravljanje težav

Med preskušanjem sem ugotovil, da včasih nisem mogel naložiti v ESP32, medtem ko je bil povezan z ESP-prog, in nisem mogel ugotoviti vzorca, zakaj se je to zgodilo, ker sem večino časa lahko naložil brez kakršne koli težave. Ugotovil sem, da lahko preprosto odklopim ESP32 in ESP-Prog, naložim kodo na ESP32 in jih nato znova povežem in vse bo delovalo v redu.

11. korak: Zaključek

Mislim, da je to res kul orodje, ki ga lahko dodate v orodjarno, da ugotovite, kaj se dogaja v vašem projektu.

Rad bi slišal, če se vam zdi to koristno !. Prosim, sporočite mi v spodnjih komentarjih ali se mi pridružite in kopici drugih ustvarjalcev na mojem strežniku Discord, kjer lahko razpravljamo o tej temi ali kateri koli drugi, povezani z izdelovalci, ki jih imate, ljudje so tam res v pomoč, zato je to odličen kraj za obešanje ven.

Prav tako bi se rad zahvalil svojim Github sponzorjem, ki mi pomagajo pri podpori, kar počnem. Resnično to cenim. Če ne veste, se Github za prvo leto ujema s sponzorstvi, zato se bodo v naslednjih nekaj mesecih 100% ujemali s tem. Hvala za branje!

Priporočena: