INHOUDSOPGAWE:
- Voorrade
- Stap 1: Kyk na die video
- Stap 2: Hardeware - onderdele en bedrading
- Stap 3: Hardeware - bestuurderopstelling
- Stap 4: Sagteware: Installeer PlatformIO
- Stap 5: Sagteware: Met behulp van PlatformIO
- Stap 6: Ontfouting: moontlike piesangvel
- Stap 7: Ontfouting: konfigurasie
- Stap 8: Ontfouting: begin met ontfouting
- Stap 9: Ontfouting: basiese gebruik
- Stap 10: Probleemoplossing
- Stap 11: Besering
Video: Hoe om 'n ontfouter op 'n ESP32 te gebruik: 11 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Wou u al ooit na u kode kyk om te sien waarom dit optree soos dit is? Tradisioneel sou u in ESP32 -projekte eindelose drukverklarings moes byvoeg om te probeer uitvind wat aan die gang was, maar daar is 'n beter manier!
'N Ontfouter is 'n manier om te sien wat op sekere dele van u kode gebeur en om verskillende veranderlike waardes uit te probeer sonder om u kode weer saam te stel; gewoonlik is dit nie iets wat ons in die ingeboude projekte beskikbaar het nie, maar in hierdie gids sal ek u wys hoe om dit op 'n ESP32 te gebruik.
In hierdie gids sal ek jou wys hoe om die hardeware op te stel, die sagteware op te stel en 'n eenvoudige voorbeeld van die gebruik van die ontfouter te toon.
Voorrade
-
ESP -Prog - Dit is die bord wat nodig is vir ontfouting
- Presies een wat ek gekoop het*
- $ 5 goedkoper, maar ek het dit nie getoets nie*
-
'N ESP32 wat pen 12, 13, 14, 15 uitbreek
- Adafruit Feather Huzzah32
- D1 Mini ESP32*
-
[OPSIONEEL] Ontfoutskild verkoop ek op Tindie
- Feather Huzzah32
- D1 Mini ESP32
* = Geaffilieerde skakel
Stap 1: Kyk na die video
Ek het 'n video oor hierdie onderwerp as u wil kyk.
Op my kanaal maak ek gewoonlik video's op basis van ESP8266 en ESP32, so kyk gerus as u daarin belangstel!
Stap 2: Hardeware - onderdele en bedrading
Om die ontfouter te gebruik, benodig u slegs 'n ESP-Prog en byna enige ESP32-bord (skakel hierna in 'n vroeëre stap)
ESP-Prog:
Die ESP-Prog is 'n bord wat ontwerp is deur espressif, die vervaardigers van die ESP32- en ESP8266-skyfies. Dit maak verbinding met JTAG -penne van die ESP32 sodat ons die ontfouter kan gebruik. Dit kan ook gebruik word vir die programmering van ESP32 -borde, maar ek behandel dit nie hier nie.
ESP32 -bord:
U kan basies enige ESP32 -bord hiervoor gebruik sodra dit die JTAG -penne uitbreek, wat 12, 13, 14 en 15. Ek het beide 'n Adafruit -veer Huzzah32 en 'n D1 Mini 32 -bord getoets en hulle het albei goed gewerk.
Let daarop dat u die JTAG-penne in u skets met die ontfouter kan gebruik, byvoorbeeld dat die ingeboude LED van die Huzzah32-bord op pen 13 is, sodat u dit nie kan gebruik tydens ontfouting nie.
Bedrading:
Om die ESP-Prog aan die ESP32 te koppel, gebruik die bedradinggids soos op die foto hierbo. Raadpleeg die bedradingsdiagram van u ESP32 -bord as u nie dadelik die toepaslike penne sien nie, aangesien dit soms 'n ander benamingskema gebruik.
Ontfout skilde:
Dit is opsioneel, maar ek verkoop 'n paar skilde op Tindie vir die Huzzah32 en die D1 Mini 32 wat die verbinding van die ESP-Prog baie eenvoudig maak; dit breek die toepaslike penne uit na 'n IDC-aansluiting waarmee u 'n lintkabel kan gebruik om direk tussen die skild en die ESP-Prog
Stap 3: Hardeware - bestuurderopstelling
Om die ESP-prog vir ontfouting te gebruik, moet ons die regte bestuurders daarvoor installeer. PlatformIO bied hier 'n paar stappe hiervoor, maar ek gaan deur die Windows -stappe in hierdie gids.
- Laai die FTDI-bestuurders vir die ESP-Prog hier af en installeer, blaai na regs om die weergawe van die 'instelbare uitvoer' af te laai om dit makliker te maak.
- Laai die hulpmiddel Zadig hier af en installeer dit, sodat ons 'n generiese bestuurder kan installeer wat nodig is vir ontfouting.
- As die ESP-Prog ingeprop is, maak Zadig oop
- Klik in die Zadig -toepassing onder "Opsies" op "Lys alle toestelle"
- Die aftreklys in Zadig sal nou ingevul word; kies die opsie "Dual RS232-HS (Interface 0)". Maak seker dat dit die koppelvlak 0 is wat u kies!
- Regs van die groen pyltjie moet 'WinUSB' gekies word en klik dan op 'Vervang bestuurder'
As dit klaar is, moet u bestuurders gereed wees vir gebruik!
Opmerking: as u die USB-poort verander wat u vir die ESP-Prog gebruik, moet u moontlik stappe 3-6 herhaal. As u 'n fout opspoor soos in die prent hierbo getoon, moet u die stappe herhaal.
Stap 4: Sagteware: Installeer PlatformIO
PlatformIO is 'n IDE vir ontwikkeling met verskillende ingebedde raamwerke, insluitend die Arduino-ekosisteem. Dit is ingewikkelder om te gebruik as iets soos die Arduino IDE, maar dit is baie kragtig en het 'n paar funksies wat die Arduino IDE baie mis, soos outomatiese voltooiing.
PlatformIO moet die ontfouter gebruik. As u reeds vertroud is met PlatformIO, kan u 'n paar stappe oorskiet.
- Laai Visual Studio Code (VS Code) af en installeer dit vanaf die skakel op die PlatformIO.org -webwerf
- Maak VS -kode oop en maak die uitbreidingsmenu oop; die knoppie word in die prent hierbo gemerk
- Tik 'platformio' in die soektog, kies dit en klik op installeer.
Stap 5: Sagteware: Met behulp van PlatformIO
Die gebruik van PlatformIO is 'n bietjie anders as om die Arudino IDE te gebruik, dus in hierdie stap behandel ons net die basiese beginsels om 'n voorbeeld op 'n bord te laat loop.
Maak 'n voorbeeld oop:
- Klik op die Home -knoppie op die PlatformIO -werkbalk (soos op die foto getoon)
- Klik op die knoppie "Projekvoorbeelde"
- Kies die voorbeeld "Arduino-blink" onder die gedeelte Espressif 32
Dit sal 'n voorbeeldknipprojek oopmaak. Die uitleg van 'n PlatformIO is redelik anders as 'n Arduino -projek, dus laat ons deur die basiese beginsels gaan.
Waar is die kode?
Die kode vir u projek word in die 'src' -lêergids gestoor; vir die blink voorbeeld sal u 'n' blink.cpp 'lêer sien; hierdie lêer is dieselfde as u sketslêer (.ino) in 'n Arduino -projek.
Hoe kan ek my bord instel?
Konfigurasies vir u projek word in 'n 'platformio.ini' -lêer in u projek gehou. Dit is eintlik een van my gunsteling dinge oor PlatformIO in vergelyking met die Arduino IDE, dit het nooit vir my sin gemaak dat die bordinstellings nie aan sketse gekoppel was nie.
Die voorbeeld.ini bevat definisies vir verskeie verskillende borde, maar om die dinge eenvoudig te hou, laat ons die onderste twee definisies verwyder.
Waar stel ek my COM -poort?
PlatformIO sal eintlik outomaties probeer om die korrekte COM -poort te vind om te gebruik, sodat u eintlik kan wegkom om niks hiervoor in te stel nie. Maar as u meer COM -poorte het, wat u sal gebruik as u die ontfouter gebruik, dink ek dat dit sinvol is om die spesifieke toestel in te stel wat u benodig. u kan bepaal watter u ESP32 in die 'platformio.ini' is deur 'n 'upload_port' -opset by te voeg.
Hoe laai ek my kode op?
Klik op die oplaai -knoppie (die ikoon is 'n pyltjie wat regs wys) en dit moet die kode saamstel en oplaai. U moet nou 'n knipperende LED op u bord hê.
Stap 6: Ontfouting: moontlike piesangvel
Dit is iets wat my opgeval het toe ek dit voorberei het, en hopelik sal dit herstel word teen die tyd dat u dit probeer, maar ek het gedink dit is belangrik om hier weg te gaan.
Ten tyde van die opstel van hierdie gids, is die nuutste weergawe van PlatformIO 4.3.0 en bevat dit 'n fout wat verband hou met die ontfouting. Gelukkig kan ons redelik maklik na die nuutste ontwikkelingsweergawe opdateer wat die probleem oplos.
Kyk op die tuisblad na die weergawe van PlatformIO -kern, as dit '4.3.0' is, voer die volgende stappe uit.
- Klik op die TerminalIO -werkbalk op die terminale ikoon
- In die terminale tipe: pio upgrade --dev
- HerlaaiVS -kode en PlatfromIO moet opgedateer word
Stap 7: Ontfouting: konfigurasie
Ons moet die 'PlatofrmIO.ini' -lêer wysig om ontfouting moontlik te maak; ons hoef net twee dinge daarby te voeg.
debug_tool = esp-prog
Dit stel die ontfoutingsinstrument wat ons gebruik, in.
debug_init_break = opstel van tbreak
Dit is 'n truuk wat ons geleer het uit die video van Andress Spiess oor ontfouting op die ESP32. Dit vertel die ontfouter om te stop met die opstel van ons toepassing.
Stap 8: Ontfouting: begin met ontfouting
Voordat ons daarby ingaan, sal ons 'n klein verandering aan die skets maak, wat dit makliker sal maak om te demonstreer wat u met die ontfouting kan doen.
- Skep 'n nuwe veranderlike, "int delayTime = 1000;" Buiten enige metodes, sal dit 'n globale veranderlike maak.
- Vervang die nommer binne die vertragingsoproepe in die lus met hierdie nuwe veranderlike: delay (delayTime);
Laai die kode nog een keer op die bord op, klik dan op "Uitvoer" en dan op "Begin ontfouting" in die werkbalk om te begin met ontfouting
U sal sien dat die dinge in die terminale venster beweeg, maar selfs as dit sê dat dit 'n sukses was, sal u sien dat dit nog steeds 'n paar sekondes neem om te klik as u op die 'Ontfoutkonsole' klik.
As alles verloop soos verwag, sien u die ontfouter aan die begin van die opstelling.
Stap 9: Ontfouting: basiese gebruik
Kom ons kyk na die basiese beginsels van wat u met die ontfouter kan doen
Skep breekpunte:
'N Breekpunt is 'n punt van u kode waar u wil hê dat die ontfouter moet stop. Om 'n breekpunt te skep, klik links van die reëlnommer. Voeg as breekpunt by die eerste reël in die lusmetode.
Breekpuntnavigasie:
Om tussen die breekpunt te beweeg of na die volgende reël kode te gaan, kan u die gereedskap wat bo -aan die skerm verskyn, gebruik. Druk die "voortgaan" -knoppie (lyk soos 'n speelknoppie) om die breekpunt wat ons pas geskep het, binne die lus te skuif.
Veranderlike horlosies:
Met veranderlike horlosies kan u die waarde van veranderlikes monitor wanneer die ontfouter teen 'n breekpunt gestop word. Om 'n nuwe veranderlike horlosie by te voeg, kan u op die + -ikoon klik en tik dan die naam van die veranderlike. Tik as 'n demo die veranderlike wat ons bygevoeg het in die vorige stap "delayTime"
Veranderlike kyker:
U kan ook al die veranderlikes en hul waardes wat op u huidige breekpunt beskikbaar is, sien. Om dit te demonstreer, as u in die afdeling "Globaal" kyk, moet u die veranderlike "delayTime" vind.
Wysiging van die waarde van veranderlikes:
U kan ook die waardes van veranderlikes wysig, en dit het onmiddellike effek op u kodesgedrag. Om dit te demonstreer, klik op die delayTime -veranderlike in die afdeling Variable Viewer en verander die waarde na "100". Om hierdie werking te wys, skakel die breekpunt in die lus uit deur weer links van die reëlnommer te klik. Druk die voortgaan -knoppie op die breekpunt -navigasiebalk. Die LED op u ESP32 behoort nou baie vinniger as voorheen te flikker.
Stap 10: Probleemoplossing
Ek het tydens my toetsing agtergekom dat ek soms nie na die ESP32 kon oplaai terwyl dit aan die ESP-prog gekoppel was nie, en ek kon nie 'n patroon vind waarom dit gebeur het nie, omdat ek meestal sonder kon oplaai enige probleme. Ek het gevind dat ek net die ESP32 en die ESP-Prog kon ontkoppel, die kode na die ESP32 kon oplaai en dit dan weer konnekteer, en dit sou goed werk.
Stap 11: Besering
Ek dink dit is 'n baie aangename hulpmiddel om by die gereedskapskas te voeg om te bepaal wat in u projek aangaan.
Ek hoor graag of u dit nuttig vind! Laat weet my asseblief in die kommentaar hieronder, of sluit aan by my en 'n klomp ander makers op my Discord -bediener, waar ons hierdie onderwerp kan bespreek of enige ander verwante een wat u het, mense is baie behulpsaam daar, so dit is 'n goeie plek om op te hang uit.
Ek wil ook my Github -borge bedank wat my help ondersteun wat ek doen, ek waardeer dit opreg. As u dit nie weet nie, pas Github borgskappe vir die eerste jaar by, so as u 'n borgskap maak, pas hulle dit die volgende paar maande 100% aan. Dankie vir die lees!
Aanbeveel:
Hoe om servomotors te gebruik met behulp van Moto: bit met mikro: bit: 7 stappe (met foto's)
Hoe om servomotors te gebruik met behulp van Moto: bit met Micro: bit: Een manier om die funksionaliteit van die micro: bit uit te brei, is deur 'n bord genaamd moto: bit van SparkFun Electronics (ongeveer $ 15-20) te gebruik. Dit lyk ingewikkeld en het baie funksies, maar dit is nie moeilik om servomotors daaruit te laat loop nie. Moto: bit laat jou toe om
Hoe om 'n Windows Kernel -ontfouter in u netwerk op te stel: 6 stappe
Hoe om 'n Windows Kernel -ontfouter in u netwerk op te stel: Ontfouting is 'n gewilde hulpmiddel om die oorsaak van 'n fout te bepaal. 'N Gogga kan homself op baie verskillende maniere verwerk. dit kan 'n stelselongeluk (blou skerm/BSOD) veroorsaak, dit kan 'n programongeluk veroorsaak, dit kan veroorsaak dat u stelsel vries om 'n naam te gee
Hoe om Mac Terminal te gebruik en hoe om sleutelfunksies te gebruik: 4 stappe
Hoe om Mac Terminal te gebruik en hoe om belangrike funksies te gebruik: Ons sal u wys hoe u die MAC Terminal kan oopmaak. Ons sal u ook 'n paar funksies in die Terminal wys, soos ifconfig, veranderende gidse, toegang tot lêers en arp. Met Ifconfig kan u u IP -adres en u MAC -advertensie nagaan
Hoe om ESP32 te gebruik om LED met Blynk via WiFi te beheer: 7 stappe (met foto's)
Hoe om ESP32 te gebruik om LED met Blynk via WiFi te beheer: Hierdie tutoriaal gaan die ESP32 -ontwikkelingsbord gebruik om LED met Blynk via WiFi te beheer. Blynk is 'n platform met iOS- en Android -programme om Arduino, Raspberry Pi en meer oor die internet te beheer. Dit is 'n digitale paneelbord waar u 'n
Die bou van die Inchworm ICD2 PIC -programmeerder / ontfouter: 7 stappe
Die bou van die Inchworm ICD2 PIC Programmer / Debugger: Hierdie instruksies is 'n geïllustreerde stap deur die bou van 'n ICD2 -kloon genaamd die Inchworm. min sluit in