Pemanfaatan sebuah sensor bisa dijadikan berbagai fungsi, nah kali ini kita akan belajar untuk memonitoring sensor menggunakan WIFI yang kemudian hasilnya akan ditampilkan pada Web Browser. Nantinya kita tinggal memasukkan alamat IP pada browser (bisa pada PC maupun HP android) dan hasil sensornya otomatis akan tampil. Sensor yang akan digunakan yaitu DHT11 yang merupakan sensor yang berfungsi untuk mendeteksi suhu dan kelembaban udara.

Oke berikut bahan-bahan yang dibutuhkan :

  • NodeMCU V3, BELI
  • Sensor DHT11,¬†BELI
  • Kabel jumper female to female, BELI
  • Library sensor DHT11, download.

Rangkaian

Keterangan :

  • pin DATA/IN dihubungkan ke pin D1
  • pin VCC dihubungkan ke pin 3.3V
  • pin GND dihubungkan ke GND

Catatan :

Sensor DHT11 mempunyai banyak versi yang letak/konfigurasi pinnya berbeda. Jadi pastikan konfigurasinya sesuai ya, dan tidak terbalik.

Sketch Program

#include <ESP8266WiFi.h>
#include "DHT.h"

#define DHTTYPE DHT11

const char* ssid = "ganti nama wifi";
const char* password = "ganti password wifi";

WiFiServer server(80);

#define DHTPin D1
DHT dht(DHTPin, DHTTYPE);

void setup() {
  Serial.begin(9600);
  delay(20);
  dht.begin();

  Serial.println();
  Serial.print("Menghubungkan ke WIFI... ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED){ 
    delay(300);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi terkoneksi");

  server.begin();
  Serial.println("Koneksi Server dimulai");

  Serial.print("Alamat IP : ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");
}

void loop() {
  WiFiClient client = server.available();
  if (!client) {
    return;
  }

  Serial.println("Koneksi baru");
  while (!client.available())
  {
    delay(5);
  }

  if (client) {

    boolean blank_line = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();

        if (c == '\n' && blank_line) {
          float h = dht.readHumidity();
          float t = dht.readTemperature();
          float f = dht.readTemperature(true);
          if (isnan(h) || isnan(t) || isnan(f)) {
            Serial.println("Failed to read from DHT sensor!");
          }
          else {
            Serial.print("Kelembaban : ");
            Serial.print(h);
            Serial.println("%");

            Serial.print("Suhu : ");
            Serial.print(t);
            Serial.print(" *C ");
            Serial.println(f);
          }
     
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");
          client.println();

          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          client.println("<head></head><body><h2>Monitoring Sensor DHT11</h2><h3>Suhu Celcius : ");
          client.println(t);
          client.println("*C</h3><h3>Suhu Fahrenheit : ");
          client.println(f);
          client.println("*F</h3><h3>Kelembaban : ");
          client.println(h);
          client.println("%</h3><h3>");
          client.println("</body></html>");
          break;
        }
        if (c == '\n') {
          blank_line = true;
        }
        else if (c != '\r') {
          blank_line = false;
        }
      }
    }
    delay(5);
  }
}

    Yang perlu diperhatikan pada sketch program :

    • const char* ssid = “ganti nama wifi”;
      silahkan ganti nama wifi anda.
    • const char* password = “ganti password wifi”;
      silahkan ganti sesuai dengan password wifi anda.
    • #define DHTPin D1
      ini merupakan deklarasi pin DATA DHT11 ke pin NodeMCU. Anda bisa merubahnya ke pin lainnya pada NodeMCU, misalnya D2, D3, D4 dan seterusnya.

    Silahkan upload sketch program di atas sampai Done Uploading, jangan lupa untuk mengatur Board dan Port pada menu Tools Arduino IDE.

    Hasil

    Berikut adalah hasilnya :

    Buka Serial monitor dengan baudrate 9600. Alamat IP yang diperoleh saya adalah http://192.168.169.111/. Alamat ini tentu akan berbeda dengan anda, silahkan sesuaikan ya. Setelah itu ketikkan alamat IP nya pada Web browser. Hasilnya seperti gambar di atas.

    Selamat mencoba.

    Kategori: NodeMCU

    Tinggalkan Balasan

    Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

    Scroll Up
    id_IDIndonesian
    en_USEnglish id_IDIndonesian