Hari ini kita akan mencoba untuk menampilkan data sensor ldr ke web server dengan koneksi WIFI menggunakan board NodeMCU. Untuk tampilannya masih sederhana ya hee, untuk selanjutnya anda bisa juga menambahkan CSS agar tampilan lebih menarik lagi. Oke langsung saja untuk membuatnya kita membutuhkan beberapa komponen di bawah ini.
Alat dan bahan
Rangkaian
Keterangan :
- Pemasangan kaki sensor ldr boleh terbalik
- Kaki 1 dihubungkan ke 3.3v
- kaki 2 ke pin A0 dan resistor 10K dan GND
Sketch Program
#include <ESP8266WiFi.h> const char* ssid = "nama wifi"; const char* password = "password"; int pinLdr = A0; int ldrValue; WiFiServer server(80); void setup() { Serial.begin(115200); delay(20); 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) { ldrValue = analogRead(pinLdr); Serial.println(ldrValue); 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>Sensor LDR NodeMCU</h2><h3>Data sensor : "); client.println(ldrValue); client.println("</h3><h3>"); client.println("</body></html>"); break; } if (c == '\n') { blank_line = true; } else if (c != '\r') { blank_line = false; } } } delay(5); } }
Upload program dengan board NodeMCU 1.0 dan port terceklis sampai done uploading. Buka Serial Monitor dengan baudrate 115200. Copy IP yang muncul dan pastekan ke web browser dan hasilnya seperti di bawah ini.
Semoga bermanfaat.
Kalau di serial monitor IP nya tidak muncul bagaimana ya?
cek koneksi internet
sudah nyambung ke koneksi internet, tapi kok masih tetep gk muncul ip nya??
coba cek di router/hotspotnya, ada nodeMCU yang sudah konek ataukah belum
coding bagian mana yang harus di rubah
sebenarnya script di atas udah realtime mas, tinggal refresh aja di sisi browser nanti akan otomatis data akan ikut berubah. Kalo masu diubah lebih cepat atau lebih lambat tinggal ubah nilai delay di dalam void loop, itu untuk mengatur perulangan pengambilan data sensor. Semakin cepat berarti semakin realtime tapi loading web akan semakin lambat. Silahkan diatur-atur sendiri nilai delay yang pas ya
Bagaimana caranya menampilkan nilai sensornya itu secara realtime
dikirim aja ke web server jika ada perubahan nilai pada sensor