Daftar Isi:

Cara Menggunakan Debugger pada ESP32: 11 Langkah (dengan Gambar)
Cara Menggunakan Debugger pada ESP32: 11 Langkah (dengan Gambar)

Video: Cara Menggunakan Debugger pada ESP32: 11 Langkah (dengan Gambar)

Video: Cara Menggunakan Debugger pada ESP32: 11 Langkah (dengan Gambar)
Video: Pengenalan ESP32 dan Langkah Cara Instal Driver ESP32 dan Upload Program ESP32 Menggunakan Arduino 2024, Juli
Anonim
Cara Menggunakan Debugger pada ESP32
Cara Menggunakan Debugger pada ESP32

Pernahkah Anda ingin mengintip ke dalam kode Anda untuk melihat mengapa kode itu berperilaku seperti itu? Secara tradisional dalam proyek ESP32, Anda harus menambahkan pernyataan cetak tanpa akhir untuk mencoba mencari tahu apa yang sedang terjadi, tetapi ada cara yang lebih baik!

Debugger adalah cara untuk melihat apa yang terjadi di bagian tertentu dari kode Anda dan untuk mencoba nilai variabel yang berbeda tanpa mengkompilasi ulang kode Anda, biasanya ini bukan sesuatu yang tersedia bagi kami di proyek yang disematkan, tetapi dalam panduan ini saya akan menunjukkan kepada Anda cara menggunakannya di ESP32.

Dalam panduan ini saya akan menunjukkan kepada Anda untuk mengatur perangkat keras, mengatur perangkat lunak dan menunjukkan contoh sederhana menggunakan debugger.

Perlengkapan

  • ESP-Prog - Ini adalah papan yang dibutuhkan untuk debugging

    • Persis yang saya beli*
    • $5 Lebih murah, tapi saya belum mengujinya*
  • ESP32 yang memecahkan pin 12, 13, 14, 15

    • Adafruit Feather Huzzah32
    • D1 Mini ESP32*
  • [OPSIONAL] Debug Shield yang saya jual di Tindie

    • Bulu Huzzah32
    • D1 Mini ESP32

* = Tautan Afiliasi

Langkah 1: Lihat Videonya

Image
Image

Saya punya video tentang topik ini jika Anda ingin melihatnya.

Di channel saya, saya biasanya membuat video berbasis ESP8266 dan ESP32, jadi jika Anda tertarik, silakan lihat!

Langkah 2: Perangkat Keras - Suku Cadang & Pengkabelan

Perangkat Keras - Suku Cadang & Pengkabelan
Perangkat Keras - Suku Cadang & Pengkabelan
Perangkat Keras - Suku Cadang & Pengkabelan
Perangkat Keras - Suku Cadang & Pengkabelan
Perangkat Keras - Suku Cadang & Pengkabelan
Perangkat Keras - Suku Cadang & Pengkabelan

Untuk menggunakan debugger, Anda hanya memerlukan ESP-Prog dan hampir semua papan ESP32 (tautan ke ini di langkah sebelumnya)

ESP-Prog:

ESP-Prog adalah papan yang dirancang oleh espressif, pembuat chip ESP32 dan ESP8266. Ini terhubung ke pin JTAG dari ESP32 untuk memungkinkan kita menggunakan debugger. Ini juga dapat digunakan untuk memprogram papan ESP32, tetapi saya tidak akan membahasnya di sini.

Papan ESP32:

Pada dasarnya Anda dapat menggunakan papan ESP32 apa pun untuk ini setelah pin JTAG rusak, yaitu 12, 13, 14 & 15. Saya telah menguji papan Adafruit bulu Huzzah32 dan papan D1 Mini 32 dan keduanya bekerja dengan baik.

Harap dicatat bahwa Anda dapat menggunakan pin JTAG di sketsa Anda dengan debugger, misalnya LED bawaan papan Huzzah32 ada di pin 13, jadi Anda tidak dapat menggunakannya saat debugging.

Pengkabelan:

Untuk menghubungkan ESP-Prog ke ESP32, cukup gunakan panduan pengkabelan seperti yang disediakan pada gambar di atas. Periksa dengan diagram pengkabelan papan ESP32 Anda jika Anda tidak segera melihat pin yang sesuai karena terkadang mereka menggunakan skema penamaan yang berbeda.

Perisai Debug:

Ini adalah opsional, tapi saya menjual beberapa perisai di Tindie untuk Huzzah32 dan D1 Mini 32 yang membuat menghubungkan ESP-Prog sangat sederhana, memecahkan pin yang sesuai ke konektor IDC yang Anda dapat menggunakan kabel pita untuk menghubungkan langsung antara perisai dan ESP-Prog

Langkah 3: Perangkat Keras - Pengaturan Driver

Perangkat Keras - Pengaturan Driver
Perangkat Keras - Pengaturan Driver
Perangkat Keras - Pengaturan Driver
Perangkat Keras - Pengaturan Driver
Perangkat Keras - Pengaturan Driver
Perangkat Keras - Pengaturan Driver

Untuk menggunakan ESP-prog untuk debugging, kita perlu menginstal driver yang sesuai untuk itu. PlatformIO menyediakan beberapa langkah untuk itu di sini, tetapi saya akan membahas langkah-langkah Windows dalam panduan ini.

  1. Download dan install driver FTDI untuk ESP-Prog dari sini, scroll ke kanan untuk mendownload versi "setup executable" agar lebih mudah.
  2. Unduh dan instal alat Zadig dari sini, ini memungkinkan kami untuk menginstal driver generik yang diperlukan untuk debugging.
  3. Dengan ESP-Prog terpasang, buka Zadig
  4. Di aplikasi Zadig, di bawah "Opsi", klik "Daftar Semua Perangkat"
  5. Drop down di Zadig sekarang akan terisi, pilih opsi "Dual RS232-HS (Interface 0)". Pastikan antarmuka 0 yang Anda pilih!
  6. Di sebelah kanan panah hijau, "WinUSB" harus dipilih, lalu klik "Ganti Driver"

Setelah selesai, driver Anda harus disiapkan untuk digunakan!

Catatan: Jika Anda mengubah port USB yang Anda gunakan untuk ESP-Prog, Anda mungkin harus mengulangi langkah 3-6 lagi. Jika Anda mendapatkan kesalahan seperti yang ditunjukkan pada gambar di atas saat debugging, Anda perlu mengulangi langkah-langkahnya.

Langkah 4: Perangkat Lunak: Menginstal PlatformIO

Perangkat Lunak: Menginstal PlatformIO
Perangkat Lunak: Menginstal PlatformIO
Perangkat Lunak: Menginstal PlatformIO
Perangkat Lunak: Menginstal PlatformIO
Perangkat Lunak: Menginstal PlatformIO
Perangkat Lunak: Menginstal PlatformIO

PlatformIO adalah IDE untuk pengembangan dengan berbagai kerangka kerja tertanam yang berbeda, termasuk ekosistem Arduino. Ini lebih rumit untuk digunakan daripada sesuatu seperti Arduino IDE, tetapi sangat kuat dan memiliki beberapa fitur yang sangat dirindukan oleh Arduino IDE, seperti pelengkapan otomatis.

PlatformIO diperlukan untuk menggunakan debugger. Jika Anda sudah terbiasa dengan PlatformIO, silakan lewati beberapa langkah.

  • Unduh dan instal Visual Studio Code (VS Code) dari tautan yang disediakan di situs web PlatformIO.org
  • Buka Kode VS, dan buka menu ekstensi, tombolnya disorot pada gambar di atas
  • Ketik "platformio" ke dalam pencarian, pilih dan klik instal.

Langkah 5: Perangkat Lunak: Menggunakan PlatformIO

Perangkat Lunak: Menggunakan PlatformIO
Perangkat Lunak: Menggunakan PlatformIO
Perangkat Lunak: Menggunakan PlatformIO
Perangkat Lunak: Menggunakan PlatformIO
Perangkat Lunak: Menggunakan PlatformIO
Perangkat Lunak: Menggunakan PlatformIO

Menggunakan PlatformIO sedikit berbeda dari menggunakan Arudino IDE, jadi pada langkah ini kita hanya akan membahas dasar-dasar menjalankan contoh di papan.

Membuka Contoh:

  1. Klik tombol Home pada toolbar PlatformIO (Seperti yang ditunjukkan pada gambar)
  2. Klik tombol "Contoh Proyek"
  3. Pilih contoh "Arduino-blink" di bawah bagian Espressif 32

Ini akan membuka contoh proyek kedipan. Tata letak PlatformIO sangat berbeda dibandingkan dengan proyek Arduino, jadi mari kita bahas dasar-dasarnya.

Dimana kodenya?

Kode untuk proyek Anda akan disimpan di folder "src", untuk contoh blink Anda akan melihat file "blink.cpp", file ini sama dengan file sketsa Anda (.ino) di proyek Arduino.

Bagaimana cara mengkonfigurasi papan saya?

Konfigurasi untuk proyek Anda disimpan di dalam file "platformio.ini" di proyek Anda. Ini sebenarnya adalah salah satu hal favorit saya tentang PlatformIO dibandingkan dengan Arduino IDE, tidak pernah masuk akal bagi saya bahwa pengaturan papan tidak terikat dengan sketsa.

Contoh.ini berisi definisi untuk beberapa papan yang berbeda, tetapi untuk menyederhanakannya mari kita hapus dua definisi terbawah.

Di mana saya mengatur port COM saya?

PlatformIO sebenarnya akan secara otomatis mencoba menemukan port COM yang benar untuk digunakan, sehingga Anda benar-benar dapat lolos tanpa menyetel apa pun untuk ini. Tetapi jika Anda memiliki beberapa port COM, yang akan Anda gunakan saat menggunakan debugger, saya pikir masuk akal untuk mengatur yang spesifik yang Anda butuhkan. Anda dapat melihat berbagai perangkat yang Anda miliki dengan mengklik bagian "Perangkat" di tab beranda, dan Anda dapat mengatur ESP32 Anda yang mana di "platformio.ini" dengan menambahkan konfigurasi "upload_port".

Bagaimana cara mengunggah kode saya?

Klik tombol Unggah (ikon adalah panah yang menunjuk ke kanan) dan itu harus mengkompilasi dan mengunggah kode. Anda sekarang harus memiliki LED yang berkedip di papan Anda.

Langkah 6: Debugging: Potensi Kulit Pisang

Debugging: Potensi Kulit Pisang!
Debugging: Potensi Kulit Pisang!
Debugging: Potensi Kulit Pisang!
Debugging: Potensi Kulit Pisang!
Debugging: Potensi Kulit Pisang!
Debugging: Potensi Kulit Pisang!

Ini adalah sesuatu yang menarik perhatian saya ketika saya sedang mempersiapkan ini dan mudah-mudahan akan diperbaiki pada saat Anda mencobanya, tapi saya pikir penting untuk pergi dari sini.

Pada saat membuat panduan ini, PlatformIO versi terbaru adalah 4.3.0 dan memiliki bug yang berhubungan dengan kemampuan untuk melakukan debug. Untungnya kami dapat memperbarui ke versi pengembangan terbaru dengan cukup mudah yang menyelesaikan masalah.

Periksa di halaman Beranda versi inti PlatformIO, jika "4.3.0", lakukan langkah-langkah berikut.

  1. Pada bilah alat PlatformIO, klik ikon terminal
  2. Di terminal ketik: pio upgrade --dev
  3. Kode RestartVS dan PlatfromIO harus diperbarui

Langkah 7: Debug: Konfigurasi

Debug: Konfigurasi
Debug: Konfigurasi

Kita perlu mengedit file "PlatofrmIO.ini" untuk mengaktifkan debugging, kita hanya perlu menambahkan dua hal ke dalamnya.

debug_tool = esp-prog

Ini mengatur alat debug yang kita gunakan.

debug_init_break = pengaturan tbreak

Ini adalah trik yang kami pelajari dari video Andress Spiess tentang debugging pada ESP32. Ini memberitahu debugger untuk berhenti di setup aplikasi kita.

Langkah 8: Debugging: Memulai Debugging

Debug: Memulai Debug
Debug: Memulai Debug
Debugging: Memulai Debug
Debugging: Memulai Debug
Debug: Memulai Debug
Debug: Memulai Debug
Debug: Memulai Debug
Debug: Memulai Debug

Sebelum kita masuk ke dalamnya, kita akan membuat perubahan kecil pada sketsa yang akan memudahkan untuk mendemonstrasikan apa yang dapat Anda lakukan dengan debugging.

  1. Buat variabel baru, "int delayTime = 1000;" di luar metode apa pun, ini akan menjadikannya variabel global.
  2. Ganti nomor di dalam panggilan tunda dalam loop dengan variabel baru ini: delay(delayTime);

Unggah kode ke papan sekali lagi, lalu untuk memulai debugging, di bilah alat, klik "Jalankan" lalu "Mulai Debugging"

Anda akan melihat hal-hal bergerak di jendela terminal, tetapi bahkan ketika itu menyatakan bahwa itu berhasil, jika Anda mengklik "Debug Console" Anda akan melihatnya masih berfungsi, itu akan memakan waktu beberapa detik untuk menyelesaikannya.

Jika semuanya berjalan seperti yang diharapkan, Anda akan melihat debugger berhenti di awal penyiapan.

Langkah 9: Debugging: Penggunaan Dasar

Debug: Penggunaan Dasar
Debug: Penggunaan Dasar
Debug: Penggunaan Dasar
Debug: Penggunaan Dasar
Debugging: Penggunaan Dasar
Debugging: Penggunaan Dasar
Debugging: Penggunaan Dasar
Debugging: Penggunaan Dasar

Mari kita bahas beberapa dasar dari apa yang dapat Anda lakukan dengan debugger

Membuat Breakpoint:

Breakpoint adalah titik kode Anda di mana Anda ingin debugger berhenti. Untuk membuat breakpoint klik di sebelah kiri nomor baris. Sebagai demo, tambahkan breakpoint ke baris pertama dalam metode loop.

Navigasi Breakpoint:

Untuk berpindah antara breakpoint atau pindah ke baris kode berikutnya, Anda dapat menggunakan alat yang akan muncul di bagian atas layar. Tekan tombol "lanjutkan" (terlihat seperti tombol putar) untuk memindahkan breakpoint yang baru saja kita buat di dalam loop.

Jam Tangan Variabel:

Jam tangan variabel memungkinkan Anda memantau nilai variabel saat debugger dihentikan pada titik henti sementara. Untuk menambahkan jam tangan variabel baru Anda dapat mengklik ikon +, lalu ketikkan saja nama variabelnya. Sebagai demo, ketik variabel yang kita tambahkan di langkah sebelumnya "delayTime"

Penampil Variabel:

Anda juga dapat melihat semua variabel dan nilainya yang tersedia di breakpoint Anda saat ini. Untuk mendemonstrasikan ini, Jika Anda melihat di bagian "Global", Anda harus menemukan variabel "delayTime".

Mengedit Nilai Variabel:

Anda juga dapat mengedit nilai variabel dan itu akan langsung berpengaruh pada perilaku kode Anda. Untuk mendemonstrasikannya, klik variabel delayTime di bagian Variable Viewer, dan ubah nilainya menjadi "100". Untuk menunjukkan ini berfungsi, nonaktifkan breakpoint di dalam loop dengan mengklik di sebelah kiri nomor baris lagi. Tekan tombol lanjutkan pada bilah navigasi breakpoint. LED pada ESP32 Anda sekarang harus berkedip lebih cepat dari sebelumnya.

Langkah 10: Pemecahan Masalah

Penyelesaian masalah
Penyelesaian masalah

Saya menemukan selama pengujian saya, bahwa beberapa kali saya tidak dapat mengunggah ke ESP32 saat terhubung ke ESP-prog, dan saya tidak dapat menemukan pola mengapa ini terjadi, karena sebagian besar waktu saya dapat mengunggah tanpa masalah apapun. Saya menemukan bahwa saya dapat memutuskan sambungan ESP32 dan ESP-Prog, mengunggah kode ke ESP32 dan kemudian menyambungkannya kembali dan itu akan berfungsi dengan baik.

Langkah 11: Kesimpulan

Saya pikir ini adalah alat yang sangat keren untuk ditambahkan ke kotak alat untuk membantu mencari tahu apa yang terjadi di dalam proyek Anda.

Saya akan senang mendengar jika Anda menemukan ini berguna!. Tolong beri tahu saya di komentar di bawah, atau bergabunglah dengan saya dan banyak pembuat lain di server Discord saya, di mana kita dapat mendiskusikan topik ini atau pembuat terkait lainnya yang Anda miliki, orang-orang sangat membantu di sana jadi ini adalah tempat yang bagus untuk hang keluar.

Saya juga ingin mengucapkan terima kasih yang sebesar-besarnya kepada Sponsor Github saya yang membantu mendukung apa yang saya lakukan, saya sangat menghargainya. Jika Anda tidak tahu, Github mencocokkan sponsor untuk tahun pertama, jadi jika Anda membuat sponsor, mereka akan mencocokkannya 100% untuk beberapa bulan ke depan. Terima kasih sudah membaca!

Direkomendasikan: