Advertisement

Tutorial ESP32 dengan ESP-IDF : #2 Membuat Program “Hello World”

Membuat program pertama kali dengan menggunakan ESP-IDF dan C/C++

0 2.567

Ini adalah lanjutan dari tulisan sebelumnya tentang bagaimana memulai pemrograman ESP32  menggunakan ESP – IDF. SDK resmi yang disediakan oleh Espressif. Pada artikel kali ini embeddednesia akan menunjukan bagaimana membuat program baru yang mengikuti template ESP-IDF.

Jika pembaca belum mengikuti tulisan sebelumnya tentang bagimana mengatur environment yang diperlukan untuk pemrograman ESP32 menggunakan ESP-IDF. Penulis merekomendasikan untuk membaca terlebih dahulu artikel tersebut. Pada artikel ini diasumsikan, penulis sudah mengikuti tulisan sebelumnya tentang bagaimana caranya mengatur environment ESP-IDF

  • Membuat Workspace 

Semua project yang dikembangkan untuk ESP32  perlu mengikuti template ESP-IDF. Yang pertama harus dilakukan adalah membuat direktori workspace  tempat program nanti yang nanti dibuat. Misalnya penulis akan membuat direktori workspace di D:\\esp32 lalu mengunduh template esp-idf

mkdir workspace
cd workspace
git clone https://github.com/espressif/esp-idf-template.git HelloWorld

Menggunakan jendela terminal, bernavigasilah  ke direktori HelloWorld dengan menggunakan perintah cd HelloWorld. Lalu mulai konfigurasi project dengan menggunakan perintah menuconfig

cd HelloWorld
make menuconfig

Dari perintah tersebut, akan tampil blue screen dimana programmer bisa melakukan konfigurasi dari SDK. Kemudian pilih Serial flasher config lalu tekan enter.

Pada halaman berikutnya enter  label Default serial port lalu masukan port serial yang digunakan (dapat dilihat pada Device Manager). Sebagaimana telah dijelaskan dalam tulisan sebelumnya. Penulis menggunakan COM3. Sesuaikan nilai ini  dengan nomer port serial pada masing – masing environment.

Perhatikan nilai Default Serial Port akan berubah. Sesuaikan nilai pengaturan lainnya sebagaimana tangkapan layar berikut

Save pengaturan dengan menggerakan panah keyboard ke <Save> lalu enter.

Halaman berikutnya hanyalah halaman konfirmasi untuk menyimpan konfigurasi di file yang telah diatur. Biarkan saja pada kondisi default, pilih OK

Adverstiment

  • Import Eclipse

Jalankan Eclipse CDT sebagaimana yang telah diinstall pada tulisan sebelumnya. Pilih direktori workspace yang telah dibuat (di D:/esp32/workspace ).

Saat Eclipse IDE telah berjalan. Import project dengan menggunakan menu File > Import. Pada jendela dialog pilih C/C++ > Existing Code as Makefile Project dan klik Next.

Isikan Existing Code Location dengan direktori project yang telah di-clone dari github di langkah sebelumnya. Project Name akan muncul otomatis, sama dengan nama direktori template yang di-clone. 

Pada jendela dialog yang sama didalam panel Toolchain for Indexer Settings, hilangkan centang pada  checkboxShow only available toolchains that support this platform“, sehingga muncul beberapa daftar, pilih Cygwin GCC. lalu Finish.

Adverstiment

  • Konfigurasi Project 

Direktori project baru akan terbentu di dalam Project Explorer. Klik kanan project tersebut dan pilih Properties. Pada jendela Dialog Propeties, pilih C/C++ Build dan hilangkan centang Use default build command dan masukkan build command berikut

python ${IDF_PATH}/tools/windows/eclipse_make.py

Pada properties C/C++ Build > Environment . Klik button Add dan masukan nama BATCH_BUILD  dengan nilai 1. Klik Add lagi, lalu masukkan IDF_PATH dan masukan nilai berdasarkan keluaran dari terminal MSYS2 ketika dimasukan perintah berikut 

echo $IDF_PATH
C:/msys32/home/tedy.saputro/esp/esp-idf

Setelah itu ubah PATH pada environment variabel. Hapus nilai eksisting dan gantikan dengan nilai berikut

C:\msys32\usr\bin;C:\msys32\mingw32\bin;C:\msys32\opt\xtensa-esp32-elf\bin

Berikut adalah tangkapan layar dari hasil akhir perubahan tersebut. Klik Apply

Berikutnya yang perlu diatur adalah C/C++ General > Preprocessor Include Paths, Macros, etc. klik tab Provider, kemudian pada daftar provider klik opsi CDT GCC Built-in Compiler Settings Cygwin di bawah  Command to get compiler specs replace teks dengan berikut

xtensa-esp32-elf-gcc ${FLAGS} -E -P -v -dD "${INPUTS}"

- Advertisement -

Kemudian klik opsi  CDT GCC Build Output Parser dan replace nilai yang ada di compiler command pattern dengan nilai berikut

xtensa-esp32-elf-((g?cc)|([gc]\+\+)|(clang))

Setelah semuanya selesei klik button Apply and Close

  • Building dan Flashing Project

Setelah banyak pengaturan yang dilakukan kini saatnya, menulis code pada project yang telah sebelumnya disetting. Tulis code berikut pada main/main.c

Advertisement

Save code dengan Ctrl+S. Kemudian klik kanan pada direktori project di project explorer. Pilih Build Targets > Create. Saar jendela pop-up muncul. Masukkan flash sebagai Target name lalu OK.

Sekarang, lakukan build dengan memilih Build Targets pada project explorer lalu klik kanan flash > Build Target

Proses build akan terjadi beberapa menit. Tunggu hingga Toolchain selesei melakukan build dan melakukan flashing pada ESP32 sebagaimana pada tangkapan layar berikut

Untuk melihat hasilnya program yang telah di-flash pada ESP32. Buka terminal MSYS2 dan ketikan perintah berikut pada direktori HelloWorld

make monitor
Toolchain path: /opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Toolchain version: crosstool-ng-1.22.0-80-g6c4433a5
Compiler version: 5.2.0
GENCONFIG
App “app-template” version: df62230-dirty
Python requirements from C:/msys32/home/tedy.saputro/esp/esp-idf/requirements.txt are satisfied.
MONITOR
--- idf_monitor on COM3 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jun 8 2016 00:22:57
…..
I (252) cpu_start: Pro cpu start user code
I (270) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
Hello world!
This is ESP32 chip with 2 CPU cores, WiFi/BT/BLE, silicon revision 1, 4MB extern
al flash
Restarting in 10 seconds…
Restarting in 9 seconds…
Restarting in 8 seconds…
Restarting in 7 seconds…
Restarting in 6 seconds…
Restarting in 5 seconds…
Restarting in 4 seconds…
Restarting in 3 seconds…
Restarting in 2 seconds…
Restarting in 1 seconds…
Restarting in 0 seconds…
Restarting now.

Perhatikan kata HelloWorld  sebagaimana yang telah dituliskan di code kini tercetak, pada terminal. Jika hasil ini sama dengan kepunyaan anda, berarti selamat anda telah sukses memprogram ESP32 menggunakan ESP-IDF.

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

%d blogger menyukai ini: