
ESP32 adalah mikrokontroler favorit untuk proyek IoT: murah, sudah memiliki Wi-Fi dan Bluetooth, dan bisa diprogram dengan Arduino IDE. Banyak engineer dan tim R&D memakainya untuk membuat perangkat pemantauan sendiri. Bagian yang sering memakan waktu justru setelah sensor terbaca: ke mana datanya dikirim, bagaimana ditampilkan, dan bagaimana memasang alarm.
Panduan ini menunjukkan cara ESP32 mengirim data ke platform IoT, baik lewat HTTP maupun MQTT, sehingga Anda bisa fokus pada perangkatnya dan tidak perlu membangun backend dan dashboard dari nol.
Langkah 1: daftarkan perangkat
Sebelum mengirim data, perangkat perlu didaftarkan di platform agar dikenali. Di platform INCLUDE, perangkat buatan sendiri didaftarkan dari halaman Manage Devices sebagai perangkat BYOD. Setelah terdaftar, Anda mendapat device token, kunci yang dipakai ESP32 untuk mengirim data. Simpan token ini seperti kata sandi.
Pilih juga jenis perangkat yang parameternya sesuai data Anda, misalnya suhu atau tegangan. Nama field di data yang dikirim harus sama dengan nama parameter ini supaya muncul di widget.
Langkah 2: kirim data lewat HTTP
HTTP adalah cara paling sederhana untuk memulai. Data dikirim sebagai JSON dengan nilai di dalam objek values. Contoh kode Arduino untuk ESP32:
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <HTTPClient.h>
const char* WIFI_SSID = "NAMA_WIFI";
const char* WIFI_PASS = "PASSWORD_WIFI";
const char* URL = "https://app.include.co.id/api/v1/DEVICE_TOKEN/telemetry";
void setup() {
WiFi.begin(WIFI_SSID, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED) delay(500);
}
void loop() {
float suhu = 29.5; // ganti dengan pembacaan sensor Anda
WiFiClientSecure client;
client.setInsecure(); // untuk uji coba; di produksi pasang sertifikat root CA
HTTPClient http;
http.begin(client, URL);
http.addHeader("Content-Type", "application/json");
String body = String("{\"values\":{\"temperature\":") + suhu + "}}";
int status = http.POST(body); // 200 berarti data diterima
http.end();
delay(60000);
}
Ganti DEVICE_TOKEN dengan token perangkat Anda dan temperature dengan nama parameter yang sesuai. Sebelum menulis kode, Anda juga bisa menguji dari komputer dengan curl untuk memastikan token dan format data sudah benar.
Langkah 3: atau kirim lewat MQTT
Untuk perangkat yang mengirim data sering atau perlu menerima perintah balik, MQTT lebih cocok. Pola umumnya:
- Ambil konfigurasi broker dan topik dari endpoint
mqtt-configdengan token perangkat, supaya tidak perlu menyusun topik secara manual. - Hubungkan ke broker dengan ID perangkat sebagai username dan token sebagai password.
- Publish data JSON yang sama ke topik telemetri.
- Subscribe ke topik perintah bila perangkat perlu dikendalikan dari dashboard.
Perbedaan HTTP dan MQTT dibahas lebih lengkap di artikel apa itu MQTT.
Tips agar perangkat stabil di lapangan
- Tangani koneksi yang putus. Periksa status Wi-Fi sebelum mengirim, dan sambungkan ulang bila terputus, supaya perangkat tidak berhenti selamanya setelah router restart.
- Atur interval pengiriman yang masuk akal. Setiap beberapa detik jarang diperlukan untuk suhu atau kelembapan. Interval yang lebih panjang menghemat daya dan kuota data.
- Gunakan deep sleep untuk perangkat baterai. ESP32 bisa tidur di antara pengiriman dan bangun sesuai jadwal.
- Gunakan watchdog agar perangkat restart sendiri bila program macet.
- Jangan menaruh token di repositori publik. Token yang bocor bisa dipakai pihak lain untuk mengirim data palsu.
Langkah 4: lihat data dan pasang alarm
Begitu data pertama masuk, status perangkat berubah menjadi online dan nilainya tampil di dashboard. Dari sini Anda bisa menyusun widget dengan drag-and-drop, mengatur ambang batas, dan memasang alarm. Kalau data belum muncul, periksa tiga hal: token, nama field, dan status perangkat di halaman Manage Devices.
Dari prototipe ke produksi
Prototipe di meja kerja dan perangkat di lapangan punya kebutuhan berbeda. Saat beralih ke produksi, perhatikan casing yang sesuai lingkungan, catu daya yang stabil, sertifikat TLS yang benar, dan cara memperbarui firmware tanpa mendatangi lokasi. Topik terakhir dibahas di update firmware OTA.
Uji dulu dengan curl
Sebelum menulis firmware, pastikan token dan format data benar dengan satu perintah dari komputer:
curl -X POST https://app.include.co.id/api/v1/DEVICE_TOKEN/telemetry -H "Content-Type: application/json" -d '{"values":{"temperature":29.5}}'
Kalau nilai 29,5 muncul di dashboard, berarti jalurnya sudah benar dan tinggal memindahkan logika yang sama ke ESP32. Cara ini memisahkan masalah jaringan dan platform dari masalah kode perangkat, sehingga proses debugging jauh lebih cepat.
Simpan perintah ini sebagai catatan tim, karena akan berguna lagi setiap kali ada perangkat baru yang perlu diuji.
Pertanyaan yang sering diajukan
Apakah harus memakai perangkat IncludeBox?
Tidak. Platform INCLUDE menerima data dari perangkat buatan sendiri seperti ESP32, Arduino, atau Raspberry Pi lewat HTTP dan MQTT.
Kenapa data terkirim tapi tidak muncul di widget?
Biasanya nama field tidak sama dengan parameter jenis perangkat. Data tetap tersimpan, tapi widget bawaan hanya menampilkan parameter yang dikenali.
Apakah ESP8266 juga bisa?
Bisa. Prinsipnya sama, hanya pustaka Wi-Fi dan HTTP-nya sedikit berbeda.
Coba dengan paket gratis
Platform INCLUDE punya paket Community gratis tanpa batas waktu dengan kuota 3 perangkat, cukup untuk mencoba ESP32 pertama Anda. Langkah teknis lengkap ada di dokumentasi kirim data dari perangkat sendiri dan referensi API.
Sedang membangun perangkat IoT sendiri?
Ceritakan perangkat dan data yang ingin dikirim. Tim INCLUDE bantu menyiapkan jenis perangkat dan dashboardnya.
Konsultasi Gratis via WhatsApp → Lihat platform INCLUDE →