Мазмуну:

ESP32де мүчүлүштүктөрдү оңдоону кантип колдонуу керек: 11 кадам (Сүрөттөр менен)
ESP32де мүчүлүштүктөрдү оңдоону кантип колдонуу керек: 11 кадам (Сүрөттөр менен)

Video: ESP32де мүчүлүштүктөрдү оңдоону кантип колдонуу керек: 11 кадам (Сүрөттөр менен)

Video: ESP32де мүчүлүштүктөрдү оңдоону кантип колдонуу керек: 11 кадам (Сүрөттөр менен)
Video: ESP32-C6 :: ZephyrIoT RTOS 2024, Декабрь
Anonim
ESP32де мүчүлүштүктөрдү оңдогучту кантип колдонуу керек
ESP32де мүчүлүштүктөрдү оңдогучту кантип колдонуу керек

Сиз эмне үчүн мындай болуп жатканын түшүнүү үчүн кодуңуздун ичине көз чаптыргыңыз келди беле? Адаттагыдай ESP32 долбоорлорунда, эмне болуп жатканын түшүнүү үчүн чексиз басма сөздү кошушуңуз керек болчу, бирок андан да жакшы жолу бар!

Мүчүлүштүктөрдү оңдоочу-бул кодуңуздун белгилүү бир бөлүмдөрүндө эмне болуп жатканын көрүү жана кодуңузду кайра түзбөстөн, ар кандай өзгөрмөлүү баалуулуктарды сынап көрүү, адатта, бул бизге камтылган долбоорлордо жеткиликтүү эмес, бирок бул колдонмодо мен сизге көрсөтөм аны ESP32де кантип колдонуу керек.

Бул колдонмодо мен сизге жабдыкты орнотууну, программаны орнотууну жана мүчүлүштүктөрдү оңдоонун жөнөкөй мисалын көрсөтөм.

Жабдуулар

  • ESP -Prog - Бул мүчүлүштүктөрдү оңдоо үчүн керектүү такта

    • Мен сатып алган так*
    • $ 5 Арзаныраак, бирок мен аны сынап көргөн эмесмин*
  • 12, 13, 14, 15 -пинти бузуучу ESP32

    • 32
    • 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 Board:

Сиз бул үчүн негизинен каалаган ESP32 тактасын колдоно аласыз, ал 12, 13, 14 & 15 болгон JTAG казыктарын сындыргандан кийин, мен Adafruit канатын Huzzah32 менен D1 Mini 32 тактасын сынап көрдүм, экөө тең жакшы иштеген.

Эске алыңыз, сиз эскиздеги JTAG казыктарын мүчүлүштүктөрдү оңдоочу менен колдоно аласыз, мисалы, Huzzah32 тактасынын камтылган LEDи 13-пинде, андыктан мүчүлүштүктөрдү оңдоо учурунда колдоно албайсыз.

Өткөрүү:

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

Debug Shields:

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

3 -кадам: Аппараттык - драйверди орнотуу

Аппараттык - драйверди орнотуу
Аппараттык - драйверди орнотуу
Аппараттык - драйверди орнотуу
Аппараттык - драйверди орнотуу
Аппараттык - драйверди орнотуу
Аппараттык - драйверди орнотуу

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

  1. ESP-Prog үчүн FTDI драйверлерин бул жерден жүктөп алып, орнотуңуз, оңго жылдыруу үчүн "орнотуу аткарылуучу" версиясын жүктөп алыңыз.
  2. Задиг куралын бул жерден жүктөп алып, орнотуңуз, бул мүчүлүштүктөрдү оңдоо үчүн керектүү жалпы драйверди орнотууга мүмкүндүк берет.
  3. ESP-Prog сайылып турганда, Zadigди ачыңыз
  4. Zadig тиркемесинде, "Параметрлер" астынан, "Бардык түзмөктөрдү тизмелөө" дегенди басыңыз.
  5. Задигдеги ачылуучу пункт азыр толтурулат, "Dual RS232-HS (Interface 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" файлынын ичинде сакталат. Бул чынында Arduino IDEге салыштырмалуу PlatformIO жөнүндө менин эң жакшы көргөн нерселеримдин бири, такта орнотуулары эскиздерге байланган эмес экени мага эч качан мааниси жок болчу.

Мисал.ini бир нече башка такталар үчүн аныктамаларды камтыйт, бирок жөнөкөй болуш үчүн төмөнкү эки аныктаманы жок кылалы.

COM портун кайда орнотом?

PlatformIO чындыгында автоматтык түрдө туура COM портун табууга аракет кылат, андыктан бул үчүн эч нерсе койбостон кутула аласыз. Эгер сизде бир нече COM порту бар болсо, сиз мүчүлүштүктөрдү оңдоону колдоно турган болсоңуз, анда сизге керектүү конкреттүү нерсени орнотуунун мааниси бар деп ойлойм. Сизде бар болгон ар кандай түзмөктөрдү үй өтмөгүндөгү "Түзмөктөр" бөлүмүн чыкылдатуу менен көрө аласыз. "upload_port" конфигурациясын кошуу менен ESP32 "platformio.ini" ичинде кайсынысын орното аласыз.

Кантип кодумду жүктөйм?

Жүктөө баскычын чыкылдатыңыз (сүрөтчө оңго багытталган жебе) жана ал кодду түзүп, жүктөп бериши керек. Сиз азыр тактаңызда жаркыраган LED болушу керек.

6 -кадам: Мүчүлүштүктөрдү оңдоо: Потенциалдуу банан териси

Мүчүлүштүктөрдү оңдоо: Потенциалдуу банан териси!
Мүчүлүштүктөрдү оңдоо: Потенциалдуу банан териси!
Мүчүлүштүктөрдү оңдоо: Потенциалдуу банан териси!
Мүчүлүштүктөрдү оңдоо: Потенциалдуу банан териси!
Мүчүлүштүктөрдү оңдоо: Потенциалдуу банан териси!
Мүчүлүштүктөрдү оңдоо: Потенциалдуу банан териси!

Мен муну даярдап жатканда мени байкап калган нерсе жана сиз аракет кылганда оңолот деп үмүттөнөм, бирок бул жерден кетүү маанилүү деп ойлогом.

Бул колдонмону даярдоо учурунда PlatformIOнун акыркы версиясы 4.3.0 жана мүчүлүштүктөрдү оңдоого байланыштуу катасы бар. Бактыга жараша, биз көйгөйдү чечүүчү эң акыркы иштеп чыгуу версиясына жаңырта алабыз.

Башкы бетте PlatformIO ядросунун версиясын текшериңиз, эгер ал "4.3.0" болсо, төмөнкү кадамдарды аткарыңыз.

  1. PlatformIO инструменттер тилкесинен терминалдын сүрөтчөсүн чыкылдатыңыз
  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 -кадам: Мүчүлүштүктөрдү оңдоо: Негизги колдонуу

Мүчүлүштүктөрдү оңдоо: Негизги колдонуу
Мүчүлүштүктөрдү оңдоо: Негизги колдонуу
Мүчүлүштүктөрдү оңдоо: Негизги колдонуу
Мүчүлүштүктөрдү оңдоо: Негизги колдонуу
Мүчүлүштүктөрдү оңдоо: Негизги колдонуу
Мүчүлүштүктөрдү оңдоо: Негизги колдонуу
Мүчүлүштүктөрдү оңдоо: Негизги колдонуу
Мүчүлүштүктөрдү оңдоо: Негизги колдонуу

Келгиле, мүчүлүштүктөрдү оңдоочу менен кыла турган нерселердин негиздерин карап көрөлү

Чекит чекиттерин түзүү:

Үзүлүү чекити - бул кодуңуздун чекити, анда сиз мүчүлүштүктөрдү оңдоону токтотууну каалайсыз. Чекитти түзүү үчүн саптын номеринин сол жагын чыкылдатыңыз. Демо катары, цикл ыкмасындагы биринчи сапка тыныгуу чекитин кошуңуз.

Breakpoint Navigation:

Үзүлүү чекитинин ортосунда өтүү же коддун кийинки сабына өтүү үчүн, экрандын үстүндө пайда боло турган куралдарды колдонсоңуз болот. "Улантуу" баскычын басыңыз (ойнотуу баскычына окшош), биз жаңы эле жараткан чекитти циклдин ичине жылдыруу үчүн.

Өзгөрмөлүү сааттар:

Өзгөрүлмө сааттар, мүчүлүштүктөрдү оңдоочу токтоочу жайда токтотулганда, өзгөрмөлөрдүн маанисин көзөмөлдөөгө мүмкүндүк берет. Жаңы өзгөрмөлүү саатты кошуу үчүн + сөлөкөтүн чыкылдатып, андан кийин гана өзгөрмөнүн атын териңиз. Демо катары мурунку кадамга кошкон өзгөрмөнү териңиз "delayTime"

Variable Viewer:

Сиз ошондой эле учурдагы чекит чекитиңизде бар бардык өзгөрмөлөрдү жана алардын баалуулуктарын көрө аласыз. Муну демо кылуу үчүн, эгер сиз "Глобалдык" бөлүмүн карасаңыз, "delayTime" өзгөрмөсүн табышыңыз керек.

Variables маанисин түзөтүү:

Сиз ошондой эле өзгөрмөлөрдүн маанилерин өзгөртө аласыз жана бул сиздин коддоруңуздун жүрүм -турумуна дароо таасир этет. Муну көрсөтүү үчүн Variable Viewer бөлүмүндөгү delayTime өзгөрмөсүн чыкылдатып, маанини "100" ге өзгөртүңүз. Бул иштөөнү көрсөтүү үчүн, линиянын сол жагын кайра чыкылдатып, циклдин ичиндеги чекитти өчүрүңүз. Үзгүлтүксүз багыттоо тилкесиндеги улантуу баскычын басыңыз. Сиздин ESP32деги LED азыр мурункудан алда канча тезирээк жаркырап турушу керек.

10 -кадам: Мүчүлүштүктөрдү оңдоо

Мүчүлүштүктөрдү оңдоо
Мүчүлүштүктөрдү оңдоо

Мен тестирлөөнүн жүрүшүндө кээ бир учурларда ESP32ге ESP-прогресске туташып турганда жүктөй албаганымды жана эмне үчүн мындай болгонун түшүнө алган жокмун, анткени көпчүлүк учурда мен жүктөбөстөн жүктөп алчумун. кандайдыр бир көйгөйлөр. Мен жөн эле ESP32 менен ESP-Progти ажыратып, ESP32ге кодду жүктөп, анан кайра туташтырсам болорун билдим.

11 -кадам: Контузия

Менимче, бул сиздин долбоордун ичинде эмне болуп жатканын түшүнүүгө жардам берүү үчүн куралдар кутусуна кошуу үчүн чындап эле сонун курал.

Эгер сиз муну пайдалуу деп тапсаңыз, уккум келет!. Сураныч, төмөндөгү комментарийлерде мага билдириңиз, же менин Discord серверимде мага жана башка көптөгөн жаратуучуларга кошулуңуз, анда биз бул теманы же сизге тиешелүү башка жаратуучуну талкуулай алабыз, адамдар ал жерде чынында эле пайдалуу, ошондуктан бул асынуу үчүн эң сонун жер чыгуу

Мен ошондой эле Github демөөрчүлөрүмө чоң рахмат айткым келет, алар менин кылган иштеримди колдоого жардам беришет, мен аны абдан баалайм. Эгер билбесеңиз, Github биринчи жылдагы демөөрчүлүккө дал келет, демек, эгер сиз демөөрчүлүк кылсаңыз, алар кийинки бир нече айга 100% дал келет. Окуганыңыз үчүн рахмат!

Сунушталууда: