Penjelasan singkat
Pada tutorial project NodeMCU artikel ini akan dibahas tentang kendali LED maupun modul Relay melalui jaringan Wifi menggunakan NodeMCU ESP8266 V.1.0.
Hal utama yang dibutuhkan yaitu konektifitas Wireless / wifi melalui Wifi Router tetapi itu tidak harus terhubung ke jaringan internet.
NodeMCU ESP8266 akan terhubung ke Jaringan wifi sebagai Client dan akan mendapatkan ip address sebagai alamat perangkat tersebut.
Dari alamat IP address tersebut, dapat langsung diakses melalui browser pada komputer maupun smartphone misalnya menggunakan browser google chrome.
Pengaplikasian termudah yaitu digunakan pada rumah untuk mengontrol lampu yang akan dihidupkan maupun dimatikan.
Sehingga tidak banyak membutuhkan saklar ON/OFF untuk tiap lampu, hanya dibutuhkan 1 smartphone yang sering kita pakai sebagai alat kendali utama.
Selain itu proyek sederhana ini dapat dikembangkan lebih jauh misal dikoneksikan dengan cloudmqtt sebagai server broker yang memungkinan kendali via jarak jauh, tanpa harus terhubung dengan koneksi wifi yang sama.
Dimana hal itu masuk kedalam Internet of Things atau IOT, yang dapat dijadikan ladang bisnis yang dapat menghasilkan uang.
Kebutuhan yang diperlukan project NodeMCU ESP8266
Refrensi pembelajaran tutorial dasar :
- Apa itu Module NodeMCU ESP8266?
- Tutorial Arduino mengakses relay
Bahan yang diperlukan :
- NodeMCU ESP8266 V.1.0
- Modul Relay 4 channel
- Kabel jumper
- Wifi Router (nama wifi dan password harus ada)
- Komputer + Software Arduino IDE
Pengetesan pertama harus dicek kondisi module NodeMCU dengan program “blinking”. untuk melakukan hal itu dapat dicek di link refrensi diatas.
Skema alur project ini serta rangkaian komponennya
Untuk memudahkan dalam pembuatan coding pada software Arduino IDE, perlu diperhatikan terlebih dahulu akan tabel GPIO.
Library yang dibutuhkan untuk project ini yaitu library ESP8266WiFi yang dimana dapat merupakan hal wajib ada untuk proses kompiler. Tutorial untuk import library dapat dicek di link ini.
Koding pemrograman
[lockercat]
#include <ESP8266WiFi.h> //library ESP8266wifi yang telah diimportkan #define ON LOW #define OFF HIGH const char* ssid = "Blokb21no12"; const char* password = "Komponen"; int relay1 = 5; //D1 on ESP Board int relay2 = 4; //D2 on ESP Board int relay3 = 00; //D3 on ESP Board int relay4 = 2; //D4 on ESP Board int value1 = OFF, value2 = OFF, value3 = OFF, value4 = OFF; //menggunakan port 80 untuk http WiFiServer server(80); void setup(){ //menggunakan baud komunikasi serial pada 115200 Serial.begin(115200); delay(15); pinMode(relay1,OUTPUT);pinMode(relay2,OUTPUT); pinMode(relay3,OUTPUT);pinMode(relay4,OUTPUT); digitalWrite(relay1, ON);digitalWrite(relay2, ON); digitalWrite(relay3, ON);digitalWrite(relay4, ON); Serial.println();Serial.println(); //pemberian spasi Serial.print("Terhubung dengan Wifi.... "); // Koneksi dengan Wifi Serial.println(ssid); //prosedur pengkoneksian wifi WiFi.begin(ssid, password); //pengecekan status wifi while (WiFi.status() != WL_CONNECTED) //pengecekan kondisi koneksi wifi {delay(600);Serial.print(".");} Serial.println(""); Serial.println("Sudah terkoneksi dengan wifi"); server.begin(); //prosedur memulai akses server Serial.println("Pemulaian Akses Server"); //menuliskan alamat ip Serial.print("Alamat ip yang digunakan untuk pengaksesan: "); //contoh format ip address : http://192.168.1.1/ Serial.print("http://");Serial.print (WiFi.localIP());Serial.println("/"); } void loop() { WiFiClient client = server.available(); //cek kondisi jika terhubung dengan client if (!client) { return; } //menunggu client, data dikirim Serial.println("client baru"); //jika client tidak available while(!client.available()) {delay(5);} String request = client.readStringUntil('\r'); Serial.print(request);client.flush(); //penulisan data pada browser dengan alamat diatas client.println("HTTP/1.1 200 OK");client.println("Content-Type: text/html"); client.println(""); client.println("<!DOCTYPE HTML>");client.println("<html>"); client.println("<fieldset>");client.println("<font color = red>"); client.print("Kendali relay via Wifi"); client.println("</font>");client.println("</fieldset>"); client.println("<br><br>"); client.print("relay 1 is now: "); // Control relay 1 if(request.indexOf("/relay1=ON")!= -1) {digitalWrite(relay1, ON);value1 = ON;} if(request.indexOf("/relay1=OFF")!= -1) {digitalWrite(relay1, OFF);value1 = OFF;} if(value1==ON){client.print("ON");} if(value1==OFF){client.print("OFF");} client.println("<br><br>"); client.println("<a href=\"/relay1=ON\"\"><button>relay1 ON </button></a>"); client.println("<a href=\"/relay1=OFF\"\"><button>relay1 OFF </button></a><br />"); client.println("</html>"); client.println("<br><br>"); client.print("relay 2 is now: "); // Control relay 2 if (request.indexOf("/relay2=ON") != -1) { digitalWrite(relay2, ON); value2 = ON; } if (request.indexOf("/relay2=OFF") != -1) { digitalWrite(relay2, OFF); value2 = OFF; } if(value2==ON){client.print("ON");} if(value2==OFF){client.print("OFF");} client.println("<br><br>"); client.println("<a href=\"/relay2=ON\"\"><button>relay2 ON </button></a>"); client.println("<a href=\"/relay2=OFF\"\"><button>relay2 OFF </button></a><br />"); client.println("</html>"); client.println("<br><br>"); client.print("relay 3 is now: "); // Control relay 3 if (request.indexOf("/relay3=ON") != -1) { digitalWrite(relay3, ON); value3 = ON; } if (request.indexOf("/relay3=OFF") != -1) { digitalWrite(relay3, OFF); value3 = OFF; } if(value3==ON){client.print("ON");} if(value3==OFF){client.print("OFF");} client.println("<br><br>"); client.println("<a href=\"/relay3=ON\"\"><button>relay3 ON </button></a>"); client.println("<a href=\"/relay3=OFF\"\"><button>relay3 OFF </button></a><br />"); client.println("</html>"); client.println("<br><br>"); client.print("relay 4 is now: "); // Control relay 4 if (request.indexOf("/relay4=ON") != -1) { digitalWrite(relay4, ON); value4 = ON; } if (request.indexOf("/relay4=OFF") != -1) { digitalWrite(relay4, OFF); value4 = OFF; } if(value4==ON){client.print("ON");} if(value4==OFF){client.print("OFF");} client.println("<br><br>"); client.println("<a href=\"/relay4=ON\"\"><button>relay4 ON </button></a>"); client.println("<a href=\"/relay4=OFF\"\"><button>relay4 OFF </button></a><br />"); client.println("</html>"); delay(1); Serial.println("Client disonnected"); Serial.println(""); }
[/lockercat]
Hasil trial yang saya lakukan
Selamat mencoba!
Terimakasih sudah berkunjung, dan semoga bermanfaat. Salam nyebarilmu.com!
Mas kontrol nya via android bisa kah??
kalo untuk kontrol via android bisa aja gan, tapi masih pake browser belum ada aplikasinya
sekarang masih proses pengembangan gunain basic4android untuk project itu
thanks sudah berkunjung,
bg, relay nya pake 3.3 dari nodemcu bisa ya?
bisa gunain module 4 channel logic level converter gan,
harganya murah cuma 5rb an
itu buat konversi logika 3,3 v ke 5v dan sebaliknya
bg, relay nya pake 3.3 dari nodemcu bisa ya?
bisa gunain module 4 channel logic level converter gan,
harganya murah cuma 5rb an
itu buat konversi logika 3,3 v ke 5v dan sebaliknya
bro untuk programnya uda ane download. pas dibuka di softwarenya kok kaga bisa yah? atau ada settingannya untuk membuka program tersebut? thx
bukanya pake software apa ya gan?
bro untuk programnya uda ane download. pas dibuka di softwarenya kok kaga bisa yah? atau ada settingannya untuk membuka program tersebut? thx
bukanya pake software apa ya gan?
Bro apakah alat ini bisa dikendalikan dari jarak jauh? Yang dalam arti bukan hanya dapat dikendalikan di area sekitar rumah saja.
Kalo ini hanya Lokal area saja gan,
kalo dimanapun, yang pake software BLYNK, cek saja ada contoh programnya
kalo untuk kontrol via android bisa aja gan, tapi masih pake browser belum ada aplikasinya
sekarang masih proses pengembangan gunain basic4android untuk project itu
thanks sudah berkunjung,
Bro apakah alat ini bisa dikendalikan dari jarak jauh? Yang dalam arti bukan hanya dapat dikendalikan di area sekitar rumah saja.
Kalo ini hanya Lokal area saja gan,
kalo dimanapun, yang pake software BLYNK, cek saja ada contoh programnya
bang ini pake 4 channel logic level converter?
sudah ane benerin filenya,
dan itu tanpa 4 channel sudah bisa gan,
soalnya udah ane trial sendiri
bang ini pake 4 channel logic level converter?
sudah ane benerin filenya,
dan itu tanpa 4 channel sudah bisa gan,
soalnya udah ane trial sendiri
saya menggunakan wemos d1 mini pro , bagaimana cara menggunakan nya mengontrol 6 relay dengan Aplikasi Android
Aplikasi androidnya buatan sendiri atau dari play store gan?
bisa dikirim link nya,
saya menggunakan wemos d1 mini pro , bagaimana cara menggunakan nya mengontrol 6 relay dengan Aplikasi Android
Aplikasi androidnya buatan sendiri atau dari play store gan?
bisa dikirim link nya,
bro itu pas di serial monitor nya, diketik apa yah? biar bisa lihat ip address nya?
itu awal start dan serial monitor dibuka, IP address sudah tertera gan di baris ke-3 serial monitor,
oh okeoke bro.
kalau untuk bahasa programnya jenis bahasa program apa itu bro?
pake bahasa program C, gan
bro itu pas di serial monitor nya, diketik apa yah? biar bisa lihat ip address nya?
itu awal start dan serial monitor dibuka, IP address sudah tertera gan di baris ke-3 serial monitor,
oh okeoke bro.
kalau untuk bahasa programnya jenis bahasa program apa itu bro?
pake bahasa program C, gan
Kalo pake cloudmqtt gmn caranya bang? Dibagian apa yg harus di ubah?
Kalo ane prefer gunain BLYNK gan,
Kalo pake cloudmqtt gmn caranya bang? Dibagian apa yg harus di ubah?
Kalo ane prefer gunain BLYNK gan,
bang relay 3 gak nyala, itu kenapa ya,, relay 3 hanya nyala pas relas 1, 2, 4 mati, pas 124 nyala relay 3 mati, danrelay 3 gak bisa di control di web,,
Coba cek di rangkaian nya dulu gan, kalo gak cek gunain voltmeter, apakah ada tegangan 3.3 v atau gak untuk relay 3 nya
bang relay 3 gak nyala, itu kenapa ya,, relay 3 hanya nyala pas relas 1, 2, 4 mati, pas 124 nyala relay 3 mati, danrelay 3 gak bisa di control di web,,
Coba cek di rangkaian nya dulu gan, kalo gak cek gunain voltmeter, apakah ada tegangan 3.3 v atau gak untuk relay 3 nya
Apakah espnya harus terhubung ke router? Ada cara ngga supaya dia langsung terhubung ke server tanpa harus connect router?
itu namany mode access point gan,
itu bisa dilakukan,
https://nyebarilmu.com/tutorial-arduino-mengakses-nodemcu-sebagai-access-point/
contohnya tutorialnya
Apakah espnya harus terhubung ke router? Ada cara ngga supaya dia langsung terhubung ke server tanpa harus connect router?
itu namany mode access point gan,
itu bisa dilakukan,
https://nyebarilmu.com/tutorial-arduino-mengakses-nodemcu-sebagai-access-point/
contohnya tutorialnya
untuk masukin kodenya pake software apa gan? sorry masih pemula
Gunain software arduino IDE gan,
tp jangan lupa disetting dulu, bisa dicek disini
https://www.nyebarilmu.com/apa-itu-module-nodemcu-esp8266/
untuk masukin kodenya pake software apa gan? sorry masih pemula
Gunain software arduino IDE gan,
tp jangan lupa disetting dulu, bisa dicek disini
https://www.nyebarilmu.com/apa-itu-module-nodemcu-esp8266/
bang gua wifinya pake hotspot hp, tapi pas munculin serial monitor ga muncul apa-apa. apa pake hotspot dari hp ngga bisa atau ada yg lain yg salah ya bang
coba cek dulu di routernya gan, ada ip address yang mengarah ke nodemcu gak?
bang gua wifinya pake hotspot hp, tapi pas munculin serial monitor ga muncul apa-apa. apa pake hotspot dari hp ngga bisa atau ada yg lain yg salah ya bang
coba cek dulu di routernya gan, ada ip address yang mengarah ke nodemcu gak?
gan kalau pakai NodeMCU Versi 1.0 (Unofficial board) itu harus ada pengaturan lagi atau tinggal ikutin tutorial yang agan kasi? terimakasih.
Hampir sama gan, dicoba dulu saja
Hampir sama gan,
gan kalau pakai NodeMCU Versi 1.0 (Unofficial board) itu harus ada pengaturan lagi atau tinggal ikutin tutorial yang agan kasi? terimakasih.
Hampir sama gan, dicoba dulu saja
Hampir sama gan,