Cuprins:

Cum se folosește un depanator pe un ESP32: 11 pași (cu imagini)
Cum se folosește un depanator pe un ESP32: 11 pași (cu imagini)

Video: Cum se folosește un depanator pe un ESP32: 11 pași (cu imagini)

Video: Cum se folosește un depanator pe un ESP32: 11 pași (cu imagini)
Video: FEMEIA De 399 De ANI ! #shorts 2024, Iulie
Anonim
Cum se folosește un depanator pe un ESP32
Cum se folosește un depanator pe un ESP32

Ați dorit vreodată să aruncați o privire în codul dvs. pentru a vedea de ce se comportă așa cum este? În mod tradițional, în proiectele ESP32, ar fi trebuit să adăugați o declarație de imprimare interminabilă pentru a încerca să aflați ce se întâmplă, dar există o modalitate mai bună!

Un depanator este un mod de a vedea ce se întâmplă la anumite secțiuni ale codului dvs. și de a încerca diferite valori variabile fără a recompila codul dvs., de obicei, acest lucru nu este disponibil pentru proiectele încorporate, dar în acest ghid vă voi arăta cum să-l utilizați pe un ESP32.

În acest ghid vă voi arăta să configurați hardware-ul, să configurați software-ul și să vă arăt un exemplu simplu de utilizare a depanatorului.

Provizii

  • ESP-Prog - Aceasta este placa necesară pentru depanare

    • Unul exact pe care l-am cumpărat *
    • 5 USD mai ieftin, dar nu l-am testat *
  • Un ESP32 care izbucnește pinul 12, 13, 14, 15

    • Adafruit Feather Huzzah32
    • D1 Mini ESP32 *
  • [OPȚIONAL] Debug Shield pe care îl vând pe Tindie

    • Feather Huzzah32
    • D1 Mini ESP32

* = Link de afiliere

Pasul 1: Verificați videoclipul

Image
Image

Am un videoclip despre acest subiect dacă doriți să îl verificați.

Pe canalul meu fac de obicei videoclipuri bazate pe ESP8266 și ESP32, așa că, dacă sunteți interesat de acestea, vă rugăm să verificați!

Pasul 2: Hardware - Piese și cablare

Hardware - Piese și cabluri
Hardware - Piese și cabluri
Hardware - Piese și cabluri
Hardware - Piese și cabluri
Hardware - Piese și cabluri
Hardware - Piese și cabluri

Pentru a utiliza depanatorul aveți nevoie doar de un ESP-Prog și de aproape orice placă ESP32 (linkuri către acestea într-un pas anterior)

ESP-Prog:

ESP-Prog este o placă proiectată de espressif, producătorii de chips-uri ESP32 și ESP8266. Se conectează la pinii JTAG ai ESP32 pentru a ne permite să folosim depanatorul. Poate fi folosit și pentru programarea plăcilor ESP32, dar nu voi acoperi acest lucru aici.

Placa ESP32:

Puteți utiliza practic orice placă ESP32 pentru aceasta odată ce rupe pinii JTAG, care sunt 12, 13, 14 și 15. Am testat atât o placă Adafruit Huzzah32, cât și o placă D1 Mini 32 și amândoi au funcționat bine.

Vă rugăm să rețineți că puteți utiliza pinii JTAG în schița dvs. cu depanatorul, de exemplu LED-ul încorporat al plăcii Huzzah32 este pe pinul 13, deci nu îl puteți folosi în timp ce depanați.

Cablare:

Pentru a conecta ESP-Prog la ESP32, utilizați doar ghidul de cablare așa cum este furnizat în imaginea de mai sus. Verificați cu schema de cablare a plăcii ESP32 dacă nu vedeți imediat pinii corespunzători, deoarece uneori utilizează o schemă de denumire diferită.

Scuturi de depanare:

Acestea sunt opționale, dar vând niște scuturi pe Tindie pentru Huzzah32 și D1 Mini 32 care fac conectarea ESP-Prog cu adevărat simplă, rupe pinii corespunzători la un conector IDC pe care îl puteți utiliza printr-un cablu panglică pentru a vă conecta direct între scutul și ESP-Prog

Pasul 3: Hardware - Configurare driver

Hardware - Configurare driver
Hardware - Configurare driver
Hardware - Configurare driver
Hardware - Configurare driver
Hardware - Configurare driver
Hardware - Configurare driver

Pentru a utiliza ESP-prog pentru depanare, trebuie să instalăm driverele corespunzătoare pentru acesta. PlatformIO oferă aici câțiva pași, dar voi parcurge pașii Windows din acest ghid.

  1. Descărcați și instalați driverele FTDI pentru ESP-Prog de aici, derulați spre dreapta pentru a descărca versiunea "setup executable" pentru a ușura.
  2. Descărcați și instalați instrumentul Zadig de aici, acest lucru ne permite să instalăm un driver generic necesar pentru depanare.
  3. Cu ESP-Prog conectat, deschideți Zadig
  4. În aplicația Zadig, sub „Opțiuni”, faceți clic pe „Listează toate dispozitivele”
  5. Meniul derulant din Zadig va fi acum populat, selectați opțiunea „Dual RS232-HS (Interface 0)”. Asigurați-vă că este selectată interfața 0!
  6. În dreapta săgeții verzi, trebuie selectat „WinUSB”, apoi faceți clic pe „Înlocuiți driverul”

După ce ați terminat, driverele dvs. ar trebui să fie configurate pentru utilizare!

Notă: Dacă schimbați portul USB pe care îl utilizați pentru ESP-Prog, poate fi necesar să repetați din nou pașii 3-6. Dacă primiți o eroare așa cum se arată în imaginea de mai sus la depanare, trebuie să repetați pașii.

Pasul 4: Software: Instalarea PlatformIO

Software: Instalarea PlatformIO
Software: Instalarea PlatformIO
Software: Instalarea PlatformIO
Software: Instalarea PlatformIO
Software: Instalarea PlatformIO
Software: Instalarea PlatformIO

PlatformIO este un IDE pentru dezvoltare cu diferite cadre încorporate diferite, inclusiv ecosistemul Arduino. Este mai complicat de utilizat decât ceva de genul Arduino IDE, dar este foarte puternic și are unele caracteristici pe care Arduino IDE le dor foarte mult, cum ar fi completarea automată.

PlatformIO este obligatoriu să utilizeze depanatorul. Dacă sunteți deja familiarizat cu PlatformIO, nu ezitați să treceți înainte de câțiva pași.

  • Descărcați și instalați Visual Studio Code (VS Code) de pe linkul furnizat pe site-ul PlatformIO.org
  • Deschideți VS Code și deschideți meniul extensiilor, butonul este evidențiat în imaginea de mai sus
  • Tastați „platformio” în căutare, selectați-l și faceți clic pe instalare.

Pasul 5: Software: Utilizarea PlatformIO

Software: Utilizarea PlatformIO
Software: Utilizarea PlatformIO
Software: Utilizarea PlatformIO
Software: Utilizarea PlatformIO
Software: Utilizarea PlatformIO
Software: Utilizarea PlatformIO

Utilizarea PlatformIO este puțin diferită de utilizarea Arudino IDE, așa că în acest pas vom acoperi doar noțiunile de bază pentru a rula un exemplu pe o placă.

Deschiderea unui exemplu:

  1. Faceți clic pe butonul Acasă de pe bara de instrumente PlatformIO (așa cum se arată în imagine)
  2. Faceți clic pe butonul „Exemple de proiecte”
  3. Selectați exemplul „Arduino-blink” din secțiunea Espressif 32

Aceasta va deschide un eșantion de proiect intermitent. Aspectul unui PlatformIO este destul de diferit în comparație cu un proiect Arduino, așa că haideți să trecem prin elementele de bază.

Unde este codul?

Codul proiectului dvs. va fi stocat în folderul „src”, pentru exemplul clipire veți vedea un fișier „blink.cpp”, acest fișier este același cu fișierul dvs. schiță (.ino) într-un proiect Arduino.

Cum îmi configurez placa?

Configurările pentru proiectul dvs. sunt păstrate într-un fișier „platformio.ini” din proiect. Acesta este de fapt unul dintre lucrurile mele preferate despre PlatformIO în comparație cu IDE-ul Arduino, pentru mine nu a avut niciodată sens că setările plăcii nu erau legate de schițe.

Exemplul.ini conține definiții pentru mai multe panouri diferite, dar pentru a simplifica lucrurile, să ștergem cele două definiții inferioare.

Unde îmi setez portul COM?

PlatformIO va încerca automat să găsească portul COM corect de utilizat, astfel încât să puteți scăpa de fapt să nu setați nimic pentru acest lucru. Dar dacă aveți mai multe porturi COM, pe care le veți avea atunci când utilizați depanatorul, cred că este logic să setați cel specific de care aveți nevoie. Puteți vedea diferitele dispozitive pe care le aveți făcând clic pe secțiunea „Dispozitive” din fila de pornire și puteți seta care este ESP32-ul dvs. în „platformio.ini” adăugând o configurație „upload_port”.

Cum îmi încarc codul?

Faceți clic pe butonul Încărcare (pictograma este o săgeată îndreptată spre dreapta) și ar trebui să compileze și să încarce codul. Acum ar trebui să aveți un LED intermitent pe tablă.

Pasul 6: Depanare: piele potențială de banană

Depanare: piele potențială de banană!
Depanare: piele potențială de banană!
Depanare: piele potențială de banană!
Depanare: piele potențială de banană!
Depanare: piele potențială de banană!
Depanare: piele potențială de banană!

Acest lucru m-a surprins când pregăteam acest lucru și, sperăm, va fi remediat până când îl încercați, dar am considerat că este important să plecați de aici.

La momentul realizării acestui ghid, cea mai recentă versiune a PlatformIO este 4.3.0 și are un bug care se referă la posibilitatea de depanare. Din fericire, putem actualiza la ultima versiune de dezvoltare destul de ușor, care rezolvă problema.

Verificați pe pagina principală versiunea platformei Core, dacă este „4.3.0”, efectuați pașii următori.

  1. În bara de instrumente PlatformIO, faceți clic pe pictograma terminalului
  2. În tipul terminalului: pio upgrade --dev
  3. Codul RestartVS și PlatfromIO trebuie actualizate

Pasul 7: Depanare: Configurare

Depanare: Configurare
Depanare: Configurare

Trebuie să edităm fișierul „PlatofrmIO.ini” pentru a activa depanarea, trebuie doar să adăugăm două lucruri la acesta.

debug_tool = esp-prog

Aceasta setează instrumentul de depanare pe care îl folosim.

debug_init_break = configurare tbreak

Acesta este un truc pe care l-am învățat din videoclipul lui Andress Spiess despre depanare pe ESP32. Îi spune depanatorului să se oprească în configurarea aplicației noastre.

Pasul 8: Depanare: Începerea depanării

Depanare: pornirea depanării
Depanare: pornirea depanării
Depanare: pornirea depanării
Depanare: pornirea depanării
Depanare: pornirea depanării
Depanare: pornirea depanării
Depanare: pornirea depanării
Depanare: pornirea depanării

Înainte de a intra în el, vom face o modificare minoră la schiță, care va face mai ușor să demonstrați ce puteți face cu depanarea.

  1. Creați o nouă variabilă, "int delayTime = 1000;" în afara oricăror metode, acest lucru îl va face o variabilă globală.
  2. Înlocuiți numărul din apelurile de întârziere din buclă cu această nouă variabilă: delay (delayTime);

Încărcați din nou codul pe tablă, apoi pentru a începe depanarea, în bara de instrumente, faceți clic pe „Rulați”, apoi pe „Începeți depanarea”

Veți vedea lucrurile care se mișcă în fereastra terminalului, dar chiar și atunci când se afirmă că a avut succes, dacă faceți clic pe „Consola de depanare” veți vedea că funcționează în continuare, vor dura câteva secunde pentru a finaliza.

Dacă totul a decurs așa cum era de așteptat, veți vedea oprirea depanatorului la începutul configurării.

Pasul 9: Depanare: utilizare de bază

Depanare: utilizare de bază
Depanare: utilizare de bază
Depanare: utilizare de bază
Depanare: utilizare de bază
Depanare: utilizare de bază
Depanare: utilizare de bază
Depanare: utilizare de bază
Depanare: utilizare de bază

Să acoperim câteva dintre elementele de bază ale a ceea ce puteți face cu depanatorul

Crearea punctelor de întrerupere:

Un punct de întrerupere este un punct al codului dvs. în care doriți să se oprească depanatorul. Pentru a crea un punct de întrerupere, faceți clic în stânga numărului de linie. Ca demonstrație, adăugați punct de întrerupere la prima linie din metoda buclei.

Navigare punct de întrerupere:

Pentru a vă deplasa între punctul de întrerupere sau a trece la următoarea linie de cod, puteți utiliza instrumentele care vor apărea în partea de sus a ecranului. Apăsați butonul „continua” (arată ca un buton de redare) pentru a muta punctul de întrerupere pe care tocmai l-am creat în buclă.

Ceasuri variabile:

Ceasurile variabile vă permit să monitorizați valoarea variabilelor atunci când depanatorul este oprit la un punct de întrerupere. Pentru a adăuga un nou ceas cu variabile, puteți face clic pe pictograma +, apoi tastați doar numele variabilei. Ca demonstrație, introduceți variabila pe care am adăugat-o în pasul anterior „delayTime”

Vizualizator variabil:

De asemenea, puteți vedea toate variabilele și valorile lor care sunt disponibile la punctul dvs. de întrerupere curent. Pentru a demonstra acest lucru, dacă vă uitați în secțiunea „Global”, ar trebui să găsiți variabila „delayTime”.

Editarea valorii variabilelor:

De asemenea, puteți edita valorile variabilelor și va avea efect imediat asupra comportamentului codurilor dvs. Pentru a demonstra acest lucru, faceți clic pe variabila delayTime din secțiunea Variable Viewer și modificați valoarea în „100”. Pentru a arăta această funcționare, dezactivați punctul de întrerupere din buclă făcând clic din nou în stânga numărului de linie. Apăsați butonul Continuare de pe bara de navigare a punctului de întrerupere. LED-ul ESP32 ar trebui să clipească acum mult mai repede decât înainte.

Pasul 10: Depanare

Depanare
Depanare

Am constatat în timpul testării că, uneori, nu am putut încărca pe ESP32 în timp ce acesta era conectat la ESP-prog și nu mi-am putut da seama de un model de ce s-a întâmplat acest lucru, deoarece de cele mai multe ori aș putea încărca fără orice probleme. Am descoperit că aș putea să deconectez ESP32 și ESP-Prog, să încarc codul în ESP32 și apoi să le reconectez și ar funcționa bine.

Pasul 11: Concluzie

Cred că acesta este un instrument foarte interesant de adăugat în caseta de instrumente pentru a vă ajuta să aflați ce se întâmplă în interiorul proiectului dvs.

Mi-ar plăcea să aud dacă vi se pare util acest lucru !. Vă rog să-mi spuneți în comentariile de mai jos sau să vă alăturați mie și o grămadă de alți producători pe serverul meu Discord, unde putem discuta despre acest subiect sau despre orice alt producător legat de dvs., oamenii sunt cu adevărat de ajutor acolo, așa că este un loc minunat de agățat afară.

Aș dori, de asemenea, să mulțumesc enorm sponsorilor mei Github care mă ajută să susțin ceea ce fac, chiar îl apreciez. Dacă nu știți, Github corespunde sponsorizărilor pentru primul an, așa că, dacă faceți o sponsorizare, acestea se vor potrivi 100% pentru următoarele luni. Mulțumesc pentru lectură!

Recomandat: