Pages

Subscribe Twitter Twitter

Monday, July 29, 2019

ESP32 Web Server: Sensor Suhu dan Kelembaban

Ide Project:

Proyek ini menggunakan ESP32 sebagai perangkat kontrol yang mudah terhubung ke jaringan WiFi yang ada & membuat Server Web. Ketika semua perangkat yang terhubung mengakses server web ini, ESP32 membaca dalam suhu & kelembaban relatif dari sensor DHT11 & mengirimkannya ke browser web perangkat.

Alat:

1. ESP32 & Kabel USB.
2. Kabel Jumper.
3. Sensor DHT 11.
4. Laptop/PC dengan aplikasi Arduino IDE dan koneksi internet.

Scematic Rangkaian:



Analisis Syntax:

Syntax include bertujuan untuk memanggil library arduino, pada program ini menggunakan library webserver, wifi, dan DHT. Syntax define untukn mendefinisikan type DHT yang digunakan. Ssid dan password disetting sesuai dengan password yang digunakan. Untuk melakukan komunikasi, HTTP menggunakan port 80. Pada ESP32, DHT sensor masuk melalui pin 35. Tipe data float (bilangan decimal) digunakan untuk output temperature dan humidity.

Mode pin DHT diatur sebagai masukan dan saat mulai menjalankan perintah serial monitor akan memberikan IP yang nantinya saat diakses akan memberikan tampilan berupa nilai suhu dan kelembaban.



Saat terhubung ke server, DHT akan membaca temperature dan kelembaban kemudian menampilkan hasilnya ke web server. Jika tidak bias terhubung dengan server maka web server akan menampilkan kalimat “Not found”.






Sintax tersebut menjelaskan tentang desain dari tampilan server.


Hasil:


Kode:

.
.
#include <WiFi.h>
#include <WebServer.h>
#include <DHT.h>

// Uncomment one of the lines below for whatever DHT sensor type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

/*Put your SSID & Password*/
const char* ssid = "Hjvs"; // Enter SSID here
const char* password = "ociijelek"; //Enter Password here

WebServer server(80);

// DHT Sensor
uint8_t DHTPin = 35;

// Initialize DHT sensor.
DHT dht(DHTPin, DHTTYPE);

float Temperature;
float Humidity;

void setup() {
Serial.begin(115200);
delay(100);

pinMode(DHTPin, INPUT);

dht.begin();

Serial.println("Connecting to ");
Serial.println(ssid);

//connect to your local wi-fi network
WiFi.begin(ssid, password);

//check wi-fi is connected to wi-fi network
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}

Serial.println("");
Serial.println("WiFi connected..!");
Serial.print("Got IP: "); Serial.println(WiFi.localIP());

server.on("/", handle_OnConnect);
server.onNotFound(handle_NotFound);

server.begin();
Serial.println("HTTP server started");

}

void loop() {
server.handleClient();

}

void handle_OnConnect() {

Temperature = dht.readTemperature(); // Gets the values of the temperature
Humidity = dht.readHumidity(); // Gets the values of the humidity
server.send(200, "text/html", SendHTML(Temperature,Humidity));
}

void handle_NotFound(){
server.send(404, "text/plain", "Not found");
}

String SendHTML(float Temperaturestat,float Humiditystat){
String ptr = "<!DOCTYPE html> <html>\n";
ptr +="<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n";
ptr +="<title>ESP32 Weather Report</title>\n";
ptr +="<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}\n";
ptr +="body{margin-top: 50px;} h1 {color: #444444;margin: 50px auto 30px;}\n";
ptr +="p {font-size: 24px;color: #444444;margin-bottom: 10px;}\n";
ptr +="</style>\n";
ptr +="</head>\n";
ptr +="<body>\n";
ptr +="<div id=\"webpage\">\n";
ptr +="<h1>ESP32 Weather Report</h1>\n";

ptr +="<p>Temperature: ";
ptr +=(int)Temperaturestat;
ptr +="°C</p>";
ptr +="<p>Humidity: ";
ptr +=(int)Humiditystat;
ptr +="%</p>";

ptr +="</div>\n";
ptr +="</body>\n";
ptr +="</html>\n";
return ptr;
}
.

Sunday, July 28, 2019

Kontrol LED menggunakan Bluetooth Serial dan ESP32


Ide project:

Idenya adalah untuk menghubungkan koneksi Bluetooth serial menggunakan ESP32 dan mengirimkan datanya. Jika data yang masuk adalah "1" maka LED menyala dan jika data yang masuk "0" LED mati. Kami memulai program kami dengan menambahkan file header BluetoothSerial yang membuat ESP32 Bluetooth berfungsi sebagai Bluetooth SSP.


Alat yang digunakan:

1.       ESP32
2.       Kabel USB
3.       LED
4.       Resistor
5.       Kabel Jumper
6.       Smartphone dengan aplikasi Serial Bluetooth Terminal
7.       Laptop/PC dengan aplikasi Arduino IDE


Scematic Rangkaian:



Analisis Program:


Syntax include bertujuan untuk memanggil library arduino, BluetoothSerial.h digunakan untuk mengunakan library Bluetooth di arduino. ESP_BT adalah objek terkait Bluetooth dan untuk disini dinamai ESP_BT dan dapat diubah dengan nama yang lain. Pin 5 digunakan sebagai pin yang menyalakan LED.


Selanjutnya, di dalam fungsi pengaturan setup (), komunikasi Serial diatur dengan baud rate 9600 dan menginisialisasi sinyal Bluetooth dengan nama “ESP32_LED”, ini akan menjadi nama yang akan ditemukan oleh smartphone. Serta menyatakan pinLED sebagai pin output karena kita akan beralih berdasarkan sinyal Bluetooth.



Hasil:



Program:

.
#include "BluetoothSerial.h" //Header File for Serial Bluetooth, will be added by default into Arduino
BluetoothSerial ESP_BT; //Object for Bluetooth
int incoming;
const int pinLED = 5;

void setup() {
Serial.begin(9600); //Start Serial monitor in 9600
ESP_BT.begin("ESP32_LED"); //Name of your Bluetooth Signal
Serial.println("Bluetooth Device is Ready to Pair");
pinMode (pinLED, OUTPUT);//Specify that LED pin is output
}

void loop() {

if (ESP_BT.available()) //Check if we receive anything from Bluetooth
{
incoming = ESP_BT.read(); //Read what we recevive
Serial.print("Received:"); Serial.println(incoming);

if (incoming == 49)
{
digitalWrite(pinLED, HIGH);
ESP_BT.println("LED turned ON");
}

if (incoming == 48)
{
digitalWrite(pinLED, LOW);
ESP_BT.println("LED turned OFF");
}
}
delay(20);
}
.