Pada tutorial lanjutan ini, kita akan membuat sistem Monitoring Suhu dan Kelembapan menggunakan sensor DHT11 atau DHT22. Data suhu dan kelembapan akan ditampilkan secara real-time melalui Web Browser (menggunakan Async Web Server mode AP) serta ditampilkan secara lokal pada LCD.
Sama seperti tutorial sebelumnya, ESP8266 akan bekerja dalam mode Access Point (AP) sehingga sistem dapat digunakan tanpa koneksi internet dan tanpa router.
Fitur
Sistem monitoring ini dirancang untuk memberikan informasi kondisi lingkungan secara langsung dan mudah diakses. Fitur-fitur yang akan terdapat pada sistem ini bisa kita cek dibawah ini.
- Monitoring suhu dan kelembapan menggunakan sensor DHT11 / DHT22
- ESP8266 beroperasi sebagai WiFi Access Point (AP)
- Data sensor ditampilkan pada Web Browser secara asynchronous
- Data suhu dan kelembapan ditampilkan secara lokal pada LCD
Alat Dan Bahan
| Nama Komponen | Gambar Komponen |
|---|---|
| NodeMcu esp8266 | ![]() |
| Sensor DHT 11 | ![]() |
| LCD 16×2 I2C | ![]() |
| Kabel Jumper | ![]() |
| Breadboard | ![]() |
Gambar Rangkaian

| ESP8266 | DHT-11 |
|---|---|
| pin D2 | pin Data |
| pin vin /vu | pin VCC (+) |
| pin GND | pin GND |
| ESP8266 | LCD I2C |
|---|---|
| pin D5 | SCL |
| pin D6 | SDA |
| pin vin /vu | VCC |
| pin GND | GND |
Cara Kerja Alat
- ESP8266 akan membaca data suhu dan kelembapan dari sensor DHT secara berkala.
- Data hasil pembacaan akan ditampilkan pada LCD sebagai monitoring lokal.
- ESP8266 akan membuat jaringan WiFi sendiri (Mode AP).
- Pengguna menghubungkan HP atau laptop ke WiFi ESP8266.
- Data suhu dan kelembapan ditampilkan pada halaman web melalui Web Server.
Library yang Digunakan
Pastikan library berikut ini sudah terinstal di Arduino IDE kamu:
ESP8266WiFi.hESPAsyncWebServer.hESPAsyncTCP.hDHT.hLiquidCrystal_I2C.h
Code
#include <ESP8266WiFi.h>
#include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN D2
#define DHTTYPE DHT11
LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT dht(DHTPIN, DHTTYPE);
const char* ssid = "DHT_Monitor_AP";
const char* password = "12345678";
AsyncWebServer server(80);
float temperature = 0;
float humidity = 0;
String htmlPage() {
String html = "";
html += "<!DOCTYPE html><html><head>";
html += "<meta name='viewport' content='width=device-width, initial-scale=1'>";
html += "<title>DHT Monitor</title>";
html += "</head><body>";
html += "<h1>Monitoring Suhu & Kelembapan</h1>";
html += "<p>Suhu: " + String(temperature) + " °C</p>";
html += "<p>Kelembapan: " + String(humidity) + " %</p>";
html += "</body></html>";
return html;
}
void setup() {
lcd.init();
lcd.backlight();
dht.begin();
WiFi.mode(WIFI_AP);
WiFi.softAP(ssid, password);
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(200, "text/html", htmlPage());
});
server.begin();
}
void loop() {
humidity = dht.readHumidity();
temperature = dht.readTemperature();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Hum : ");
lcd.print(humidity);
lcd.print(" %");
delay(2000);
}
Petunjuk Pengerjaan dan Uji Coba
- Rangkai sensor DHT11/DHT22 dan modul LCD sesuai dengan tabel koneksi yang telah dijelaskan. Pastikan setiap pin terhubung dengan benar, terutama jalur VCC dan GND, agar sensor dan LCD dapat bekerja dengan normal.
- Hubungkan papan ESP8266 ke komputer menggunakan kabel USB, kemudian buka Arduino IDE. Pilih tipe board dan port yang sesuai, lalu unggah (upload) program monitoring suhu dan kelembapan ke ESP8266 hingga proses selesai tanpa error.
- Setelah upload berhasil, lepaskan ESP8266 dari komputer (opsional), lalu pastikan papan sudah mendapatkan sumber daya. Selanjutnya, aktifkan fitur WiFi pada HP atau laptop.
- Cari jaringan WiFi dengan nama DHT_Monitor_AP, kemudian hubungkan perangkat ke jaringan tersebut. Tunggu hingga perangkat berhasil terhubung.
- Buka aplikasi browser (Chrome, Firefox, atau sejenisnya), lalu ketik alamat IP
192.168.4.1pada kolom alamat dan tekan Enter. - Perhatikan halaman web yang tampil. Nilai suhu dan kelembapan akan ditampilkan secara real-time melalui web, sementara informasi yang sama juga dapat dilihat langsung pada layar LCD yang terpasang pada rangkaian.





