Assalamu’alaykum, Semangat Pagi. Sebelum masuk ke pembahasan utama, alangkah baiknya jika sahabat mengenal sedikit apa itu Internet of Things (IoT). Penjelasan secara singkat ada pada link berikut : Bagian 1 Belajar IoT – Kendali LED dengan Web Server
Secara umum Web Server yaitu perangkat untuk menyimpan, memproses, dan mengirimkan halaman web ke web client (Browser yang ada di komputer dan smartphone).
Cara kerja dari Web Server pun cukup sederhana, komunikasi antara server dan client menggunakan protokol khusus yang disebut Hypertext Transfer Protocol (HTTP). Client menggunakan URL / Link untuk melakukan request halaman tertentu menggunakan HTTP dan kemudian server memberikan response berupa konten halaman web atau pesan bila halaman web tidak tersedia (Seperti pesan 404). Halaman yang dikirim oleh server sebagian besar adalah dokumen HTML.
Pada pembahasan kali ini, kita akan menggunakan NodeMCU sebagai Web Server. Selain harganya yang murah, pengaplikasian ke arah IoT pun cukup mudah sehingga bagi yang baru pertama kali terjun ke dunia IoT sangat disarankan untuk menggunakan NodeMCU yang berbasis ESP8266. Pada gambar di atas NodeMCU dihubungkan ke jaringan WiFi yang ada (Dibuat oleh router nirkabel yang user miliki atau yang umum kita sebut Hotspot WiFi) disebut Station (STA). Dalam mode STA, NodeMCU mendapatkan IP dari router nirkabel yang terhubung. Dengan alamat IP ini, ia dapat mengatur server web dan mengirimkan halaman web ke semua perangkat yang terhubung di bawah jaringan WiFi yang ada.
Komponen yang dibutuhkan pada pembahasan kali ini yaitu:
- NodeMCU (Pastikan tipe boardnya kompatibel dengan ARDUINO IDE, jangan beli yg versi LUA) x1
- LED 5 mm x1 (Penjelasan mengenai LED ada di sini)
- Resistor 330 Ohm x1
- Projectboard (x1 yang besar) atau (2x yang kecil)
- Jumper x1 (Male to Male)
Rangkaian Kendali LED dengan Web Browser
Oia sahabat, perlu diketahui. Agar rangkaian di atas dapat bekerja, sahabat harus melakukan instalasi Library ESP8266 pada Arduino IDE. Langkah-langkahnya dapat sahabat lihat di sini.
Pin D4 digunakan sebagai pin OUTPUT untuk mengendalikan LED. Lalu hubungkan NodeMCU ke komputer yang anda miliki, kemudian buka Arduino IDE dan saatnya kita melakukan koding.
Berikut kode untuk Web Server yang harus di Upload ke NodeMCU :
#include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266WebServer.h> // Ganti dengan password Jaringan WiFi yang user miliki const char* ssid = ""; const char* password = ""; ESP8266WebServer server(80); //Inisialisasi server pada port 80 String page = ""; int LEDPin = D4; //Pin yang digunakan untuk mengendalikan LED void setup(void){ //the HTML of the web page page = "<h1>Simple NodeMCU Web Server</h1><p><a href=\"LEDOn\"><button>ON</button></a> <a href=\"LEDOff\"><button>OFF</button></a></p>"; //Inisialisasi pin D4 padam ketika NodeMCU pertama kali menyala pinMode(LEDPin, OUTPUT); digitalWrite(LEDPin, LOW); delay(1000); Serial.begin(115200); WiFi.begin(ssid, password); //begin WiFi connection 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()); server.on("/", [](){ server.send(200, "text/html", page); }); server.on("/LEDOn", [](){ server.send(200, "text/html", page); digitalWrite(LEDPin, HIGH); delay(1000); }); server.on("/LEDOff", [](){ server.send(200, "text/html", page); digitalWrite(LEDPin, LOW); delay(1000); }); server.begin(); Serial.println("Web server started!"); } void loop(void){ server.handleClient(); }
Selanjutnya silahkan upload koding di atas ke NodeMCU yang kalian miliki. Berikut langkah-langkahnya :
- Hubungkan NodeMCU ke laptop atau komputer yang kalian miliki
- Atur Board dan Port sesuai dengan yang kalian gunakan (Nomor Port setiap Laptop atau Komputer terkadang berbeda)
- Lalu Klik Upload
- Pastikan laptop, smartphone dan device apapun yang ingin digunakan untuk mengendalikan LED dengan Web Server harus menggunakan WiFi hotspot yang sama dengan NodeMCU yang sedang kita gunakan.
- Jika berhasil di upload, maka teman-teman dapat melakukan hal seperti pada video berikut :
Selanjutnya, silahkan sahabat berkreasi dengan project-project IoT yang hanya ada di KodingIndonesia.com.
Seperti biasa, jika tutorial ini di rasa bermanfaat, silahkan like & share ya teman-teman.
Jika ada pertanyaan silahkan komentar di bawah. Sampai bertemu pada pembahasan IoT berikutnya.
Tetap Semangat. Salam KodingIndonesia.com