ESP32 Setup Development Environment

Setup Visual Studio Code

Seperti yang sudah dibahas pada modul sebelumnya, menggunakan PlatformIO adalah cara termudah namun tetap fleksibel.

PlatformIO adalah extension dari Visual Studio Code. Untuk itu Anda perlu install Visual Studio Code, silakan download di https://code.visualstudio.com/download, kemudian install.

Setelah selesai install, buka visual studio code, kemudian install PlatformIO extension.

  1. Pilih tab extension
  2. Search PlatformIO
  3. Pilih PlatformIO pada list
  4. Kemudian tekan install button

Membuat Project Baru

Setelah PlatformIO terinstall, akan tampil iconya pada tab disebelah kiri.

  1. Click icon PlatformIO.
  2. Pilih Menu PIO Home – Open
  3. Kemudian pilih menu Quick Access, New Project

Akan tampil panel wizard new project:

  • Nama project (nama project tidak boleh ada space).
  • Pilih board yang akan digunakan, pada tutorial digunakan ESP-32 Dev Kit c v4.
  • Framework yang digunakan adalah Espressif IoT Development Framework.
  • Disable checkbox default directory, jika Anda ingin menyimpan project pada direktori tertentu.
  • Pilih direktori yang Akan Anda gunakan jika tidak menggunakan default directory.
  • Kemudian tekan tombol Finish.
  • Platform IO akan mengenerate template awal project, perhatian, dibutuhkan koneksi Internet.

Setelah tombol finish ditekan, akan tampil informasi panel project creation. Tunggu sampai selesai.

Setelah selesai, PlatformIO akan melakukan beberapa aktifitas

  • Membuat project folder.
  • Download framework source dan tools dari PlatformIO repository, kedalam platformIO directory. (biasanya ketika pertama kali Anda membuat project, pada project selanjutnya tidak akan didownload).
  • Download board source kedalam project directory kedalam .pio folder.
  • Generate configuration dan build files.

Penjelasan singkat file yang digenerate

  • CmakeLists.txt, file untuk CMake build configuration.
  • sdkconfig berisi ESP-IDF project configurations.
  • platform.ini, platformIO project configurations.
  • main.c, source code dari project.

Membuat Program Pertama

Sampai disini, Anda sudah siap melakukan development. Buka file main.c, lalu tambahkan code seperti berikut

#include <stdio.h>

void app_main()
{
    printf("hello world\n");
    fflush(stdout);
}

Penjelasan Code

app_main() adalah fungsi dimana ESP-IDF pass control ke aplikasi yang Anda buat setelah proses bootloader.

Task FreeRTOS akan memanggil app_main setelah bootloader dan hardware initialization selesai. Setelah function returns, calling task akan dihapus dari RTOS scheduller dan aplikasi selesai.

Untuk informasi boot process silakan lihat di https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/general-notes.html

Perintah printf akan menghasilkan output pada serial port dari ESP32 board yang didefinisikan pada file sdkconfig.

Setting File Config

Kita dapat melihat output pada serial port dengan menggunakan serial monitoring app yang sudah tersedia dalam PIO.

Default serial baud rate pada file sdkconfig adalah 115200, jadi untuk melakukan monitorring kita harus menggunakan nilai yang sama pada file platform.ini. (lihat property monitor_speed).

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:az-delivery-devkit-v4]
platform = espressif32
board = az-delivery-devkit-v4
framework = espidf

monitor_speed = 115200

Compile Dan Upload

Berikutnya adalah compile dan upload. Anda dapat menggunakan link menu pada bagian kiri panel, atau bagian bawah IDE.

Anda dapat melakukan compile dahulu, atau, jika ESP32 devkit sudah terhubung, Anda dapat langsung lakukan upload. PlatformIO akan membuat binary dan flash devkit jika tidak ada pada code.

Jika ada error, dapat dilihat pada terminal.

PlatformIO akan mendeteksi otomatis serial port dimana ESP32 terhubung, jika tidak pastikan driver serial port terinstall dengan baik.

Serial Monitoring

Untuk menghubungkan devkit secara serial, clikc Serial Monitor button pada toolbar dibawah. Akan dijalankan terminal serial monitoring tool, dimana baud rate telah kita definisikan pada file platformio.ini.

Tekan reset button pada devkit untuk melakukan reboot. Setelah bootloader messages, kita akan melihat output dari program diatas.

Sharing is caring:

Leave a Comment