Bismillahirrahmanirrahim, Assalamu’alaikum Warahmatullahi Wabarakaatuh
Halo sobat IOTkece, bagaimana kabarnya nih? Luarbiasa pastinya, kali ini saya akan membagikan tutorial bagaimana cara menyalakan dan mematikan lampu dengan menggunakan hp secara wireless dan tanpa menggunakan aplikasi database hanya dengan browser. Board yang kita gunakan adalah DevKit ESP32
Langsung saja ke tutorialnya
1. Persiapkan Alat dan Bahan
- Devkit ESP32
- Project Board
- Resistor 100 Ohm (2 Pcs)
- LED 5 mm (2 Pcs) Warna bebas tergantung selera
- Kabel Jumper Male to Male
- USB Tansfer (Micro USB)
- Laptop + Arduino IDE (Jika dilaptop sobat belum terinstal Arduino IDE klik disini)
2. Wiring
- Kaki Anoda Led1 ke pin D26 (Sebelumnya diberi resistor 100 Ohm)
- Kaki Anoda Led2 ke pin D27 (Sebelumnya diberi resistor 100 Ohm)
- Kaki Katoda ke GND
3. Program
/* Bismillahirrahmanirrahim, Assalamualaikum Allahumma sholli ‘ala Muhammad wa ‘ala ali Muhammad Tutorial IOT Web server by IOTkece */ #include <WiFi.h> const char* ssid = "Rumahku Surgaku"; const char* password = "Bismillah#1"; WiFiServer server(80); String header; String Lamp1State = "off"; String Lamp2State = "off"; const int Lamp1 = 26; const int Lamp2 = 27; unsigned long currentTime = millis(); unsigned long previousTime = 0; const long timeoutTime = 2000; void setup() { Serial.begin(115200); pinMode(Lamp1, OUTPUT); pinMode(Lamp2, OUTPUT); digitalWrite(Lamp1, LOW); digitalWrite(Lamp2, LOW); 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."); Serial.println("IP address: "); Serial.println(WiFi.localIP()); server.begin(); } void loop(){ WiFiClient client = server.available(); if (client) { currentTime = millis(); previousTime = currentTime; Serial.println("New Client."); String currentLine = ""; while (client.connected() && currentTime - previousTime <= timeoutTime) { currentTime = millis(); if (client.available()) { char c = client.read(); Serial.write(c); header += c; if (c == '\n') { if (currentLine.length() == 0) { client.println("HTTP/1.1 200 OK"); client.println("Content-type:text/html"); client.println("Connection: close"); client.println(); if (header.indexOf("GET /26/on") >= 0) { Serial.println("GPIO 26 on"); Lamp1State = "on"; digitalWrite(Lamp1, HIGH); } else if (header.indexOf("GET /26/off") >= 0) { Serial.println("GPIO 26 off"); Lamp1State = "off"; digitalWrite(Lamp1, LOW); } else if (header.indexOf("GET /27/on") >= 0) { Serial.println("GPIO 27 on"); Lamp2State = "on"; digitalWrite(Lamp2, HIGH); } else if (header.indexOf("GET /27/off") >= 0) { Serial.println("GPIO 27 off"); Lamp2State = "off"; digitalWrite(Lamp2, LOW); } client.println("<!DOCTYPE html><html>"); client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"); client.println("<link rel=\"icon\" href=\"data:,\">"); client.println("<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}"); client.println(".button { background-color: #3DE31B; border: none; color: black; padding: 16px 40px;"); client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}"); client.println(".button2 {background-color: #DB240F;}</style></head>"); client.println("<body><h1>ESP32 IOT Web Server Control Lamp</h1>"); client.println("<p>Lamp 1 - Current Condition <b>" + Lamp1State + "</b></p>"); if (Lamp1State=="off") { client.println("<p><a href=\"/26/on\"><button class=\"button\">ON</button></a></p>"); } else { client.println("<p><a href=\"/26/off\"><button class=\"button button2\">OFF</button></a></p>"); } client.println("<p>Lamp 2 - Current Condition <b>" + Lamp2State + "</b></p>"); if (Lamp2State=="off") { client.println("<p><a href=\"/27/on\"><button class=\"button\">ON</button></a></p>"); } else { client.println("<p><a href=\"/27/off\"><button class=\"button button2\">OFF</button></a></p>"); } client.println("</body></html>"); client.println(); break; } else { currentLine = ""; } } else if (c != '\r') { currentLine += c; } } } header = ""; client.stop(); Serial.println("Client disconnected."); Serial.println(""); } }
Upload program ke Board DevKit ESP32 dengan settingan sebagai berikut, Jika belum terinstal board ESP32 Klik disini
ESP32 ini spesial, saat proses uploading program pada bagian bawah ada tulisan connecting…., maka tekan tombol boot pada ESP32 sampai proses uploading berjalan,
Setelah selesai buka Serial Monitor dengan Ctrl + Shift + M atau Klik Ikon Serial Monitor
Setelah terbuka setting Baud Rate ke 115200 sesuai dengan program diatas
Setelah disetting maka ketikan IP Addres pada Serial Monitor ke Browser Sobat, jika tidak muncul maka Restart Board sobat dengan menekan tombol EN sesaat
Ketikan IP Addres tersebut ke browser Sobat, Nanti akan tampil halaman seperti ini pada smartphone Sobat
Kalau di Laptop/ Komputer akan seperti ini tampilannya
Selamat Mencoba Sobat, jangan lupa Bismillah dulu yaaa, Kalau berhasil komentar di bawah yaaa, kalau ada masalah juga komentar yaaa,,,,. Dan jangan lupa bagikan ke orang yang membutuhkan Informasi Ini yaaa…
Baca Juga : Tutorial Blynk Kontrol Lampu Dengan Internet Dari Manapun
Terimakasih, Wassalamualaikum Warahmatullahi Wabarakatuh
“Jangan Pernah Berhenti Mencoba Sampai Kau Menemukan Jawabannya”
#IOTkece
Gan mau tanya” nih boleh?
Gan mau tanya” nih boleh?
Apakah coding yang sidah di upload di esp32 bisa dihapus? Atau kalau ingin mengganti codingan tinggal langsung upload lahi terima kasih
Tinggal upload aja bro, nanti otomatis akan akan terganti
thx kak. kak bisa berdiskusi?
jadi gini kak saya nih mau buat alat semacam ini (bukan local)
tapi saya bingung gmna cara membuat alat ini berfungsi ketika kita berada di luar kota? selain menggunakan blnyk. apada solusi ketika kita harus menggunakan paket data terima ksih
Banyak sekali platform yang mendukung untuk project iot, blynk hanyalah salah satunya, dan kenapa pada tutorial yang saya buat selalu menggunakan blynk, karena untuk pemula blynk sangat mudah sekali dipelajari dan dimengerti, jikalau ingin menggunakan selain blynk boleh boleh saja, Semoga membantu
recomendasi kak? apk apa ya?
Kalau saya selama ini sih, mendingan pakai blynk
apa tetap menggunakan esp32? apa esp 8266?
ESP32 dan ESP 8266 banyak digunakan karena harganya yang murah, selain board itu bisa menggunakan Ardino Ethernet Shield ataupun rasberry