Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Academia.eduAcademia.edu

PRAKTIKUM KONEKSI WIFI DENGAN NODEMCU

2020

Praktikum mandiri

Program ini untuk testing apakah NodeMCU V3 Anda dapat diprogram dan berjalan dengan Arduino IDE. Ok sekarang kita Upload ke modul NodeMCU V3. Klik tombol Upload, tunggu sampai proses compiling s/d upload selesai. Hasilnya tampak LED 1 pada board akan berkedip dengan delay 1 detik. Jika belum berhasil silakan cek lagi programnya. Jika ketika proses Upload mengalami masalah coba cek lagi koneksi NodeMCU V3 ke port USB (pastikan tidak kendor) dan instalasi driver berhasil (cek di Device Manager). Tes koneksi NodeMCU V3 dengan WiFi. Selanjutnya, kita akan coba koneksikan NodeMCU V3 ini dengan jaringan internet WiFi. Sebelumnya, siapkan hotspot (WiFi) Anda. Dapat memakai modem atau HP. Catat : nama jaringan WiFi dan passwordnya, nantinya kita gunakan untuk menulis program. Misalnya: Nama : FirnasAbe Password : podowingi Selanjutnya bikin programnya, sekali lagi ganti nama WiFi dan passwordnya sesuai dengan jaringan Anda (nama program: Tes Koneksi WiFi). /*********************************** * Program : Tes Koneksi WiFi NodeMCU V3 * input : - * Output : Serial monitor * Iot Starter Kit Inkubatek * www.tokotronik.com ***********************************/ #include <ESP8266WiFi.h> const char* ssid = "Will Hijacked"; const char* password = "perdana2020"; WiFiServer server(80); void setup(){ Serial.begin(115200); delay(2000); //Connect to WiFi Network Serial.println (""); Serial.println (""); Serial.print("Connecting to "); Serial.print(ssid); WiFi.begin(ssid, password); while (WiFi.status()!=WL_CONNECTED){ delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi Connected"); } void loop(){ } Jangan lupa untuk mengganti nama jaringan (SSID) dan password WiFi Anda. Simpan (Save) kemudian Upload. Tunggu sampai selesai, setelah itu cek di Serial Monitor (Tools => Serial Monitor) maka akan tampil status koneksi NodeMCU dengan WiFi. Setting Serial Monitor pada Baudrate 115200. Jika tidak tampil, silakan Anda reset dengan menekan tombol RST di NodeMCU. Project IoT I : Kontrol On Off LED dengan WiFi Pada proyek pertama ini kita akan membuat proyek IoT berupa control On-Off LED melalui jaringan WiFi. Pastikan jumper J5 pada board IoT Starter Kit dalam posisi “ON” (terpasang). Buat program berikut : (Anda juga dapat membuka langsung program yang ada di CD). Jangan lupa untuk mengganti SSID dan password WiFi-nya. /*********************************** * Program1 : Project 1 Kontrol LED * input : - * Output : LED1 * Iot Starter Kit Inkubatek * www.tokotronik.com ***********************************/ #include <ESP8266WiFi.h> const char* ssid = "Will Hijacked"; const char* password = "perdana2020"; int ledPin = D5; WiFiServer server(80); void setup(){ Serial.begin(115200); delay(10); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, 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"); server.begin(); Serial.println("Server started"); Serial.print("User this URL to connect:"); Serial.print("http://"); Serial.print(WiFi.localIP()); Serial.println("/"); } void loop(){ WiFiClient client = server.available(); if(!client){ return; } Serial.println("new client"); while(!client.available()){ delay(1); } String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); int value = LOW; if(request.indexOf("/LED=ON")!=-1){ digitalWrite(ledPin, HIGH); value = HIGH; } if (request.indexOf("/LED=OFF")!=-1){ digitalWrite(ledPin, LOW); value = LOW; } client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.print("Led pin is now : "); if(value==HIGH){ client.print("ON"); } else { client.print("OFF"); } client.println("<br><br>"); client.println("<a href=\"/LED=ON\"\"><button>Turn On</button></a>"); client.println("<a href=\"/LED=OFF\"\"><button>Turn Off</button></a></br>"); client.println("</html>"); delay(1); Serial.println("Client disconnected"); Serial.println(""); } Setelah disimpan (Save) kemudian Upload (pastikan tidak ada error). Buka Serial Monitor dengan baudrate 115200. Setelah device terkoneksi dengan WiFi, pada Serial Monitor muncul nomor IP. Copy alamat IP-nya, pada contoh diatas alamatnya : 192.168.1.5 kemudian paste di web browser Anda. Saya disini menggunakan browser dari Handphone Android. Ketika di tekan tombol ON maka alamatnya akan berubah dengan tambahan LED=ON. Hasilnya LED akan menyala. Ketika di tekan tombol OFF maka alamatnya akan berubah dengan tambahan LED=OFF. Hasilnya LED akan mati kembali. Project IoT II : Kontrol 2 LED Selanjutnya kita akan membuat aplikasi IoT untuk mengontrol 2 LED. Jumper J5 tetap dalam keadaan terpasang ya… Alat disetting seperti gambar dibawah ini : LED 1 berwarna biru dan LED 2 berwarna merah. Sketch program : /*********************************** * Program1 : Project 2 Kontrol 2 LED * input : - * Output : LED1 * Iot Starter Kit Inkubatek * www.tokotronik.com ***********************************/ #include <ESP8266WiFi.h> const char* ssid = "Will Hijacked"; const char* password = "perdana2020"; int ledPin1 = D5; int ledPin2 = D6; WiFiServer server(80); void setup(){ Serial.begin(115200); delay(10); pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT); digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, 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"); server.begin(); Serial.println("Server started"); Serial.print("User this URL to connect:"); Serial.print("http://"); Serial.print(WiFi.localIP()); Serial.println("/"); } void loop(){ WiFiClient client = server.available(); if(!client){ return; } Serial.println("new client"); while(!client.available()){ delay(1); } String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); int value = LOW; if(request.indexOf("/LED1=ON")!=-1){ digitalWrite(ledPin1, HIGH); value = HIGH; } if (request.indexOf("/LED1=OFF")!=-1){ digitalWrite(ledPin1, LOW); value = LOW; } if(request.indexOf("/LED2=ON")!=-1){ digitalWrite(ledPin2, HIGH); value = HIGH; } if (request.indexOf("/LED2=OFF")!=-1){ digitalWrite(ledPin2, LOW); value = LOW; } client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.print("Led1 pin is now : "); if(value==HIGH){ client.print("ON"); } else { client.print("OFF"); } client.println("<br><br>"); client.println("<a href=\"/LED1=ON\"\"><button>Turn On LED 1</button></a>"); client.println("<a href=\"/LED1=OFF\"\"><button>Turn Off LED 1</button></a></br>"); client.print("Led2 pin is now : "); if(value==HIGH){ client.print("ON"); } else { client.print("OFF"); } client.println("<br><br>"); client.println("<a href=\"/LED2=ON\"\"><button>Turn On LED 2</button></a>"); client.println("<a href=\"/LED2=OFF\"\"><button>Turn Off LED 2</button></a></br>"); client.println("</html>"); delay(1); Serial.println("Client disconnected"); Serial.println(""); } Upload. Kemudian buka Serial Monitor : Buka alamat tersebut pada browser. Saya sendiri membukanya pada browser Handphone Android. Awalnya semua lampu dalam keadaan OFF. Tap button LED 1 ON. Hasilnya LED 1 akan menyala. Tap button LED 2 ON. Hasilnya kedua LED menyala. Untuk mematikan LED pertama tap button OFF pada LED 1. Hasilnya hanya LED 2 yang menyala, LED 1 padam. Untuk mematikan kedua lampu tinggal tap button OFF pada LED 2. Hasilnya kedua lampu mati.