IMKONTROL.COM- Haloo berjumpa lagi dengan saya, dalam proyek ini saya akan menganjak anda membuat web server sendiri dengan menggunakan ESP8266 yang akan menampilkan suhu dan kelembaban dengan sensor DHT11 atau DHT22.
Cara memasang Library Sensor DHT
Library sensor ini akan memudahkan anda untuk menggunakan sensor DHT yang akan membaca suhu dan kelembaban dengan menggunakan ESP8266 atau Arduino.
- Klik di sini untuk men-download Library sensor DHT . Sebelumnya anda harus sudah teristall Winrar untuk dapat membukanya
- Setelah terdownload maka akan muncul File ini dan klik 2x untuk membukannya
- Dan akan membuka file lagi berupa Folder
- Kemudian ganti nama folder Anda dari
DHT-sensor-library-master menjadi DHT
- Pindahkan DHT folder instalasi Arduino IDE Anda ke folder libraries
- Kemudian bukalah kembali Arduino IDE
Cara meng-upload Coding ke ESP8266 Anda
Klik Tools lalu pilih "Generic ESP8266 Module".
Salin Coding di bawah ini ke Arduino IDE Anda. Ganti YOUR_NETWORK_NAME dan YOUR_NETWORK_PASSWORD sesuai keinginan anda sendiri.
Coding
[sociallocker]
/*********
www.imkontrol.com
*********/
#include <ESP8266WiFi.h>
#include "DHT.h"
#define DHTTYPE DHT11 // DHT 11
const char* ssid = "YOUR_NETWORK_NAME";
const char* password = "YOUR_NETWORK_PASSWORD";
// Web Server on port 80
WiFiServer server(80);
// DHT Sensor
const int DHTPin = 5;
DHT dht(DHTPin, DHTTYPE);
static char celsiusTemp[7];
static char fahrenheitTemp[7];
static char humidityTemp[7];
void setup() {
Serial.begin(115200);
delay(10);
dht.begin();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
server.begin();
Serial.println("Web server running. Waiting for the ESP IP...");
delay(10000);
Serial.println(WiFi.localIP());
}
void loop() {
WiFiClient client = server.available();
if (client) {
Serial.println("New 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!");
strcpy(celsiusTemp,"Failed");
strcpy(fahrenheitTemp, "Failed");
strcpy(humidityTemp, "Failed");
}
else{
float hic = dht.computeHeatIndex(t, h, false);
dtostrf(hic, 6, 2, celsiusTemp);
float hif = dht.computeHeatIndex(f, h);
dtostrf(hif, 6, 2, fahrenheitTemp);
dtostrf(h, 6, 2, humidityTemp);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %t Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *Ft Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.print(" *F");
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %t Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *Ft Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
}
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
// your actual web page that displays temperature and humidity
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head></head><body><h1>ESP8266 - Temperature and Humidity</h1><h3>Temperature in Celsius: ");
client.println(celsiusTemp);
client.println("*C</h3><h3>Temperature in Fahrenheit: ");
client.println(fahrenheitTemp);
client.println("*F</h3><h3>Humidity: ");
client.println(humidityTemp);
client.println("%</h3><h3>");
client.println("</body></html>");
break;
}
if (c == 'n') {
blank_line = true;
}
else if (c != 'r') {
blank_line = false;
}
}
}
delay(1);
client.stop();
Serial.println("Client disconnected.");
}
}
[/sociallocker]
Alat yang digunakan :
- 1x ESP8266 12E
- 1x DHT11 Suhu dan Kelembaban Sensor
- 1x 4700 Ohm Resistor
- 1x Breadboard
Skema :Penting: sensor DHT membutuhkan 5V untuk beroperasi dengan baik, jadi pastikan Anda menggunakan Vin pin dari ESP8266 Anda yang output 5V.
Mencari IP Address ESP8266
Bukalah monitor seri Arduino IDE, setelah beberapa detik alamat IP Anda akan muncul. Dalam proyek saya itu 192.168.1.95
Uji Coba
Untuk demonstrasi akhir bukalah browser dari perangkat yang terhubung ke router ESP Anda. Kemudian ketik alamat IP dan klik Enter!
Semoga Bermanfaat