Sadržaj:

Kako koristiti program za ispravljanje pogrešaka na ESP32: 11 koraka (sa slikama)
Kako koristiti program za ispravljanje pogrešaka na ESP32: 11 koraka (sa slikama)

Video: Kako koristiti program za ispravljanje pogrešaka na ESP32: 11 koraka (sa slikama)

Video: Kako koristiti program za ispravljanje pogrešaka na ESP32: 11 koraka (sa slikama)
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Studeni
Anonim
Kako koristiti program za ispravljanje pogrešaka na ESP32
Kako koristiti program za ispravljanje pogrešaka na ESP32

Jeste li ikada poželjeli zaviriti u svoj kôd kako biste vidjeli zašto se ponaša tako kako jest? Tradicionalno u projektima ESP32 morali biste dodati beskonačne ispise kako biste pokušali shvatiti što se događa, ali postoji bolji način!

Otklanjanje pogrešaka je način da vidite što se događa u određenim odjeljcima vašeg koda i isprobate različite vrijednosti varijabli bez ponovnog sastavljanja koda, obično nam to nije nešto dostupno na ugrađenim projektima, ali u ovom vodiču ću vam pokazati kako ga koristiti na ESP32.

U ovom vodiču pokazat ću vam kako postaviti hardver, postaviti softver i pokazati jednostavan primjer korištenja programa za ispravljanje pogrešaka.

Pribor

  • ESP -Prog - Ovo je ploča potrebna za ispravljanje pogrešaka
    • Tačnu koju sam kupio*
    • 5 USD jeftinije, ali nisam ga testirao*
  • ESP32 koji izbija pin 12, 13, 14, 15

    • Adafrutovo pero Huzzah32
    • D1 Mini ESP32*
  • [NEOBVEZNO] Štit za uklanjanje pogrešaka prodajem na Tindieju

    • Perje Huzzah32
    • D1 Mini ESP32

* = Partnerska veza

Korak 1: Pogledajte video

Image
Image

Imam video na ovu temu ako ga želite pogledati.

Na svom kanalu obično snimam videozapise zasnovane na ESP8266 i ESP32, pa ako vas to zanima, provjerite!

Korak 2: Hardver - dijelovi i ožičenje

Hardver - dijelovi i ožičenje
Hardver - dijelovi i ožičenje
Hardver - dijelovi i ožičenje
Hardver - dijelovi i ožičenje
Hardver - dijelovi i ožičenje
Hardver - dijelovi i ožičenje

Za korištenje programa za ispravljanje pogrešaka potreban vam je samo ESP-Prog i gotovo svaka ploča ESP32 (veze do njih u ranijem koraku)

ESP-Prog:

ESP-Prog je ploča dizajnirana od strane espressifa, proizvođača čipova ESP32 i ESP8266. Povezuje se s JTAG pinovima ESP32 kako bi nam omogućio upotrebu ispravljača pogrešaka. Također se može koristiti za programiranje ESP32 ploča, ali to ovdje neću pokrivati.

ESP32 ploča:

Za to možete koristiti u osnovi bilo koju ESP32 ploču nakon što probije JTAG pinove, a to su 12, 13, 14 i 15. Testirao sam i Adafruit pero Huzzah32 i D1 Mini 32 ploču i obje su radile dobro.

Imajte na umu da možete koristiti JTAG pinove u skici s otklanjanjem pogrešaka, na primjer, ugrađena LED dioda ploče Huzzah32 nalazi se na pinu 13, tako da je ne možete koristiti za ispravljanje pogrešaka.

Ožičenje:

Za spajanje ESP-Proga na ESP32, samo upotrijebite vodič za ožičenje kako je prikazano na gornjoj slici. Provjerite shemu ožičenja vaše ESP32 ploče ako odmah ne vidite odgovarajuće pinove jer ponekad koriste drugu shemu imenovanja.

Štitovi za otklanjanje pogrešaka:

Ovo je izborno, ali prodajem neke štitove na Tindieju za Huzzah32 i D1 Mini 32 koji čine povezivanje ESP-Proga zaista jednostavnim, izbijaju odgovarajuće pinove na IDC priključak koji možete koristiti vrpčani kabel za izravno povezivanje štit i ESP-Prog

Korak 3: Hardver - postavljanje upravljačkog programa

Hardver - Postavljanje upravljačkog programa
Hardver - Postavljanje upravljačkog programa
Hardver - Postavljanje upravljačkog programa
Hardver - Postavljanje upravljačkog programa
Hardver - Postavljanje upravljačkog programa
Hardver - Postavljanje upravljačkog programa

Da bismo koristili ESP-prog za otklanjanje pogrešaka, moramo za njega instalirati odgovarajuće upravljačke programe. PlatformIO ovdje nudi neke korake za to, ali ja ću proći kroz korake za Windows u ovom vodiču.

  1. Odavde preuzmite i instalirajte FTDI upravljačke programe za ESP-Prog, pomaknite se udesno za preuzimanje verzije "setup executable" kako biste olakšali.
  2. Odavde preuzmite i instalirajte alat Zadig, što nam omogućuje instaliranje generičkog upravljačkog programa potrebnog za ispravljanje pogrešaka.
  3. Kad je ESP-Prog priključen, otvorite Zadig
  4. U aplikaciji Zadig, pod "Opcije" kliknite "Popis svih uređaja"
  5. Sada će se popuniti padajući izbornik u Zadigu, odaberite opciju "Dual RS232-HS (Interface 0)". Pobrinite se da sučelje 0 odaberete!
  6. Desno od zelene strelice potrebno je odabrati "WinUSB", a zatim kliknite "Zamijeni upravljački program"

Kad to završi, upravljački programi trebaju biti postavljeni za upotrebu!

Napomena: Ako promijenite USB priključak koji koristite za ESP-Prog, možda ćete morati ponovno ponoviti korake 3-6. Ako tijekom ispravljanja pogrešaka dobijete pogrešku kao što je prikazano na gornjoj slici, morate ponoviti korake.

Korak 4: Softver: Instaliranje PlatformIO

Softver: Instaliranje PlatformIO
Softver: Instaliranje PlatformIO
Softver: Instaliranje PlatformIO
Softver: Instaliranje PlatformIO
Softver: Instaliranje PlatformIO
Softver: Instaliranje PlatformIO

PlatformIO je IDE za razvoj s različitim različitim ugrađenim okvirima, uključujući Arduino eko-sustav. Kompliciraniji je za korištenje od nečega poput Arduino IDE-a, ali je vrlo moćan i ima neke značajke koje Arduino IDE-u jako nedostaju, poput automatskog dovršavanja.

Za upotrebu programa za ispravljanje pogrešaka potrebno je da PlatformIO. Ako ste već upoznati s PlatformIO -om, slobodno preskočite nekoliko koraka naprijed.

  • Preuzmite i instalirajte Visual Studio Code (VS kod) s veze navedene na web stranici PlatformIO.org
  • Otvorite VS kod i otvorite izbornik proširenja, gumb je istaknut na gornjoj slici
  • U pretraživanje upišite "platformio", odaberite ga i kliknite instaliraj.

Korak 5: Softver: Korištenje PlatformIO

Softver: Korištenje PlatformIO
Softver: Korištenje PlatformIO
Softver: Korištenje PlatformIO
Softver: Korištenje PlatformIO
Softver: Korištenje PlatformIO
Softver: Korištenje PlatformIO

Korištenje PlatformIO malo se razlikuje od korištenja Arudino IDE -a, pa ćemo u ovom koraku samo pokriti osnove dobivanja primjera na ploči.

Otvaranje primjera:

  1. Pritisnite gumb Početna na alatnoj traci PlatformIO (Kao što je prikazano na slici)
  2. Kliknite gumb "Primjeri projekta"
  3. Odaberite primjer "Arduino-blink" u odjeljku Espressif 32

Ovo će otvoriti uzorak blink projekta. Izgled PlatformIO -a prilično se razlikuje u usporedbi s Arduino projektom, pa idemo kroz osnove.

Gdje je kod?

Kôd vašeg projekta bit će pohranjen u mapi "src", za primjer treptaja vidjet ćete datoteku "blink.cpp", ta je datoteka ista kao vaša datoteka skice (.ino) u Arduino projektu.

Kako mogu konfigurirati svoju ploču?

Konfiguracije vašeg projekta čuvaju se unutar datoteke "platformio.ini" u vašem projektu. Ovo je zapravo jedna od mojih omiljenih stvari o PlatformIO -u u usporedbi s Arduino IDE -om, nikad mi nije imalo smisla da postavke ploče nisu vezane za skice.

Primjer.ini sadrži definicije za više različitih ploča, ali da pojednostavimo stvari, izbrišimo dvije donje definicije.

Gdje mogu postaviti svoj COM port?

PlatformIO će zapravo automatski pokušati pronaći ispravan COM port za korištenje, tako da se zapravo možete izvući ako ništa ne postavite za to. Ali ako imate više COM portova, što ćete učiniti pri korištenju programa za ispravljanje pogrešaka, mislim da ima smisla postaviti poseban koji vam je potreban. Možete vidjeti različite uređaje koje imate klikom na odjeljak "Uređaji" na početnoj kartici i možete postaviti koji je vaš ESP32 u "platformio.ini" dodavanjem konfiguracije "upload_port".

Kako mogu prenijeti svoj kôd?

Pritisnite gumb Upload (ikona je strelica koja pokazuje desno) i trebao bi sastaviti i prenijeti kod. Sada biste na ploči trebali imati trepćuću LED diodu.

Korak 6: Otklanjanje pogrešaka: potencijalna koža od banane

Otklanjanje pogrešaka: potencijalna koža od banane!
Otklanjanje pogrešaka: potencijalna koža od banane!
Otklanjanje pogrešaka: potencijalna koža od banane!
Otklanjanje pogrešaka: potencijalna koža od banane!
Otklanjanje pogrešaka: potencijalna koža od banane!
Otklanjanje pogrešaka: potencijalna koža od banane!

Ovo je nešto što me zateklo dok sam ovo pripremala i nadam se da će biti ispravljeno dok ne isprobate, ali mislio sam da je važno otići odavde.

U vrijeme izrade ovog vodiča najnovija verzija PlatformIO -a je 4.3.0 i ima grešku koja se odnosi na mogućnost otklanjanja pogrešaka. Srećom, prilično lako možemo ažurirati na najnoviju razvojnu verziju što rješava problem.

Na početnoj stranici provjerite verziju jezgre PlatformIO, ako je "4.3.0", izvedite sljedeće korake.

  1. Na alatnoj traci PlatformIO kliknite ikonu terminala
  2. U vrsti terminala: pio upgrade --dev
  3. Ponovno pokrenite VS kôd i PlatfromIO treba ažurirati

Korak 7: Otklanjanje pogrešaka: konfiguracija

Otklanjanje pogrešaka: konfiguracija
Otklanjanje pogrešaka: konfiguracija

Moramo urediti datoteku "PlatofrmIO.ini" kako bismo omogućili ispravljanje pogrešaka, samo joj moramo dodati dvije stvari.

debug_tool = esp-prog

Time se postavlja alat za otklanjanje pogrešaka koji koristimo.

debug_init_break = postavljanje tbreak -a

Ovo je trik koji smo naučili iz videa Andress Spiess o otklanjanju pogrešaka na ESP32. Otkrivaču pogrešaka govori da se zaustavi u postavljanju naše aplikacije.

Korak 8: Otklanjanje pogrešaka: Pokretanje otklanjanja pogrešaka

Otklanjanje pogrešaka: Pokretanje ispravljanja pogrešaka
Otklanjanje pogrešaka: Pokretanje ispravljanja pogrešaka
Otklanjanje pogrešaka: Pokretanje ispravljanja pogrešaka
Otklanjanje pogrešaka: Pokretanje ispravljanja pogrešaka
Otklanjanje pogrešaka: Pokretanje ispravljanja pogrešaka
Otklanjanje pogrešaka: Pokretanje ispravljanja pogrešaka
Otklanjanje pogrešaka: Pokretanje ispravljanja pogrešaka
Otklanjanje pogrešaka: Pokretanje ispravljanja pogrešaka

Prije nego što krenemo u to, napravit ćemo manju promjenu u skici koja će vam olakšati demonstraciju što možete učiniti s otklanjanjem pogrešaka.

  1. Izradite novu varijablu, "int delayTime = 1000;" izvan bilo kojih metoda, to će ga učiniti globalnom varijablom.
  2. Zamijenite broj unutar poziva za odgodu u petlji ovom novom varijablom: delay (delayTime);

Prenesite kôd na ploču još jednom, a zatim za početak otklanjanja pogrešaka na alatnoj traci kliknite "Pokreni", a zatim "Pokreni ispravljanje pogrešaka"

Vidjet ćete kako se stvari kreću u prozoru terminala, ali čak i kad to kaže da je uspjeh, ako kliknete na "Debug Console" vidjet ćete da još uvijek radi, bit će potrebno nekoliko sekundi da se dovrši.

Ako je sve prošlo kako ste očekivali, otklonjivač pogrešaka će se zaustaviti na početku postavljanja.

Korak 9: Otklanjanje pogrešaka: osnovna upotreba

Otklanjanje pogrešaka: osnovna upotreba
Otklanjanje pogrešaka: osnovna upotreba
Otklanjanje pogrešaka: osnovna upotreba
Otklanjanje pogrešaka: osnovna upotreba
Otklanjanje pogrešaka: osnovna upotreba
Otklanjanje pogrešaka: osnovna upotreba
Otklanjanje pogrešaka: osnovna upotreba
Otklanjanje pogrešaka: osnovna upotreba

Pokrijmo neke osnove onoga što možete učiniti s programom za ispravljanje pogrešaka

Stvaranje točaka prekida:

Točka prekida točka je vašeg koda na kojoj želite da se program za otklanjanje pogrešaka zaustavi. Za stvaranje točke prekida kliknite lijevo od broja retka. Kao demonstraciju, dodajte točku prekida u prvi redak u metodi petlje.

Navigacija prekidnom točkom:

Za pomicanje između točke prekida ili prelazak na sljedeći redak koda možete koristiti alate koji će se pojaviti na vrhu zaslona. Pritisnite gumb "nastavi" (izgleda kao gumb za reprodukciju) za pomicanje točke prekida koju smo upravo stvorili unutar petlje.

Promjenjivi satovi:

Promenljivi satovi omogućuju vam praćenje vrijednosti varijabli kada se alat za ispravljanje pogrešaka zaustavi na točki prekida. Da biste dodali novu varijablu, možete kliknuti na ikonu +, a zatim samo unijeti naziv varijable. Kao demonstraciju upišite varijablu koju smo dodali u prethodnom koraku "delayTime"

Preglednik varijabli:

Također možete vidjeti sve varijable i njihove vrijednosti koje su dostupne na vašoj trenutnoj točki prekida. Da biste to demonstrirali, ako pogledate odjeljak "Global", trebali biste pronaći varijablu "delayTime".

Uređivanje vrijednosti varijabli:

Također možete urediti vrijednosti varijabli i to će imati trenutni učinak na ponašanje kodova. Da biste to pokazali, kliknite na varijablu delayTime u odjeljku Preglednik varijabli i promijenite vrijednost na "100". Da biste prikazali ovo funkcioniranje, onemogućite točku prekida unutar petlje ponovnim klikom lijevo od broja retka. Pritisnite gumb za nastavak na navigacijskoj traci prekidne točke. LED dioda na vašem ESP32 sada bi trebala treptati mnogo brže nego prije.

Korak 10: Rješavanje problema

Rješavanje problema
Rješavanje problema

Tijekom testiranja otkrio sam da ponekad nisam mogao učitati na ESP32 dok je bio spojen na ESP-prog i nisam mogao shvatiti uzorak zašto se to dogodilo jer sam većinu vremena mogao učitavati bez ima li problema. Otkrio sam da mogu jednostavno odspojiti ESP32 i ESP-Prog, učitati kôd na ESP32, a zatim ih ponovno spojiti i to će dobro funkcionirati.

Korak 11: Zaključak

Mislim da je ovo stvarno super alat za dodavanje u okvir s alatima kako biste lakše shvatili što se događa unutar vašeg projekta.

Volio bih čuti ako smatrate da je ovo korisno !. Javite mi u komentarima ispod ili se pridružite meni i hrpi drugih proizvođača na mom Discord poslužitelju na kojem možemo razgovarati o ovoj temi ili o bilo kojoj drugoj temi vezanoj za proizvođača, ljudi su tu od velike pomoći pa je to odlično mjesto za objesiti van.

Također bih želio izraziti veliku zahvalnost svojim Github sponzorima koji mi podržavaju ono što radim, zaista to cijenim. Ako ne znate, Github se podudara sa sponzorstvima prve godine, pa ako napravite sponzorstvo, oni će mu odgovarati 100% sljedećih nekoliko mjeseci. Hvala na čitanju!

Preporučeni: