Belajar IoT Menggunakan Webserver dengan ESP8266
Penjelasan
Pada proyek kali ini kita akan membahas mengenai Internet of Things (IoT) menggunakan webserver dengan ESP8266.
Untuk kalian yang aplikasi Arduino belum di install library ESP8266, bisa membaca artikel berikut.
Skematik Rangkaian
Komponen
- NodeMCU
- Resistor 220 Ohm atau bebas maksimal 1k Ohm
Program
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#ifndef STASSID
#define STASSID "NAMA-WIFI-KALIAN"
#define STAPSK "PASSWORD-WIFI-KALIAN"
#endif
const char* ssid = STASSID;
const char* password = STAPSK;
ESP8266WebServer server(80);
const int led = D7;
void handleRoot() {
digitalWrite(led, 1);
server.send(200, "text/plain", "hello from esp8266!");
digitalWrite(led, 0);
}
void handleNotFound() {
digitalWrite(led, 1);
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET) ? "GET" : "POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i = 0; i < server.args(); i++) {
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
server.send(404, "text/plain", message);
digitalWrite(led, 0);
}
void setup(void) {
pinMode(led, OUTPUT);
digitalWrite(led, 0);
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
if (MDNS.begin("esp8266")) {
Serial.println("MDNS responder started");
}
server.on("/", handleRoot);
server.on("/ledon", []() {
server.send(200, "text/plain", "LED ON");
digitalWrite(led,HIGH);
});
server.on("/ledoff", []() {
server.send(200, "text/plain", "LED OFF");
digitalWrite(led,LOW);
});
server.onNotFound(handleNotFound);
server.begin();
Serial.println("HTTP server started");
}
void loop(void) {
server.handleClient();
MDNS.update();
}
Setelah itu buka Serial Monitor untuk melihat IP Address dari NodeMCU.
Lalu copy IP Address ke browser kesayangan kalian dan enter.
Maka akan muncul tampilan seperti di bawah ini.
Jika ingin menyalakan LED, kita tambahkan /ledon
Untuk mematikan LED, kita dapat mengetikan /ledoff
Silahkan cek rangkaian dan program yang telah kalian buat jika LED tidak menyala ataupun mati saat dilakukan cara di atas.
Sekian dan terima kasih. Semoga dapat membantu.
Jangan lupa untuk share ke teman - teman kalian dan tulis komentar kalian di bawah.
0 Comments