Tartalomjegyzék:

A hibakereső használata ESP32 -n: 11 lépés (képekkel)
A hibakereső használata ESP32 -n: 11 lépés (képekkel)

Videó: A hibakereső használata ESP32 -n: 11 lépés (képekkel)

Videó: A hibakereső használata ESP32 -n: 11 lépés (képekkel)
Videó: Управление двигателем постоянного тока с ШИМ с помощью Arduino и модуля L298N с библиотекой - Robojax 2024, Július
Anonim
Hibakereső használata ESP32 -n
Hibakereső használata ESP32 -n

Szeretett volna bepillantani a kódba, hogy miért viselkedik így? Hagyományosan az ESP32 projektekben végtelen nyomtatott nyilatkozatot kellett volna hozzáadnia ahhoz, hogy kitalálja, mi történik, de van egy jobb módszer!

A hibakereső egy módja annak, hogy lássuk, mi történik a kód egyes szakaszaiban, és kipróbálhassunk különböző változóértékeket anélkül, hogy újra össze kellene állítanunk a kódot, általában ez nem áll rendelkezésünkre a beágyazott projekteknél, de ebben az útmutatóban megmutatom hogyan kell használni ESP32 -n.

Ebben az útmutatóban megmutatom a hardver beállítását, a szoftver beállítását, és bemutatok egy egyszerű példát a hibakereső használatára.

Kellékek

  • ESP -Prog - Ez a tábla szükséges a hibakereséshez

    • Pontosan egyet vettem*
    • 5 dollár olcsóbb, de még nem teszteltem*
  • ESP32, amely feltöri a 12, 13, 14, 15 tűt

    • Adafruit toll Huzzah32
    • D1 Mini ESP32*
  • [Választható] Hibakeresési pajzs, amelyet a Tindie -n értékesítek

    • Toll Huzzah32
    • D1 Mini ESP32

* = Társult link

Lépés: Nézze meg a videót

Image
Image

Van egy videóm ebben a témában, ha meg akarod nézni.

A csatornámon általában ESP8266 és ESP32 alapú videókat készítek, ezért ha érdekelnek ezek, nézd meg!

2. lépés: Hardver - alkatrészek és huzalozás

Hardver - Alkatrészek és huzalozás
Hardver - Alkatrészek és huzalozás
Hardver - Alkatrészek és huzalozás
Hardver - Alkatrészek és huzalozás
Hardver - Alkatrészek és huzalozás
Hardver - Alkatrészek és huzalozás

A hibakereső használatához csak egy ESP-Prog és szinte minden ESP32 kártya szükséges (linkek ezekre egy korábbi lépésben)

ESP-Prog:

Az ESP-Prog egy tábla, amelyet az espressif, az ESP32 és ESP8266 chipek gyártói terveztek. Csatlakozik az ESP32 JTAG csapjaihoz, hogy lehetővé tegye számunkra a hibakereső használatát. ESP32 táblák programozására is használható, de ezt itt nem fogom lefedni.

ESP32 tábla:

Alapvetően bármilyen ESP32 táblát használhat erre, ha feltörik a JTAG csapokat, amelyek 12, 13, 14 és 15. Kipróbáltam mind az Adafruit toll Huzzah32, mind a D1 Mini 32 táblát, és mindkettő jól működött.

Kérjük, vegye figyelembe, hogy a vázlatában szereplő JTAG csapokat használhatja a hibakeresővel, például a Huzzah32 tábla beépített LED-je a 13. tűn van, így nem használhatja hibakeresés közben.

Vezeték:

Az ESP-Prog és az ESP32 csatlakoztatásához csak használja a fenti képen látható bekötési útmutatót. Ellenőrizze az ESP32 kártya kapcsolási rajzát, ha nem látja azonnal a megfelelő csapokat, mivel néha más elnevezési sémát használnak.

Hibakeresési pajzsok:

Ezek opcionálisak, de eladok néhány pajzsot a Tindie-n a Huzzah32 és a D1 Mini 32 készülékekhez, amelyek igazán egyszerűvé teszik az ESP-Prog csatlakoztatását, feltöri a megfelelő csapokat egy IDC csatlakozóhoz, amelyhez szalagkábellel közvetlenül csatlakoztathatja a pajzs és az ESP-Prog

3. lépés: Hardver - illesztőprogram beállítása

Hardver - Illesztőprogram beállítása
Hardver - Illesztőprogram beállítása
Hardver - Illesztőprogram beállítása
Hardver - Illesztőprogram beállítása
Hardver - Illesztőprogram beállítása
Hardver - Illesztőprogram beállítása

Annak érdekében, hogy az ESP-progit használhassuk a hibakereséshez, telepítenünk kell a megfelelő illesztőprogramokat. A PlatformIO itt nyújt néhány lépést ehhez, de az útmutató Windows lépéseit fogom végigvinni.

  1. Töltse le és telepítse az ESP-Prog FTDI illesztőprogramjait innen, görgessen jobbra a "setup executable" verzió letöltéséhez, hogy megkönnyítse.
  2. Töltse le és telepítse a Zadig eszközt innen, így telepíthetjük a hibakereséshez szükséges általános illesztőprogramot.
  3. Ha az ESP-Prog csatlakoztatva van, nyissa meg a Zadig alkalmazást
  4. A Zadig alkalmazásban az "Opciók" alatt kattintson az "Összes eszköz listázása" elemre
  5. A Zadig legördülő listája most kitöltésre kerül, válassza a "Dual RS232-HS (Interface 0)" opciót. Győződjön meg róla, hogy a 0 -ás felületet választja!
  6. A zöld nyíl jobb oldalán a "WinUSB" lehetőséget kell kiválasztani, majd kattintson az "Illesztőprogram cseréje" gombra.

Ha ez befejeződött, az illesztőprogramokat használatra kell beállítani!

Megjegyzés: Ha megváltoztatja az ESP-Prog számára használt USB-portot, előfordulhat, hogy ismét meg kell ismételnie a 3-6 lépéseket. Ha hibakereséskor a fenti képen látható hiba jelenik meg, ismételje meg a lépéseket.

4. lépés: Szoftver: A PlatformIO telepítése

Szoftver: A PlatformIO telepítése
Szoftver: A PlatformIO telepítése
Szoftver: A PlatformIO telepítése
Szoftver: A PlatformIO telepítése
Szoftver: A PlatformIO telepítése
Szoftver: A PlatformIO telepítése

A PlatformIO egy IDE, amely különböző beágyazott keretrendszerekkel fejleszthető, beleértve az Arduino ökoszisztémát. Használata bonyolultabb, mint az Arduino IDE, de nagyon erőteljes, és olyan funkciókkal rendelkezik, amelyeket az Arduino IDE nagyon hiányzik, például az automatikus kiegészítés.

A hibakereső használatához a PlatformIO szükséges. Ha már ismeri a PlatformIO -t, bátran ugorjon előre néhány lépést.

  • Töltse le és telepítse a Visual Studio Code (VS Code) kódot a PlatformIO.org webhelyen található linkről
  • Nyissa meg a VS kódot, és nyissa meg a kiterjesztések menüt, a gomb kiemelve van a fenti képen
  • Írja be a „platformio” kifejezést a keresésbe, válassza ki, majd kattintson a telepítés gombra.

5. lépés: Szoftver: A PlatformIO használata

Szoftver: A PlatformIO használata
Szoftver: A PlatformIO használata
Szoftver: A PlatformIO használata
Szoftver: A PlatformIO használata
Szoftver: A PlatformIO használata
Szoftver: A PlatformIO használata

A PlatformIO használata egy kicsit más, mint az Arudino IDE, ezért ebben a lépésben csak az alapokkal foglalkozunk, ha egy példát futtatunk a táblán.

Példa megnyitása:

  1. Kattintson a Kezdőlap gombra a PlatformIO eszköztáron (a képen látható módon)
  2. Kattintson a "Projekt példák" gombra
  3. Válassza az "Arduino-blink" példát az Espressif 32 szakasz alatt

Ez megnyit egy minta villogási projektet. A PlatformIO elrendezése meglehetősen eltérő az Arduino projekthez képest, ezért nézzük át az alapokat.

Hol van a kód?

A projekt kódja az "src" mappában lesz tárolva, a villogó példa esetében egy "blink.cpp" fájlt fog látni, ez a fájl megegyezik a vázlatfájljával (.ino) egy Arduino projektben.

Hogyan konfigurálhatom a táblát?

A projekt konfigurációi a „platformio.ini” fájlban találhatók. Ez valójában az egyik kedvenc dologom a PlatformIO -val kapcsolatban az Arduino IDE -hez képest, számomra soha nem volt értelme, hogy a tábla beállításai nincsenek vázlatokhoz kötve.

Az.ini példa több különböző tábla definícióit tartalmazza, de az egyszerűség kedvéért töröljük az alsó két definíciót.

Hol állítsam be a COM portomat?

A PlatformIO valójában automatikusan megpróbálja megtalálni a használni kívánt COM portot, így valójában megúszhatja, ha nem állít be semmit ehhez. De ha több COM portja van, amelyeket a hibakereső használatakor fog használni, úgy gondolom, hogy ésszerű a kívánt portot beállítani. A különböző eszközök megtekinthetők a kezdőlap "Eszközök" szakaszára kattintva, és a "upload_port" konfiguráció hozzáadásával beállíthatja, hogy az ESP32 melyik legyen a "platformio.ini".

Hogyan tölthetem fel a kódomat?

Kattintson a Feltöltés gombra (az ikon jobbra mutató nyíl), és össze kell állítania és fel kell töltenie a kódot. Most egy villogó LED -nek kell lennie a táblán.

6. lépés: Hibakeresés: Lehetséges banánbőr

Hibakeresés: Lehetséges banánbőr!
Hibakeresés: Lehetséges banánbőr!
Hibakeresés: Lehetséges banánbőr!
Hibakeresés: Lehetséges banánbőr!
Hibakeresés: Lehetséges banánbőr!
Hibakeresés: Lehetséges banánbőr!

Ez az, ami megfogott, amikor ezt készítettem, és remélhetőleg megoldódik, mire kipróbálod, de fontosnak tartottam, hogy elmenjek innen.

Az útmutató elkészítésekor a PlatformIO legújabb verziója a 4.3.0, és tartalmaz egy hibát, amely a hibakeresésre vonatkozik. Szerencsére elég könnyen frissíthetünk a legújabb fejlesztési verzióra, ami megoldja a problémát.

A kezdőlapon ellenőrizze a PlatformIO mag verzióját, ha az "4.3.0", akkor hajtsa végre a következő lépéseket.

  1. A PlatformIO eszköztáron kattintson a terminál ikonra
  2. A terminál típusában: pio upgrade --dev
  3. Az RestartVS kódot és a PlatfromIO -t frissíteni kell

7. lépés: Hibakeresés: Konfiguráció

Hibakeresés: Konfiguráció
Hibakeresés: Konfiguráció

Szükségünk van a "PlatofrmIO.ini" fájl szerkesztésére a hibakeresés engedélyezéséhez, csak két dolgot kell hozzá adnunk.

debug_tool = esp-prog

Ez beállítja az általunk használt hibakeresési eszközt.

debug_init_break = tbreak beállítás

Ezt a trükköt tanultuk Andress Spiess ESP32 hibakeresésről szóló videójából. Azt mondja a hibakeresőnek, hogy álljon le az alkalmazásunk beállításánál.

8. lépés: Hibakeresés: A hibakeresés elindítása

Hibakeresés: A hibakeresés elindítása
Hibakeresés: A hibakeresés elindítása
Hibakeresés: A hibakeresés elindítása
Hibakeresés: A hibakeresés elindítása
Hibakeresés: A hibakeresés elindítása
Hibakeresés: A hibakeresés elindítása
Hibakeresés: A hibakeresés elindítása
Hibakeresés: A hibakeresés elindítása

Mielőtt belekezdenénk, egy kisebb változtatást végzünk a vázlaton, amely megkönnyíti annak bemutatását, hogy mit lehet tenni a hibakereséssel.

  1. Hozzon létre egy új változót, "int delayTime = 1000;" minden módszeren kívül ez globális változóvá teszi.
  2. Cserélje ki a hurokban lévő késleltetett hívásokon belüli számot ezzel az új változóval: delay (delayTime);

Töltse fel még egyszer a kódot a táblára, majd a hibakeresés megkezdéséhez kattintson az eszköztáron a "Futtatás", majd a "Hibakeresés indítása" gombra.

Látni fogja a dolgok mozgását a terminál ablakában, de még akkor is, ha ez azt jelzi, hogy sikeres volt, ha rákattint a "Hibakereső konzolra", látni fogja, hogy még mindig működik, néhány másodpercbe telik, amíg befejeződik.

Ha minden a várakozásoknak megfelelően történt, a telepítés elején a hibakereső leáll.

9. lépés: Hibakeresés: Alapvető használat

Hibakeresés: Alapvető használat
Hibakeresés: Alapvető használat
Hibakeresés: Alapvető használat
Hibakeresés: Alapvető használat
Hibakeresés: Alapvető használat
Hibakeresés: Alapvető használat
Hibakeresés: Alapvető használat
Hibakeresés: Alapvető használat

Tekintsük át a hibakeresővel mit lehet tenni

Töréspontok létrehozása:

A töréspont a kód azon pontja, ahol a hibakeresőt le kell állítani. Töréspont létrehozásához kattintson a sor számától balra. Demóként adjon meg töréspontot a ciklus módszer első sorához.

Töréspont navigáció:

A töréspont közötti váltáshoz vagy a következő kódsorhoz való lépéshez használja a képernyő tetején megjelenő eszközöket. Nyomja meg a "Folytatás" gombot (úgy néz ki, mint egy lejátszás gomb) az éppen létrehozott töréspont mozgatásához a cikluson belül.

Változó órák:

A változóórák segítségével nyomon követheti a változók értékét, amikor a hibakereső leáll egy törésponton. Új változóóra hozzáadásához kattintson a + ikonra, majd írja be a változó nevét. Demóként írja be az előző lépésben hozzáadott változót "delayTime"

Változó megtekintő:

Láthatja az összes változót és azok értékét is, amelyek az aktuális törésponton elérhetők. Ennek bemutatásához: Ha megnézi a "Globális" részt, meg kell találnia a "delayTime" változót.

A változók értékének szerkesztése:

A változók értékeit is szerkesztheti, és az azonnali hatást gyakorol a kódok viselkedésére. Ennek bizonyításához kattintson a delayTime változóra a Variable Viewer szakaszban, és módosítsa az értéket "100" értékre. Ennek a működésnek a megjelenítéséhez tiltsa le a cikluson belüli töréspontot, ha ismét a sor számától balra kattint. Nyomja meg a folytatás gombot a töréspont navigációs sávon. Az ESP32 LED -jének most sokkal gyorsabban kell villognia, mint korábban.

10. lépés: Hibaelhárítás

Hibaelhárítás
Hibaelhárítás

A tesztelés során azt tapasztaltam, hogy néha nem tudtam feltölteni az ESP32-re, miközben az ESP-progihoz volt csatlakoztatva, és nem tudtam kitalálni, hogy miért történt ez, mert legtöbbször anélkül tudtam feltölteni bármilyen probléma. Azt tapasztaltam, hogy csak leválaszthatom az ESP32-t és az ESP-Prog-ot, feltölthetem a kódot az ESP32-re, majd újra csatlakoztathatom őket, és minden rendben lesz.

11. lépés: Ütközés

Azt hiszem, ez egy nagyon jó eszköz az eszköztárhoz való hozzáadáshoz, hogy segítsen kitalálni, mi történik a projektben.

Szeretném hallani, ha hasznosnak találja ezt !. Kérjük, tudassa velem az alábbi megjegyzésekben, vagy csatlakozzon hozzám és egy csomó más készítőhöz a Discord szerveremen, ahol megvitathatjuk ezt a témát vagy bármely más készítővel kapcsolatos témát, az emberek valóban segítőkészek, így remek hely a lógásra ki.

Ezúton is szeretnék köszönetet mondani Github szponzoraimnak, akik segítenek abban, amit csinálok, nagyon értékelem. Ha nem tudja, a Github az első évben szponzorálást végez, tehát ha szponzorál, akkor 100% -ban megegyezik vele a következő hónapokban. Köszönöm, hogy elolvasta!

Ajánlott: