Setelah artikel instalasi Arduino IDE dan konfigurasi board ESP8266, banyak yang bertanya: enaknya dipakai buat apa? Salah satu proyek paling praktis untuk pemula adalah monitoring suhu dan kelembaban yang bisa dipantau dari HP, di mana pun Anda berada — bukan cuma lewat Serial Monitor yang mengharuskan laptop tetap menyala dan terhubung kabel.
Tutorial ini memakai ESP8266 (NodeMCU) dan aplikasi Blynk, platform IoT yang menyediakan aplikasi mobile siap pakai sehingga Anda tidak perlu membuat aplikasi Android sendiri dari nol.
Kenapa ESP8266, Bukan Arduino Uno
Arduino Uno tidak punya WiFi bawaan — untuk terhubung ke internet Anda butuh modul tambahan. ESP8266 sudah punya WiFi di dalam chip-nya sendiri, harganya justru lebih murah daripada Arduino Uno original, dan tetap bisa diprogram lewat Arduino IDE yang sama seperti yang sudah Anda kenal. Untuk proyek yang butuh koneksi internet, ESP8266 adalah pilihan default. Perbandingan lebih lengkap dengan ESP32 ada di artikel perbedaan Arduino Uno, ESP8266, dan ESP32.
Alat dan Bahan
| Komponen | Jumlah | Catatan |
|---|---|---|
| NodeMCU ESP8266 | 1 | Varian apa pun (v2 atau v3) bisa dipakai |
| Sensor DHT11 atau DHT22 | 1 | DHT22 lebih akurat, DHT11 lebih murah |
| Resistor 10k ohm | 1 | Pull-up untuk pin data (opsional, sebagian modul sudah menyertakannya) |
| Kabel jumper | 3 | VCC, GND, dan data |
| Kabel micro USB | 1 | Untuk daya dan pemrograman |
Skema Penyambungan
Perhatikan: DHT memakai 3,3 V, bukan 5 V seperti kebanyakan sensor Arduino. NodeMCU kebetulan sudah menyediakan pin 3V3, jadi tidak perlu regulator tambahan.
Menyiapkan Akun dan Aplikasi Blynk
- Unduh aplikasi Blynk IoT di Play Store atau App Store, lalu buat akun.
- Buat template baru, pilih perangkat "ESP8266", koneksi "WiFi".
- Tambahkan dua datastream virtual: V0 untuk suhu, V1 untuk kelembaban, tipe Double.
- Di halaman Web Dashboard atau di aplikasi mobile, tambahkan widget Gauge atau Label untuk masing-masing datastream.
- Salin Auth Token yang muncul di pengaturan perangkat — token ini yang menghubungkan kode Anda ke akun Blynk.
Memasang Library
Buka Sketch → Include Library → Manage Libraries, lalu pasang dua library:
Blynk(oleh Volodymyr Shymanskyy)DHT sensor library(oleh Adafruit) — akan meminta Anda memasangAdafruit Unified Sensorjuga, setujui.
Kode Lengkap
#define BLYNK_TEMPLATE_ID "ISI_TEMPLATE_ID_ANDA"
#define BLYNK_TEMPLATE_NAME "Monitor Suhu"
#define BLYNK_AUTH_TOKEN "ISI_AUTH_TOKEN_ANDA"
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
char ssid[] = "NAMA_WIFI_ANDA";
char pass[] = "PASSWORD_WIFI_ANDA";
#define DHTPIN 2 // D4 pada NodeMCU
#define DHTTYPE DHT11 // ganti DHT22 jika pakai DHT22
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
void kirimData() {
float suhu = dht.readTemperature();
float lembab = dht.readHumidity();
if (isnan(suhu) || isnan(lembab)) {
Serial.println("Gagal membaca sensor DHT");
return;
}
Blynk.virtualWrite(V0, suhu);
Blynk.virtualWrite(V1, lembab);
Serial.print("Suhu: "); Serial.print(suhu);
Serial.print(" C Kelembaban: "); Serial.print(lembab);
Serial.println(" %");
}
void setup() {
Serial.begin(9600);
dht.begin();
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
timer.setInterval(2000L, kirimData); // kirim tiap 2 detik
}
void loop() {
Blynk.run();
timer.run();
}
Ganti empat nilai di bagian atas: BLYNK_TEMPLATE_ID, BLYNK_TEMPLATE_NAME, BLYNK_AUTH_TOKEN dari dashboard Blynk, serta ssid dan pass dari jaringan WiFi Anda. ESP8266 hanya bisa terhubung ke WiFi 2,4 GHz — kalau router Anda dual-band dan tidak konek, pastikan Anda memasukkan nama jaringan 2,4 GHz, bukan yang 5 GHz.
Kenapa Pakai BlynkTimer, Bukan delay()
Fungsi Blynk.run() harus dipanggil sesering mungkin agar koneksi ke server tetap terjaga. Kalau Anda memakai delay(2000) di dalam loop() untuk mengatur jeda pengiriman data, koneksi Blynk akan terputus setiap kali delay berjalan. BlynkTimer menyelesaikan ini dengan menjalankan fungsi terjadwal tanpa memblokir loop() — pola yang sama dengan millis() yang dibahas di artikel motor servo tanpa delay.
Masalah yang Sering Muncul
| Gejala | Penyebab dan Solusi |
|---|---|
| Serial Monitor menampilkan "Gagal membaca sensor DHT" terus-menerus | Pin data salah, atau sensor butuh jeda. DHT11 hanya bisa dibaca maksimal sekali per detik — jangan kirim data lebih cepat dari itu. |
| ESP8266 tidak pernah terhubung ke WiFi | Jaringan 5 GHz tidak didukung. Buat SSID terpisah untuk 2,4 GHz di pengaturan router, atau gunakan hotspot HP sebagai uji coba. |
| Data di aplikasi Blynk tidak pernah update | Auth Token salah, atau nama datastream (V0/V1) di kode tidak cocok dengan yang dibuat di dashboard. |
| ESP8266 restart sendiri berulang kali | Daya dari port USB laptop tidak stabil. Coba adaptor charger HP 5V/1A sebagai sumber daya. |
Langkah Selanjutnya
Setelah data suhu bisa dipantau dari HP, langkah wajar berikutnya adalah menambahkan notifikasi otomatis saat suhu melewati ambang tertentu — bahasan lengkapnya ada di artikel mengirim notifikasi Telegram dari ESP8266. Anda juga bisa menampilkan data yang sama secara lokal di LCD memakai teknik dari artikel LCD I2C 16x2, sehingga suhu tetap terlihat meski HP sedang tidak di tangan.
0 Komentar
Berkomentarlah dengan sopan dan menggunakan bahasa yang semestinya.