Anda di halaman 1dari 8

Ulasan :

1. NodeMCU
1. Pin Digital : Mengirim dan menerima sinyal digital
2. Pin Analog : Membaca sinyal analog ke digital
3. Pin GND : pin negatif
4. Pin 3V : untuk menyuplai power
5. Wifi : agar dapat terhubung dengan Wifi setempat
6. Tombol RST : untuk me-reset
7. Tombol Flash : untuk update program
8. Konektor Mikro USB : untuk menyimpan program
9. Koneksi dengan Arduino IDE : untuk menyalurkan program
1) Koneksi dengan Driver CH340 : untuk mengenalkan jalur usb perangkat nodemcu
2. Relay 4 Channel
a. Pin In1-In4 : sebagai jalur pin digital dan analog pada nodemcu
b. Pin GND : sebagai jalur GND juga pada nodemcu
c. Pin VCC : : sebagai jalur VCC pada nodemcu
d. Konektor Normally Closed : untuk memutus hubungan jalur listrik
e. Konektor Common : untuk menyambungkan normaly closed
f. Konektor Open : untuk menyalurkan listrik
g. Jumper VCC : untuk on off kan jalur vcc
h. Lampu Indikator : untuk mengehui keadaan on dan off relay
i. Koneksi dengan Bolam listrik : untuk menyalurkan ke bolam listrik
j. Koneksi dengan Power Listrik : untuk mendapatkan arus listrik
3. NodeMCUBase ESP8266
a. Untuk mendapatkan arus listrik yang normal kepada nodeMCU
b. harus mendapatkan 2 sampai 3 ampere
c. dapat tegangan sebesar maksimal 9 Volt ke nodeMCU.
d. dapat tegangan sebesar maksimal 5 Volt ke nodeMCU.
e. dapat tegangan sebesar maksimal 3 Volt ke nodeMCU.
4. Kabel Jumper
a. Untuk menyalurkan arus ke pin digital dari relay ke nodemcu
b. Untuk meenyalurkan arus ke pin GND dan VCC dari relay ke pin GND dan NCC pada
nodeMCU
c. Untuk menyalurkan arus digital dari relay ke pin digital dan analog pada nodemcu
d. Untuk menyalurkan arus GND ke pin digital dari relay ke nodemcu
e. Untuk menyalurkan arus voltage ke pin digital dari relay ke nodemcu
5. Kabel Mikro USB
a. Untuk upload program ke nodeMCU
b. Untuk jalur komunikasi antara laptop / pc dengan nodeMCU
c. Untuk mendapatkan sumber arus listrik dengan benar
d. Agar bisa digunakan untuk menguplaod / mengirim kode program
e. Driver belum diinstall dengan benar
6. Adaptor 12V
a. Pin Digital : Terhubungnya tegangan listrik pin digital pada nodemcu
b.
Pin Analog : Terhubungkan tegangan listrik pin analog pada nodemcu
c.
Pin GND : Terhubungnya tegangan listrik pin GND pada nodemcu
d.
Pin 3V : Terhubungnya tegangan listrik sebesar 3 volt pada pin 3V nodemcu
e.
Wifi : Terhubungnya tegangan listrik pada Wifi nodemcu
f.
Tombol RST : Terhubuingnya tegangan listrik pada tombol RST nodemcu
g.
Tombol Flash : Terhubungnya tegangan listrik pada tombol Flash nodemcu
h.
Konektor Mikro USB : Terhubungnya tegangan listrik pada jalur mikro usb nodemcu
i.
Koneksi dengan Arduino IDE : Terhubungnya tegangan listrik agar kode program bisa
tersimpan pada nodemcu
j. Koneksi dengan Driver CH340 : Terhubungnya tegangan listrik pada jalur kabel mikrpo
usb ke nodemcu
7. Install perangkat dan driver Menempatkan
http://arduino.esp8266.com/stable/package_esp8266com_index.jsonpada menu file -
preference
8. Install APK di Smarphone : (Lakukan screen shot hasil install file APK)
9. Upload Program di NodeMCU : (LAKUKAN PERUBAHAN SEBAGAI KREATIFITAS PADA PROGRAM DIBAWAH INI)

/****************************************

* KONTROL 4 LED

* ANDROID : KONTROL 4 LED By LPK Pembangunan

* Board : Internet of Things

* www.lpkpembangunan.com

**************************************/

#include <ESP8266WiFi.h>

const char* ssid = "ganti dengan Wifi di tempat Anda”;

const char* password = "ganti dengan password di tempat anda”;

//Enter the static ip that you want to set

IPAddress ip(192, 168, 0, 199); // ganti alamat ip sesuai di tempat anda

IPAddress gateway(192, 168, 0, 1); // ganti gateway sesuai di tempat anda

IPAddress subnet(255, 255, 255, 0);

WiFiServer server(80);

//========================================

void setup() {

Serial.begin(9600);

delay(10);

pinMode(D1, OUTPUT);

pinMode(D2, OUTPUT);
pinMode(D3, OUTPUT);

pinMode(D4, OUTPUT);

// Connect to WiFi network

Serial.println();

Serial.println();

Serial.print("Connecting to ");

Serial.println(ssid);

//Configuring the WI-FI INI UNTUK IP STATIC.

WiFi.config(ip, gateway, subnet);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

Serial.println("");

Serial.println("WiFi connected");

// Start the server

server.begin();

Serial.println("Server started");

// Print IP address

Serial.println(WiFi.localIP());

//=======================================

void loop() {

WiFiClient client = server.available();

if (!client) {

return;

Serial.println("new client");

while(!client.available()){

delay(1);

}
String req = client.readStringUntil('\r');

Serial.println(req);

client.flush();

String s ="HTTP/1.1 200 OK\r\nContent-Type:text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n";

if (req.indexOf("/L1/1") != 1){

digitalWrite(D5,HIGH);

s += "LED 1 ON";

else if (req.indexOf("/L1/0") != -1){

digitalWrite(D5,LOW);

s += "LED 1 OFF";

else if (req.indexOf("/L2/1") != -1){

digitalWrite(D6,HIGH);

s += "LED 2 ON";

else if (req.indexOf("/L2/0") != -1){

digitalWrite(D6,LOW);

s += "LED 2 OFF";

else if (req.indexOf("/L3/1") != -1){

digitalWrite(D7,HIGH);

s += "LED 3 ON";

else if (req.indexOf("/L3/0") != -1){

digitalWrite(D7,LOW);

s += "LED 3 OFF";

else if (req.indexOf("/L4/1") != -1){

digitalWrite(D8,HIGH);

s += "LED 4 ON";

else if (req.indexOf("/L4/0") != -1){


digitalWrite(D8,LOW);

s += "LED 4 OFF";

else {

Serial.println("invalid request");

client.stop();

return;

client.flush();

s += "</html>\n";

client.print(s);

delay(1);

Serial.println("Client disonnected");

10. Uplload Progfam APK (kirim FILE .AIA DARI program app inventor)
11. Kirim Kode Program :
#include "FirebaseESP8266.h"
#include <ESP8266WiFi.h>

//1. Change the following info


#define FIREBASE_HOST "https://kontrol-pertama.firebaseio.com/" //Your Firebase Project URL goes here
without "http:" and "/"
#define FIREBASE_AUTH "de7QW295cvnU8xzI51DzuJR248gVpUdZmQ8SDN09" //Your Firebase Database
Secret goes here
#define WIFI_SSID "IOT_NEW"
//your WiFi SSID for which yout NodeMCU connects
#define WIFI_PASSWORD "iot123321123"

//2. Define FirebaseESP8266 data object for data sending and receiving
FirebaseData firebaseData;
int relay=D1;
int relay2=D2;
int relay3=D3, relay4=D4;

void setup()
{
Serial.begin(115200);
pinMode(relay,OUTPUT);
pinMode(relay2,OUTPUT);
pinMode(relay3,OUTPUT);
pinMode(relay4,OUTPUT);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(300);
}
Serial.println();
Serial.print("Connected with IP: ");
Serial.println(WiFi.localIP());
Serial.println();

//3. Set your Firebase info

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);

//4. Enable auto reconnect the WiFi when connection lost


Firebase.reconnectWiFi(true);
}

void loop()
{
satu();
dua();
tiga();
empat();
}

void dua(){
if(Firebase.get(firebaseData, "/Kontrol_Pertama/FB2"))
{
//Success
Serial.print("Get variant data success, type = ");
Serial.println(firebaseData.dataType());

if(firebaseData.dataType() == "string"){
Serial.print("data = ");
Serial.println(firebaseData.stringData());
if(firebaseData.stringData()=="1"){
Serial.println("Nyala");
digitalWrite(relay2,HIGH);
}
else{
Serial.println("mati");
digitalWrite(relay2,LOW);
}
}else if(firebaseData.dataType() == "bool"){
if(firebaseData.boolData())
Serial.println("data = true");
else
Serial.println("data = false");
}

}else{
//Failed?, get the error reason from firebaseData

Serial.print("Error in get, ");


Serial.println(firebaseData.errorReason());
}
}
void empat(){

if(Firebase.get(firebaseData, "/Kontrol_Pertama/FB4"))
{
//Success
Serial.print("Get variant data success, type = ");
Serial.println(firebaseData.dataType());

if(firebaseData.dataType() == "string"){
Serial.print("data = ");
Serial.println(firebaseData.stringData());
if(firebaseData.stringData()=="1"){
Serial.println("Nyala");
digitalWrite(relay4,HIGH);
}
else{
Serial.println("mati");
digitalWrite(relay4,LOW);
}
}else if(firebaseData.dataType() == "bool"){
if(firebaseData.boolData())
Serial.println("data = true");
else
Serial.println("data = false");
}

}else{
//Failed?, get the error reason from firebaseData

Serial.print("Error in get, ");


Serial.println(firebaseData.errorReason());
}
}
void tiga(){

if(Firebase.get(firebaseData, "/Kontrol_Pertama/FB3"))
{
//Success
Serial.print("Get variant data success, type = ");
Serial.println(firebaseData.dataType());

if(firebaseData.dataType() == "string"){
Serial.print("data = ");
Serial.println(firebaseData.stringData());
if(firebaseData.stringData()=="1"){
Serial.println("Nyala");
digitalWrite(relay3,HIGH);
}
else{
Serial.println("mati");
digitalWrite(relay3,LOW);
}
}else if(firebaseData.dataType() == "bool"){
if(firebaseData.boolData())
Serial.println("data = true");
else
Serial.println("data = false");
}

}else{
//Failed?, get the error reason from firebaseData

Serial.print("Error in get, ");


Serial.println(firebaseData.errorReason());
}
}
void satu(){

if(Firebase.get(firebaseData, "/Kontrol_Pertama/FB1"))
{
//Success
Serial.print("Get variant data success, type = ");
Serial.println(firebaseData.dataType());

if(firebaseData.dataType() == "string"){
Serial.print("data = ");
Serial.println(firebaseData.stringData());
if(firebaseData.stringData()=="1"){
Serial.println("Nyala");
digitalWrite(relay,HIGH);
}
else{
Serial.println("mati");
digitalWrite(relay,LOW);
}
}
}else{
//Failed?, get the error reason from firebaseData

Serial.print("Error in get, ");


Serial.println(firebaseData.errorReason());
}

12. Kirim ulasan : <15 menit | => 15 menit | sesuai batas waktu | sebelum batas waktu

Anda mungkin juga menyukai