Mempersiapkan Program
Dalam pengembangan sistem Internet of Things (IoT), dibutuhkan lingkungan kerja yang efisien, fleksibel, dan mendukung proses simulasi sebelum implementasi pada perangkat keras nyata. Salah satu kombinasi tools yang banyak digunakan adalah PlatformIO sebagai lingkungan pengembangan (IDE berbasis Visual Studio Code) dan Wokwi Simulator sebagai media simulasi rangkaian elektronik.
PlatformIO sebagai Development Environment
PlatformIO merupakan ekosistem pengembangan embedded system yang mendukung berbagai board seperti ESP32, ESP8266, Arduino, dan lainnya. Keunggulan PlatformIO antara lain:
- Manajemen library otomatis
- Struktur proyek yang rapi
- Integrasi dengan Visual Studio Code
- Mendukung banyak framework (Arduino, ESP-IDF, dll)
Agar program yang dibuat dapat dijalankan di Wokwi, diperlukan sinkronisasi antara file konfigurasi dan struktur proyek, yaitu:
- diagram.json → konfigurasi rangkaian
- platformio.ini → konfigurasi board dan library
Struktur Proyek
Berikut contoh struktur proyek yang digunakan:
project/ |-- src/ | |-- main.cpp |-- lib/ | |-- LEDController/ | | |-- LedController.h | | |-- LedController.cpp | |-- BuzzerController/ | | |-- BuzzerController.h | | |-- BuzzerController.cpp | |-- TermistorModule/ | | |-- TermistorModule.h | | |-- TermistorModule.cpp | |-- OledModule/ | | |-- OledModule.h | | |-- OledModule.cpp | |-- WiFiModule/ | | |-- WiFiModule.h | | |-- WiFiModule.cpp | |-- WebModule/ | | |-- WebModule.h | | |-- WebModule.cpp |-- diagram.json |-- wokwi.toml |-- platformio.ini
Alur Pengembangan
Alur umum penggunaan PlatformIO dengan Wokwi:
- Inisiasi proyek
- Konfigurasi platformio.ini
- Menulis kode di main.cpp
- Membuat library di folder lib
- Menambahkan library ke platformio.ini
- Menggunakan library di main.cpp
- Build dan debugging
- Uji di simulator
Inisiasi dan Simulasi Awal
Buka terminal di Visual Studio Code, lalu jalankan:
pio init
Perintah ini akan membuat struktur proyek secara otomatis.
Pengaturan platformio.ini
Buka file platformio.ini, lalu tambahkan konfigurasi berikut:
[env:esp32dev] platform = espressif32 board = esp32dev framework = arduino lib_deps =
Penjelasan:
- [env:esp32dev] → harus sama dengan konfigurasi di wokwi.toml
- platform = espressif32 → platform resmi ESP32
- board = esp32dev → jenis board
- framework = arduino → framework yang digunakan
- lib_deps → daftar library
Membuat Program Pertama
Buat file src/main.cpp, lalu tuliskan kode berikut:
#include <Arduino.h>
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("Hello IoT");
delay(1000);
}
Penjelasan:
- #include <Arduino.h> → memanggil library Arduino
- setup() → dijalankan sekali saat awal
- Serial.begin(115200) → komunikasi serial
- loop() → berjalan terus menerus
- Serial.println() → menampilkan teks
- delay(1000) → jeda 1 detik
Pengujian Code Program
Untuk melakukan build program, jalankan:
pio run
Jika berhasil, akan muncul pesan:
Successfully created esp32 image.
File hasil build tersimpan di:
.pio/build/esp32dev/
File penting:
- firmware.bin
- firmware.elf
Upload ke Serial Monitor (Opsional)
Untuk melihat output serial secara langsung:
pio device monitor
Output yang muncul:
Hello IoT Hello IoT Hello IoT
Mensimulasikan Hasil
Untuk menjalankan simulasi di Wokwi:
- Klik ikon Wokwi di sidebar
- Klik Start Simulation
Jika tidak ada error:
- Simulator akan berjalan
- Program mulai dieksekusi
- Serial output dapat diamati
Tips Debugging
Jika simulasi tidak berjalan:
- Pastikan platformio.ini sesuai dengan wokwi.toml
- Pastikan file firmware.bin sudah terbentuk
- Pastikan tidak ada error saat pio run
- Gunakan:
pio run --target clean pio run
Dengan tahap ini, Anda sudah berhasil:
- Menyiapkan environment IoT
- Membuat program pertama
- Melakukan build
- Menjalankan simulasi