Mundarija:

Nosozliklarni tuzatuvchini ESP32 -da qanday ishlatish kerak: 11 qadam (rasmlar bilan)
Nosozliklarni tuzatuvchini ESP32 -da qanday ishlatish kerak: 11 qadam (rasmlar bilan)

Video: Nosozliklarni tuzatuvchini ESP32 -da qanday ishlatish kerak: 11 qadam (rasmlar bilan)

Video: Nosozliklarni tuzatuvchini ESP32 -da qanday ishlatish kerak: 11 qadam (rasmlar bilan)
Video: Измерение 5A-30A переменного и постоянного тока с использованием ACS712 с библиотекой Robojax 2024, Iyul
Anonim
ESP32 -da tuzatuvchini qanday ishlatish kerak
ESP32 -da tuzatuvchini qanday ishlatish kerak

Siz nima uchun bunday xatti -harakat qilayotganini bilish uchun kodingizning ichki qismini ko'rib chiqishni xohlaganmisiz? An'anaga ko'ra, ESP32 loyihalarida nima bo'layotganini aniqlash uchun cheksiz bosma bayonot qo'shish kerak bo'lardi, lekin yaxshiroq yo'l bor!

Nosozliklarni tuzatuvchi-bu sizning kodingizning alohida bo'limlarida nima bo'layotganini ko'rish va o'z kodingizni qayta kompilyatsiya qilmasdan, har xil o'zgaruvchan qiymatlarni sinab ko'rish usuli, odatda bu bizga o'rnatilgan loyihalarda mavjud emas, lekin bu qo'llanmada men sizga ko'rsataman. ESP32 -da uni qanday ishlatish kerak.

Ushbu qo'llanmada men sizga uskunani sozlash, dasturiy ta'minotni sozlash va tuzatuvchidan foydalanishning oddiy misolini ko'rsataman.

Ta'minotlar

  • ESP -Prog - bu disk raskadrovka uchun zarur bo'lgan taxta
    • Men sotib olgan aynan biri*
    • 5 dollar arzonroq, lekin men uni sinab ko'rmaganman*
  • 12, 13, 14, 15 -pinlarni ajratadigan ESP32

    • 32
    • D1 Mini ESP32*
  • [Ixtiyoriy] Debug Shield Men Tindida sotaman

    • 32. Huzba tuklari
    • D1 Mini ESP32

* = Sheriklik havolasi

1 -qadam: Videoni tomosha qiling

Image
Image

Agar siz buni tekshirmoqchi bo'lsangiz, menda ushbu mavzu bo'yicha video bor.

Men o'z kanalimda odatda ESP8266 va ESP32 asosidagi videolarni tayyorlayman, shuning uchun agar siz ularni qiziqtirsangiz, albatta ko'ring!

2 -qadam: Uskuna - ehtiyot qismlar va simlar

Uskuna - ehtiyot qismlar va simlar
Uskuna - ehtiyot qismlar va simlar
Uskuna - ehtiyot qismlar va simlar
Uskuna - ehtiyot qismlar va simlar
Uskuna - ehtiyot qismlar va simlar
Uskuna - ehtiyot qismlar va simlar

Nosozliklarni tuzatuvchidan foydalanish uchun sizga faqat ESP-Prog va deyarli har qanday ESP32 kartasi kerak bo'ladi (ularga oldingi bosqichda havolalar)

ESP-Prog:

ESP-Prog-bu ESP32 va ESP8266 chiplarini ishlab chiqaruvchi espressif tomonidan ishlab chiqilgan taxta. U ESP32 -ning JTAG pinlariga ulanadi, bu bizga disk raskadrovka vositasini ishlatishga imkon beradi, uni ESP32 platalarini dasturlash uchun ham ishlatish mumkin, lekin men buni bu erda yoritmayman.

ESP32 taxtasi:

Siz har qanday ESP32 kartasini 12, 13, 14 va 15 gacha bo'lgan JTAG pinlarini sindirib tashlagandan so'ng ishlatishingiz mumkin, men Adafruit patini Huzzah32 va D1 Mini 32 kartalarini sinab ko'rdim va ikkalasi ham yaxshi ishladi.

E'tibor bering, siz eskizda JTAG pimlarini nosozliklarni tuzatuvchi bilan ishlatishingiz mumkin, masalan, Huzzah32 taxtasining o'rnatilgan LEDi 13-pinda, shuning uchun disk raskadrovka paytida uni ishlata olmaysiz.

Ulanish:

ESP-Prog-ni ESP32-ga ulash uchun yuqoridagi rasmda ko'rsatilgandek simi qo'llanmasidan foydalaning. Agar siz tegishli pinlarni darhol ko'rmasangiz, ESP32 kartangizning simi diagrammasini tekshiring, chunki ular ba'zida boshqa nomlash sxemasidan foydalanadilar.

Debug qalqonlari:

Bu ixtiyoriy, lekin men Tindie-da Huzzah32 va D1 Mini 32 uchun qalqonlarni sotaman, bu ESP-Prog-ni ulashni juda sodda qiladi, bu mos keladigan pinlarni IDC ulagichiga ajratib qo'yadi, siz ularni to'g'ridan-to'g'ri ulash uchun tasma kabelidan foydalanishingiz mumkin. qalqon va ESP-Prog

3 -qadam: Uskuna - drayverni sozlash

Uskuna - haydovchilarni sozlash
Uskuna - haydovchilarni sozlash
Uskuna - haydovchilarni sozlash
Uskuna - haydovchilarni sozlash
Uskuna - haydovchilarni sozlash
Uskuna - haydovchilarni sozlash

Nosozliklarni tuzatish uchun ESP-prog-dan foydalanish uchun biz unga mos drayverlarni o'rnatishimiz kerak. PlatformIO bu erda ba'zi qadamlarni beradi, lekin men ushbu qo'llanmada Windows bosqichlarini o'taman.

  1. ESP-Prog uchun FTDI drayverlarini bu erdan yuklab oling va o'rnating, o'ng tomonga o'ting va "bajariladigan sozlamalarni o'rnatish" ni osonlashtiring.
  2. Zadig vositasini bu erdan yuklab oling va o'rnating, bu bizga disk raskadrovka uchun zarur bo'lgan umumiy drayverni o'rnatishga imkon beradi.
  3. ESP-Prog ulangan bo'lsa, Zadig-ni oching
  4. Zadig ilovasida "Tanlovlar" ostida "Barcha qurilmalarni ro'yxatga olish" -ni bosing.
  5. Zadigdagi ochiladigan ro'yxat endi to'ldiriladi, "Dual RS232-HS (Interface 0)" variantini tanlang. Siz tanlagan interfeys 0 ekanligiga ishonch hosil qiling!
  6. Yashil o'qning o'ng tomonida "WinUSB" ni tanlash kerak, keyin "Drayverni almashtirish" tugmasini bosing.

Bu tugagach, sizning haydovchilaringiz foydalanish uchun sozlanishi kerak!

Eslatma: Agar siz ESP-Prog uchun foydalanadigan USB portini o'zgartirsangiz, 3-6 bosqichlarni yana takrorlashingiz kerak bo'ladi. Agar disk raskadrovka paytida yuqoridagi rasmda ko'rsatilgandek xato bo'lsa, qadamlarni takrorlash kerak.

4 -qadam: dasturiy ta'minot: PlatformIO -ni o'rnatish

Dasturiy ta'minot: PlatformIO ni o'rnatish
Dasturiy ta'minot: PlatformIO ni o'rnatish
Dasturiy ta'minot: PlatformIO ni o'rnatish
Dasturiy ta'minot: PlatformIO ni o'rnatish
Dasturiy ta'minot: PlatformIO ni o'rnatish
Dasturiy ta'minot: PlatformIO ni o'rnatish

PlatformIO-bu turli xil o'rnatilgan ramkalar, jumladan Arduino eko tizimi bilan ishlab chiqish uchun IDE. Arduino IDE-ga qaraganda uni ishlatish ancha murakkab, lekin u juda kuchli va Arduino IDE-ni sog'inadigan ba'zi xususiyatlarga ega, masalan, avtomatik to'ldirish.

PlatformIO -dan tuzatuvchini ishlatish talab qilinadi. Agar siz PlatformIO bilan allaqachon tanish bo'lsangiz, bir necha qadam oldinga o'tishingiz mumkin.

  • PlatformIO.org veb -saytida joylashgan havola orqali Visual Studio kodini (VS kodi) yuklab oling va o'rnating
  • VS kodini oching va kengaytmalar menyusini oching, tugma yuqoridagi rasmda ajratilgan
  • Qidiruvga "platformio" kiriting, uni tanlang va "O'rnatish" ni bosing.

5 -qadam: dasturiy ta'minot: PlatformIO -dan foydalanish

Dasturiy ta'minot: PlatformIO -dan foydalanish
Dasturiy ta'minot: PlatformIO -dan foydalanish
Dasturiy ta'minot: PlatformIO -dan foydalanish
Dasturiy ta'minot: PlatformIO -dan foydalanish
Dasturiy ta'minot: PlatformIO -dan foydalanish
Dasturiy ta'minot: PlatformIO -dan foydalanish

PlatformIO -dan foydalanish Arudino IDE -ni ishlatishdan biroz farq qiladi, shuning uchun biz bu bosqichda faqat doskada ishlaydigan misolni olish asoslarini ko'rib chiqamiz.

Misol ochish:

  1. PlatformIO asboblar panelidagi Uy tugmachasini bosing (rasmda ko'rsatilganidek)
  2. "Loyiha misollari" tugmasini bosing
  3. Espressif 32 bo'limidagi "Arduino-miltillash" misolini tanlang

Bu namunali miltillash loyihasini ochadi. PlatformIO -ning joylashuvi Arduino loyihasiga qaraganda ancha farq qiladi, shuning uchun biz asoslarni ko'rib chiqamiz.

Kod qayerda?

Loyihangiz kodi "src" papkasida saqlanadi, masalan, "blink.cpp" faylini ko'rasiz, bu fayl Arduino loyihasidagi eskiz faylingiz (.ino) bilan bir xil.

Kengashni qanday sozlash kerak?

Loyihangiz uchun konfiguratsiyalar loyihangizdagi "platformio.ini" faylida saqlanadi. Bu aslida PlatformIO -ning Arduino IDE -ga nisbatan eng sevimli narsalaridan biri, men uchun taxta sozlamalari eskizlar bilan bog'lanmaganligi hech qachon mantiqqa to'g'ri kelmagan.

. Ini misolida bir nechta turli xil taxtalar uchun ta'riflar mavjud, lekin oddiy bo'lishi uchun pastki ikkita ta'rifni o'chirib tashlaylik.

COM portimni qayerga o'rnatishim kerak?

PlatformIO avtomatik ravishda to'g'ri COM portini topishga harakat qiladi, shuning uchun siz hech narsa o'rnatmasligingiz mumkin. Agar sizda bir nechta MAQOMOTI portlari bo'lsa, ularni tuzatuvchidan foydalanganda, menimcha, sizga kerakli qurilmani o'rnatish mantiqan to'g'ri keladi, siz uy qurilmasidagi "Qurilmalar" bo'limini bosish orqali turli qurilmalarni ko'rishingiz mumkin. "upload_port" konfiguratsiyasini qo'shish orqali siz "platformio.ini" da ESP32 qaysi biri ekanligini belgilashingiz mumkin.

Kodni qanday yuklayman?

Yuklab olish tugmachasini bosing (belgi o'ngga qaragan o'q) va u kodni kompilyatsiya qilishi va yuklashi kerak. Endi sizning taxtangizda miltillovchi LED bo'lishi kerak.

6 -qadam: disk raskadrovka: potentsial banan terisi

Nosozliklarni tuzatish: potentsial banan terisi!
Nosozliklarni tuzatish: potentsial banan terisi!
Nosozliklarni tuzatish: potentsial banan terisi!
Nosozliklarni tuzatish: potentsial banan terisi!
Nosozliklarni tuzatish: potentsial banan terisi!
Nosozliklarni tuzatish: potentsial banan terisi!

Bu men tayyorlayotganda meni ushlagan narsa va umid qilamanki, siz buni sinab ko'rasiz, lekin men bu erdan ketish muhim deb o'yladim.

Ushbu qo'llanmani tuzish paytida PlatformIO -ning so'nggi versiyasi 4.3.0 bo'lib, unda disk raskadrovka qilish bilan bog'liq xato bor. Yaxshiyamki, biz muammoni hal qiladigan eng so'nggi rivojlanish versiyasiga yangilanishimiz mumkin.

Bosh sahifada PlatformIO yadrosining versiyasini tekshiring, agar u "4.3.0" bo'lsa, quyidagi amallarni bajaring.

  1. PlatformIO asboblar panelida terminal belgisini bosing
  2. Terminal turida: pio upgrade --dev
  3. RestartVS kodi va PlatfromIO yangilanishi kerak

7 -qadam: disk raskadrovka: konfiguratsiya

Nosozliklarni tuzatish: konfiguratsiya
Nosozliklarni tuzatish: konfiguratsiya

Nosozliklarni tuzatish uchun "PlatofrmIO.ini" faylini tahrir qilishimiz kerak, unga faqat ikkita narsani qo'shishimiz kerak.

debug_tool = esp-prog

Bu biz foydalanadigan disk raskadrovka vositasini o'rnatadi.

debug_init_break = buzilish sozlamalari

Bu Andress Spiessning ESP32 -da disk raskadrovka qilish videosidan bilib olgan hiyla. Bu nosozliklarni tuzatuvchiga bizning ilovamizni sozlashni to'xtatishni aytadi.

8 -qadam: disk raskadrovka: tuzatishni boshlash

Nosozliklarni tuzatish: tuzatishni boshlash
Nosozliklarni tuzatish: tuzatishni boshlash
Nosozliklarni tuzatish: tuzatishni boshlash
Nosozliklarni tuzatish: tuzatishni boshlash
Nosozliklarni tuzatish: tuzatishni boshlash
Nosozliklarni tuzatish: tuzatishni boshlash
Nosozliklarni tuzatish: tuzatishni boshlash
Nosozliklarni tuzatish: tuzatishni boshlash

Ishga kirishdan oldin, biz eskizga ozgina o'zgartirish kiritamiz, bu disk raskadrovka yordamida nima qilishingiz mumkinligini ko'rsatishni osonlashtiradi.

  1. Yangi o'zgaruvchini yarating, "int delayTime = 1000;" har qanday usullardan tashqari, bu uni global o'zgaruvchiga aylantiradi.
  2. Tarmoqdagi kechiktiruvchi qo'ng'iroqlar ichidagi raqamni ushbu yangi o'zgaruvchiga almashtiring: delay (delayTime);

Kodni yana bir marta taxtaga yuklang, so'ng tuzatishni boshlash uchun asboblar panelida "Ishga tushirish" va keyin "Nosozliklarni tuzatishni boshlash" ni bosing.

Siz terminal oynasida harakatlanayotgan narsalarni ko'rasiz, lekin bu muvaffaqiyatli deb aytilganida ham, "Debug konsoli" ni bosganingizda, u hali ham ishlayotganini ko'rasiz, tugashiga bir necha soniya kerak bo'ladi.

Agar hamma narsa kutilganidek bo'lsa, sozlash boshida xato tuzatuvchi to'xtaydi.

9 -qadam: disk raskadrovka: asosiy foydalanish

Nosozliklarni tuzatish: asosiy foydalanish
Nosozliklarni tuzatish: asosiy foydalanish
Nosozliklarni tuzatish: asosiy foydalanish
Nosozliklarni tuzatish: asosiy foydalanish
Nosozliklarni tuzatish: asosiy foydalanish
Nosozliklarni tuzatish: asosiy foydalanish
Nosozliklarni tuzatish: asosiy foydalanish
Nosozliklarni tuzatish: asosiy foydalanish

Keling, nosozliklarni tuzatuvchi bilan nima qilish mumkinligi haqida ba'zi asosiy ma'lumotlarni ko'rib chiqaylik

To'xtash nuqtalarini yaratish:

To'xtatish nuqtasi - bu xato tuzatuvchini to'xtatishni xohlaydigan kodingizning nuqtasi. To'xtash nuqtasini yaratish uchun satr raqamining chap tomoniga bosing. Demo sifatida loop usulida birinchi qatorga to'xtash nuqtasini qo'shing.

To'xtash nuqtasi bo'yicha navigatsiya:

To'xtash nuqtasi o'rtasida o'tish yoki keyingi kod satriga o'tish uchun siz ekranning yuqori qismida paydo bo'ladigan asboblardan foydalanishingiz mumkin. "Davom etish" tugmachasini bosing (o'yin tugmachasiga o'xshaydi) biz yaratgan to'xtash nuqtasini pastadir ichida ko'chirish uchun.

O'zgaruvchan soatlar:

O'zgaruvchan soatlar, nosozliklarni tuzatuvchi to'xtash nuqtasida to'xtatilganda o'zgaruvchilar qiymatini kuzatishga imkon beradi. Yangi o'zgarmaydigan soatni qo'shish uchun + belgisini bosishingiz mumkin, keyin o'zgaruvchining nomini kiriting. Demo sifatida oldingi qadamda qo'shilgan o'zgaruvchini kiriting "delayTime"

O'zgaruvchan ko'rish vositasi:

Shuningdek, siz joriy to'xtash nuqtasida mavjud bo'lgan barcha o'zgaruvchilar va ularning qiymatlarini ko'rishingiz mumkin. Buni namoyish qilish uchun, agar siz "Global" bo'limiga qarasangiz, "delayTime" o'zgaruvchisini topishingiz kerak.

O'zgaruvchilar qiymatini tahrirlash:

Siz shuningdek o'zgaruvchilar qiymatlarini o'zgartirishingiz mumkin va bu sizning kodlaringiz xatti -harakatlariga darhol ta'sir qiladi. Buni ko'rsatish uchun Variable Viewer bo'limidagi delayTime o'zgaruvchisini bosing va qiymatni "100" ga o'zgartiring. Ishlayotganini ko'rsatish uchun qatorning chap tomonidagi tugmachani yana bosish orqali pastadir ichidagi to'xtash nuqtasini o'chiring. To'xtash nuqtasi navigatsiya panelidagi davom etish tugmasini bosing. Sizning ESP32 -dagi LED endi oldingisiga qaraganda ancha tez miltillashi kerak.

10 -qadam: Muammolarni bartaraf etish

Muammolarni bartaraf qilish; nosozliklarni TUZATISH
Muammolarni bartaraf qilish; nosozliklarni TUZATISH

Sinov paytida men ESP32-ni ESP-prog-ga ulangan paytda yuklay olmasligimni aniqladim va nima uchun bunday bo'lganini tushunolmadim, chunki ko'pincha men yuklamasdan yuklashim mumkin edi. har qanday muammolar. Men ESP32 va ESP-Prog-ni uzib qo'yishim, kodni ESP32-ga yuklashim va keyin ularni qayta ulashim mumkinligini aniqladim.

11 -qadam: Xulosa

O'ylaymanki, bu sizning loyihangizda nima bo'layotganini aniqlash uchun asboblar qutisiga qo'shish uchun ajoyib vosita.

Agar siz buni foydali deb bilsangiz, eshitishni istardim!. Iltimos, menga quyidagi izohlarda xabar bering, yoki menga va Discord serverimdagi boshqa ishlab chiqaruvchilarga qo'shiling, u erda biz bu mavzuni yoki sizga tegishli bo'lgan boshqa ishlab chiqaruvchilarni muhokama qila olamiz, odamlar u erda haqiqatan ham yordam berishadi, shuning uchun bu osish uchun ajoyib joy tashqariga

Men ham Github homiylarimga katta rahmat aytmoqchiman, ular mening ishimni qo'llab -quvvatlaydilar, men buni juda qadrlayman. Agar bilmasangiz, Github birinchi yil homiylik yordamiga mos keladi, shuning uchun agar siz homiylik qilsangiz, ular keyingi bir necha oy davomida unga 100% mos keladi. O'qiganingiz uchun tashakkur!

Tavsiya: