Агуулгын хүснэгт:

ESP32: 11 алхам дээр дибаг хийгчийг хэрхэн ашиглах вэ (зурагтай)
ESP32: 11 алхам дээр дибаг хийгчийг хэрхэн ашиглах вэ (зурагтай)

Видео: ESP32: 11 алхам дээр дибаг хийгчийг хэрхэн ашиглах вэ (зурагтай)

Видео: ESP32: 11 алхам дээр дибаг хийгчийг хэрхэн ашиглах вэ (зурагтай)
Видео: SKR Pro v1.2 — TMC2226 UART с бездатчиковым возвратом в исходное положение 2024, Долдугаар сарын
Anonim
ESP32 дээр дибаг хийгчийг хэрхэн ашиглах талаар
ESP32 дээр дибаг хийгчийг хэрхэн ашиглах талаар

Та яагаад иймэрхүү ааш авир гаргахыг мэдэхийн тулд кодоо дотроос нь харахыг хүсч байсан уу? Уламжлал ёсоор ESP32 төслүүдэд юу болж байгааг олж мэдэхийн тулд эцэс төгсгөлгүй хэвлэх мэдэгдлийг нэмэх шаардлагатай байсан ч илүү сайн арга бий!

Дебаг хийгч бол таны кодын тодорхой хэсгүүдэд юу болж байгааг харах, кодоо дахин хөрвүүлэхгүйгээр өөр өөр хувьсагчийн утгыг туршиж үзэх арга бөгөөд ихэвчлэн энэ нь суулгагдсан төслүүдэд бидэнд байдаггүй зүйл юм, гэхдээ энэ гарын авлагад би танд үзүүлэх болно. Үүнийг ESP32 дээр хэрхэн ашиглах талаар.

Энэхүү гарын авлагад би танд техник хангамж, програм хангамжийг тохируулах, дибаг хийгчийг ашиглах энгийн жишээг үзүүлэх болно.

Хангамж

  • ESP -Prog - Энэ бол дибаг хийхэд шаардлагатай самбар юм

    • Миний худалдаж авсан яг нэг зүйл*
    • $ 5 Хямдхан боловч би үүнийг туршиж үзээгүй*
  • 12, 13, 14, 15 -р зүүг эвддэг ESP32

    • Адафрут өд Huzzah32
    • D1 Mini ESP32*
  • [СОНГОЛТТОЙ] Debug Shield Би Tindie дээр зардаг

    • 32
    • D1 Mini ESP32

* = Түншлэлийн холбоос

Алхам 1: Видеог үзээрэй

Image
Image

Хэрэв та үүнийг үзэхийг хүсч байвал надад энэ сэдвээр видео байна.

Миний суваг дээр би ихэвчлэн ESP8266 ба ESP32 дээр суурилсан видео хийдэг тул хэрэв та эдгээрийг сонирхож байвал үзээрэй.

Алхам 2: Тоног төхөөрөмж - эд анги, утас

Тоног төхөөрөмж - эд анги, утас
Тоног төхөөрөмж - эд анги, утас
Тоног төхөөрөмж - эд анги, утас
Тоног төхөөрөмж - эд анги, утас
Тоног төхөөрөмж - эд анги, утас
Тоног төхөөрөмж - эд анги, утас

Дебаг хийгчийг ашиглахын тулд танд зөвхөн ESP-Prog болон бараг бүх ESP32 самбар хэрэгтэй болно (эдгээрийн холбоосыг өмнөх алхам дээр үзнэ үү)

ESP-Prog:

ESP-Prog бол ESP32 ба ESP8266 чип үйлдвэрлэгч espressif-ийн зохион бүтээсэн самбар юм. Энэ нь ESP32 -ийн JTAG тээглүүртэй холбогдож, дибаг хийгчийг ашиглах боломжийг олгодог бөгөөд үүнийг ESP32 самбарыг програмчлахад ашиглаж болох боловч энд би энд дурдахгүй.

ESP32 самбар:

Та 12, 13, 14, 15 гэсэн JTAG тээглүүрүүдийг салгасны дараа ямар ч ESP32 самбар ашиглаж болно. Би Adafruit өд Huzzah32 болон D1 Mini 32 хавтанг хоёуланг нь туршиж үзсэн бөгөөд хоёулаа сайн ажилласан.

Та зурган дээрх JTAG тээглүүрийг дибаг хийгчтэй хамт ашиглаж болохыг анхаарна уу, жишээ нь Huzzah32 самбарын LED нь 13-р зүү дээр байгаа тул дибаг хийх явцад ашиглах боломжгүй.

Утас:

ESP-Prog-ийг ESP32-тэй холбохын тулд дээрх зурагт үзүүлсэн шиг утас холбох гарын авлагыг ашиглана уу. Хэрэв та өөр нэр өгөх схем ашигладаг бол тохирох тээглүүдийг тэр даруй олж харахгүй байгаа бол ESP32 самбарынхаа утаснуудын диаграмыг шалгаарай.

Дебаг хийх бамбай:

Эдгээр нь заавал биш боловч би Tindie дээр Huzzah32 болон D1 Mini 32-ийн зарим бамбайг зардаг бөгөөд энэ нь ESP-Prog-ийг холбоход хялбар болгодог бөгөөд энэ нь IDC холбогчтой тохирох зүүг салгаж, туузан кабель ашиглан хооронд нь шууд холбож өгдөг. бамбай ба ESP-Prog

Алхам 3: Тоног төхөөрөмж - Драйверын тохиргоо

Тоног төхөөрөмж - жолоочийн тохиргоо
Тоног төхөөрөмж - жолоочийн тохиргоо
Тоног төхөөрөмж - жолоочийн тохиргоо
Тоног төхөөрөмж - жолоочийн тохиргоо
Тоног төхөөрөмж - жолоочийн тохиргоо
Тоног төхөөрөмж - жолоочийн тохиргоо

ESP-prog-ийг дибаг хийх зорилгоор ашиглахын тулд бид түүнд тохирох драйверуудыг суулгах хэрэгтэй. PlatformIO нь үүнд зориулж зарим алхмуудыг өгдөг, гэхдээ би энэ гарын авлагад байгаа Windows алхмуудыг авч үзэх болно.

  1. ESP-Prog-ийн FTDI драйверуудыг эндээс татаж суулгаад, баруун тийш гүйлгэж, "тохируулах боломжтой" хувилбарыг татаж аваарай.
  2. Zadig хэрэгслийг эндээс татаж суулгаарай, энэ нь дибаг хийхэд шаардлагатай ерөнхий драйверийг суулгах боломжийг бидэнд олгодог.
  3. ESP-Prog-ийг залгаад Zadig-ийг нээнэ үү
  4. Zadig програмын "Сонголтууд" хэсэгт "Бүх төхөөрөмжийг жагсаах" дээр дарна уу.
  5. Задиг дахь унах цонхыг хүн ам дүүргэх болно, "Хос RS232-HS (Интерфэйс 0)" сонголтыг сонгоно уу. Таны сонгосон 0 интерфэйс байгаа эсэхийг шалгаарай!
  6. Ногоон сумны баруун талд "WinUSB" -г сонгоод "Драйверыг солих" дээр дарна уу.

Үүнийг хийж дуусаад драйверуудаа ашиглахаар тохируулах ёстой!

Тэмдэглэл: Хэрэв та ESP-Prog-д ашиглаж байгаа USB портыг өөрчилвөл 3-6 алхамыг дахин давтах шаардлагатай болж магадгүй юм. Хэрэв дибаг хийх үед дээрх зурагт үзүүлсэн шиг алдаа гарвал та алхамуудыг давтах хэрэгтэй.

Алхам 4: Програм хангамж: PlatformIO суулгах

Програм хангамж: PlatformIO суулгах
Програм хангамж: PlatformIO суулгах
Програм хангамж: PlatformIO суулгах
Програм хангамж: PlatformIO суулгах
Програм хангамж: PlatformIO суулгах
Програм хангамж: PlatformIO суулгах

PlatformIO бол Arduino эко системийг багтаасан төрөл бүрийн суулгагдсан бүтэцтэй хөгжүүлэх IDE юм. Үүнийг ашиглах нь Arduino IDE гэх мэт зүйлээс илүү төвөгтэй боловч маш хүчирхэг бөгөөд Arduino IDE-ийн автоматаар дуусгах гэх мэт маш их алддаг зарим онцлог шинж чанартай байдаг.

PlatformIO -д дибаг хийгчийг ашиглах шаардлагатай. Хэрэв та PlatformIO -г аль хэдийн мэддэг болсон бол хэдхэн алхам алгасах хэрэгтэй.

  • PlatformIO.org вэбсайт дээр байрлуулсан линкээс Visual Studio Code (VS Code) татаж аваад суулгана уу
  • VS кодыг нээгээд өргөтгөлүүдийн цэсийг нээгээд дээрх зурган дээр товчлуурыг тодруулсан болно
  • Хайлтанд "platformio" гэж бичээд үүнийг сонгоод суулгах дээр дарна уу.

Алхам 5: Програм хангамж: PlatformIO ашиглах

Програм хангамж: PlatformIO ашиглах
Програм хангамж: PlatformIO ашиглах
Програм хангамж: PlatformIO ашиглах
Програм хангамж: PlatformIO ашиглах
Програм хангамж: PlatformIO ашиглах
Програм хангамж: PlatformIO ашиглах

PlatformIO -ийг ашиглах нь Arudino IDE -ийг ашиглахаас арай өөр зүйл тул энэ алхам дээр бид самбар дээр ажиллаж байгаа жишээ авах үндсийг л авч үзэх болно.

Жишээ нээх:

  1. PlatformIO хэрэгслийн самбар дээрх Нүүр товчийг дарна уу (Зураг дээр үзүүлсэн шиг)
  2. "Төслийн жишээ" товчийг дарна уу
  3. Espressif 32 хэсгийн доорх "Arduino-blink" жишээг сонгоно уу

Энэ нь анивчих төслийн дээжийг нээх болно. PlatformIO -ийн зохион байгуулалт нь Arduino төслөөс эрс ялгаатай тул үндсэн ойлголтуудыг авч үзье.

Код хаана байна?

Таны төслийн кодыг "src" фолдерт хадгалах болно, жишээ нь та "blink.cpp" файлыг харах болно, энэ файл нь Arduino төсөл дээрх таны ноорог файл (.ino) -той ижил байна.

Би самбараа хэрхэн тохируулах вэ?

Таны төслийн тохиргоог төсөл дээрээ "platformio.ini" файл дотор хадгална. Энэ бол PlatformIO -ийн Arduino IDE -тэй харьцуулахад миний дуртай зүйлсийн нэг бөгөөд самбарын тохиргоо нь ноорогтой холбоогүй байсан нь надад огт утгагүй санагдсан.

. Ini жишээ нь олон янзын самбаруудын тодорхойлолтыг агуулдаг боловч энгийн байлгахын тулд доод талын хоёр тодорхойлолтыг устгацгаая.

Би COM портоо хаана тохируулах вэ?

PlatformIO нь автоматаар зөв COM портыг олохыг хичээх болно, тиймээс та үүнд ямар нэгэн зүйл тохируулаагүй байж болно. Гэхдээ хэрэв та хэд хэдэн COM порттой бол дибаг хийгчийг ашиглах үед хэрэгтэй байгаа зүйлээ тохируулах нь зүйтэй гэж бодож байна. Та өөр өөр төхөөрөмжүүдийг гэрийн таб дээрх "Төхөөрөмжүүд" хэсгийг дарж харах боломжтой. "upload_port" тохиргоог нэмж оруулснаар та "platformio.ini" -д ESP32 аль нь болохыг тохируулж болно.

Би кодоо хэрхэн байршуулах вэ?

Байршуулах товчийг дарна уу (дүрс нь баруун тийш чиглэсэн сум юм), энэ нь кодыг эмхэтгэж байршуулах ёстой. Та одоо самбар дээр анивчдаг LED байх ёстой.

Алхам 6: Дебаг хийх: гадил жимсний болзошгүй арьс

Дебаг хийх: гадил жимсний боломжит арьс!
Дебаг хийх: гадил жимсний боломжит арьс!
Дебаг хийх: гадил жимсний боломжит арьс!
Дебаг хийх: гадил жимсний боломжит арьс!
Дебаг хийх: гадил жимсний боломжит арьс!
Дебаг хийх: гадил жимсний боломжит арьс!

Энэ бол намайг бэлдэж байх үед намайг татсан зүйл бөгөөд та үүнийг туршиж үзэхэд засагдах болно гэж найдаж байна, гэхдээ эндээс явах нь чухал гэж би бодсон.

Энэхүү гарын авлагыг гаргах үед PlatformIO -ийн хамгийн сүүлийн хувилбар нь 4.3.0 бөгөөд дибаг хийх чадвартай холбоотой алдаатай байдаг. Аз болоход бид асуудлыг шийдэх хамгийн хялбар хувилбарыг шинэчлэх боломжтой.

Нүүр хуудаснаас PlatformIO цөмийн хувилбарыг шалгана уу, хэрэв энэ нь "4.3.0" бол дараах алхмуудыг хийнэ үү.

  1. PlatformIO toolbar дээр терминалын дүрс дээр дарна уу
  2. Терминалын төрөлд: pio upgrade --dev
  3. RestartVS код болон PlatfromIO шинэчлэгдэх ёстой

Алхам 7: Дебаг хийх: тохиргоо

Дебаг хийх: тохиргоо
Дебаг хийх: тохиргоо

Бид дибаг хийхийг идэвхжүүлэхийн тулд "PlatofrmIO.ini" файлыг засах хэрэгтэй, үүнд зөвхөн хоёр зүйлийг нэмэх хэрэгтэй.

debug_tool = esp-prog

Энэ нь бидний ашиглаж буй дибаг хийх хэрэгслийг тохируулдаг.

debug_init_break = эвдрэлийн тохиргоо

Энэ бол Andress Spiess -ийн ESP32 дээр дибаг хийх видео бичлэгээс олж авсан заль мэх юм. Энэ нь дибаг хийгчийг манай програмын тохиргоог зогсоохыг хэлдэг.

Алхам 8: Дебаг хийх: Дебаг хийж эхэлнэ

Дебаг хийх: дибаг хийж эхэлнэ
Дебаг хийх: дибаг хийж эхэлнэ
Дебаг хийх: дибаг хийж эхэлнэ
Дебаг хийх: дибаг хийж эхэлнэ
Дебаг хийх: дибаг хийж эхэлнэ
Дебаг хийх: дибаг хийж эхэлнэ
Дебаг хийх: дибаг хийж эхэлнэ
Дебаг хийх: дибаг хийж эхэлнэ

Бид үүнийг оруулахаасаа өмнө ноорог дээр бага зэрэг өөрчлөлт хийх бөгөөд энэ нь дибаг хийх замаар юу хийж болохыг харуулахад хялбар болгоно.

  1. "Int delayTime = 1000;" гэсэн шинэ хувьсагч үүсгэнэ үү. аливаа аргаас гадна энэ нь түүнийг дэлхийн хувьсагч болгоно.
  2. Давталтын дуудлагын доторх дугаарыг энэ шинэ хувьсагчаар солино уу: delay (delayTime);

Кодыг самбар дээр дахин ачаалж, дибаг хийхийг эхлүүлэхийн тулд багажны самбар дээрх "Ажиллуулах", дараа нь "Дебаг хийж эхлэх" дээр дарна уу.

Та терминалын цонхонд байгаа зүйлсийг харах болно, гэхдээ энэ нь амжилттай болсон гэж мэдэгдсэн ч гэсэн, хэрэв та "Debug Console" дээр дарвал энэ нь ажиллаж байгаа хэвээр байгааг харах болно, дуусгахад хэдэн секунд шаардагдах болно.

Хэрэв бүх зүйл төлөвлөсний дагуу хийгдсэн бол тохиргооны эхэнд дибаг хийгч зогсох болно.

Алхам 9: Дебаг хийх: Үндсэн хэрэглээ

Дебаг хийх: үндсэн хэрэглээ
Дебаг хийх: үндсэн хэрэглээ
Дебаг хийх: үндсэн хэрэглээ
Дебаг хийх: үндсэн хэрэглээ
Дебаг хийх: үндсэн хэрэглээ
Дебаг хийх: үндсэн хэрэглээ
Дебаг хийх: үндсэн хэрэглээ
Дебаг хийх: үндсэн хэрэглээ

Дебаг хийгчээр хийж болох зарим үндсэн ойлголтуудыг авч үзье

Таслах цэгийг бий болгох:

Таслах цэг бол дибаг хийгчийг зогсоохыг хүссэн таны кодын цэг юм. Таслах цэг үүсгэхийн тулд мөрийн зүүн талд дарна уу. Демо хэлбэрээр давталтын аргын эхний мөрөнд таслах цэгийг нэмнэ үү.

Таслах цэгийн навигаци:

Таслах цэгийн хооронд шилжих эсвэл кодын дараагийн мөр рүү шилжихийн тулд та дэлгэцийн дээд талд гарч ирэх хэрэгслүүдийг ашиглаж болно. "Үргэлжлүүлэх" товчийг дарна уу (тоглуулах товчлуур шиг харагдаж байна), бидний үүсгэсэн таслах цэгийг гогцоонд шилжүүлэх.

Хувьсах цаг:

Хувьсах цаг нь дибаг хийгчийг таслах цэг дээр зогсооход хувьсагчдын утгыг хянах боломжийг танд олгоно. Шинэ хувьсах цаг нэмэхийн тулд + дүрсэн дээр дараад хувьсагчийн нэрийг бичнэ үү. Демо хэлбэрээр өмнөх алхам дээр нэмсэн хувьсагчийг "delayTime" гэж бичнэ үү.

Хувьсагч үзүүлэгч:

Та мөн одоогийн хувьсах цэг дээр байгаа бүх хувьсагч болон тэдгээрийн утгыг харах боломжтой. Үүнийг демо болгохын тулд хэрэв та "Глобал" хэсгийг харах юм бол "delayTime" хувьсагчийг олох ёстой.

Хувьсагчийн утгыг засварлах:

Та мөн хувьсагчдын утгыг засах боломжтой бөгөөд энэ нь таны кодын зан төлөвт шууд нөлөөлнө. Үүнийг харуулахын тулд Variable Viewer хэсэгт байгаа delayTime хувьсагч дээр дарж утгыг "100" болгож өөрчилнө үү. Үүнийг ажиллаж байгааг харуулахын тулд мөрийн зүүн талд дахин дарж давталтын доторх таслах цэгийг идэвхгүй болго. Таслах цэгийн навигацийн самбар дээрх үргэлжлүүлэх товчийг дарна уу. Таны ESP32 дээрх LED одоо өмнөхөөсөө хамаагүй хурдан анивчих ёстой.

Алхам 10: Алдааг олж засварлах

Алдааг олж засварлах
Алдааг олж засварлах

Туршилтынхаа явцад би ESP32-ийг ESP-prog-тэй холбогдож байхад зарим үед би байршуулж чадахгүй байсныг олж мэдсэн бөгөөд яагаад ийм зүйл болсныг би олж чадаагүй, учир нь ихэнх тохиолдолд би үүнийг оруулахгүйгээр байршуулж болно. аливаа асуудал. Би зүгээр л ESP32 болон ESP-Prog-ийг салгаж, кодыг ESP32-д байршуулж, дараа нь дахин холбож үзвэл сайн ажиллах болно.

Алхам 11: Дүгнэлт

Энэ бол таны төсөл дотор юу болж байгааг ойлгоход туслах хэрэгслийн хайрцагт нэмэх үнэхээр гайхалтай хэрэгсэл гэж би бодож байна.

Хэрэв танд үүнийг хэрэгтэй гэж үзвэл би сонсох дуртай байна! Доорх сэтгэгдлүүд дээр надад мэдэгдээрэй, эсвэл надтай болон миний Discord сервер дээр байгаа бусад олон үйлдвэрлэгчидтэй нэгдээрэй, энд бид энэ сэдвээр эсвэл өөр бусад үйлдвэрлэгчидтэй холбоотой сэдвээр ярилцаж болно, хүмүүс тэнд үнэхээр тустай байдаг тул өлгөхөд тохиромжтой газар юм. гадагш

Миний хийж буй зүйлийг дэмжихэд тусалдаг Github ивээн тэтгэгчиддээ маш их баярлалаа гэж хэлмээр байна. Хэрэв та мэдэхгүй бол Github эхний жилдээ ивээн тэтгэгчтэй таарч байгаа тул хэрэв та ивээн тэтгэлэг хийвэл тэд ирэх хэдэн сарын хугацаанд 100% -тай тэнцэх болно. Уншсанд баярлалаа!

Зөвлөмж болгож буй: