Kontrol Relay Dengan Arduino Dan - HTML
Kontrol Relay Dengan Arduino Dan - HTML
Dikesempatan kali ini kita akan mengontrol Relay dengan Arduino melalui
Webserver, atau bisa juga disebut Menyalakan lampu melalui Internet,
Tetapi kali ini hanya melalui jaringan lokal saja bukan dari jaringan publik
bro. Tapi jangan khawatir bro, project kita selanjutnya adalah
menyalakan lampu atau mengontrol relay melalui internet dengan
arduino, dan kita dapat mengontrol relay tersebut dari manapun di muka
bumi ini... Wuihhh keren pastinya! coba bayangkan ente lagi berkunjung
ke Negara tetangga, lalu ente mematikan peralatan listrik dirumah anda
dari jarak jauh, Awesome!
Perkembangan teknologi memang cukup pesat ya, dan kita selalu saja
merasa tertinggal, maka dari itu kita harus terus bersemangat
mengejarnya bro, agar kita tak tertinggal semakin jauh.
Okelah, langsung saja bro kalau begitu... mari kita simak dan praktekkan
Tutorial kali ini!
Breadboard (Projectboard)
Langkah - Langkahnya :
#include <SoftwareSerial.h>
#define DEBUG true
SoftwareSerial esp8266(10,11);
void setup()
{
Serial.begin(9600);
esp8266.begin(9600);
sendCommand("AT+RST\r\n",2000,DEBUG); //reset
modul
sendCommand("AT+CWMODE=1\r\n",1000,DEBUG);
//Set sebagai akses point
// Ubah SSID "Andy182" dan Password "boarduino"
sesuai Wifi anda
sendCommand("AT+CWJAP=\"Andy182\",\"boarduino
\"\r\n",3000,DEBUG);
delay(10000);
sendCommand("AT+CIFSR\r\n",1000,DEBUG);
//Mendapatkan IP adress
sendCommand("AT+CIPMUX=1\r\n",1000,DEBUG); //Set
untuk beberapa koneksi
sendCommand("AT+CIPSERVER=1,80\r\n",1000,DEBUG);
//Server aktif di port 80
Serial.println("Server sudah siap!");
}
void loop()
{
if(esp8266.available()) // cek jika esp mengirim pesan
{
if(esp8266.find("+IPD,"))
{
delay(1000);
int connectionId = esp8266.read()-48;
esp8266.find("pin=");
int pinNumber = (esp8266.read()-48);
int secondNumber = (esp8266.read()-48);
if(secondNumber>=0 && secondNumber<=9)
{
pinNumber*=10;
pinNumber +=secondNumber;
}
digitalWrite(pinNumber, !digitalRead(pinNumber));
String content;
content = "Pin Arduino Nomor ";
content += pinNumber;
content += " Sedang ";
if(digitalRead(pinNumber))
{
content += "HIDUP";
}
else
{
content += "MATI";
}
sendHTTPResponse(connectionId,content);
String closeCommand = "AT+CIPCLOSE=";
closeCommand+=connectionId;
closeCommand+="\r\n";
sendCommand(closeCommand,1000,DEBUG); //tutup
koneksi
}
}
}
String sendData(String command, const int timeout,
boolean debug)
{
String response = "";
int dataSize = command.length();
char data[dataSize];
command.toCharArray(data,dataSize);
esp8266.write(data,dataSize); // send the read character
to the esp8266
if(debug)
{
Serial.println("\r\n====== HTTP Respon Dari Arduino
======");
Serial.write(data,dataSize);
Serial.println("\r
\n=====================================
===");
}
long int time = millis();
while( (time+timeout) > millis())
{
while(esp8266.available())
{
char c = esp8266.read();
response+=c;
}
}
if(debug)
{
Serial.print(response);
}
return response;
}
void sendHTTPResponse(int connectionId, String content)
{
String httpResponse;
String httpHeader;
httpHeader = "HTTP/1.1 200 OK\r\nContent-Type:
text/html; charset=UTF-8\r\n";
httpHeader += "Content-Length: ";
httpHeader += content.length();
httpHeader += "\r\n";
httpHeader +="Connection: close\r\n\r\n";
httpResponse = httpHeader + content + " ";
sendCIPData(connectionId,httpResponse);
}
void sendCIPData(int connectionId, String data)
{
String cipSend = "AT+CIPSEND=";
cipSend += connectionId;
cipSend += ",";
cipSend +=data.length();
cipSend +="\r\n";
sendCommand(cipSend,1000,DEBUG);
sendData(data,1000,DEBUG);
}
String sendCommand(String command, const int timeout,
boolean debug)
{
String response = "";
esp8266.print(command);
long int time = millis();
while( (time+timeout) > millis())
{
while(esp8266.available())
{
char c = esp8266.read();
response+=c;
}
}
if(debug)
{
Serial.print(response); //Print respond di serial monitor
}
return response;
}
Sketch Pada baris berikut ini, ubah dan sesuaikan dengan SSID dan
Password Wifi anda
sendCommand("AT+CWJAP=\"Andy182\",\"boarduino
\"\r\n",10000);
/?pin= (Biarkanlah saja seperti itu, atau bisa juga ente ubah pada
sketch)
Share 0
22 comments:
Hafiz Arifin 17 September 2015 at 22:10
Selamat malam om....kalo misal saya ingin menyalakan led dengan
modul esp8266, arduino dengan android tanpa koneksi internet...bisa
tidak?atas penjelasannya terima kasih.... Hafizarifin2202@gmail.com
Reply
Replies
Reply
Replies
Reply
Replies
Reply
Replies
Reply
Replies
Reply
mohon pencerahannya
Reply
Replies
Reply
Replies
Reply
indra ciwulusan 8 October 2015 at 22:46
Mungkin penjelesan pembuatan app android di appinventor bida
dijelaskan juga spy bisa dibuat sesuai dengan kebutuhan masing2.
Terima kasih pak.
Reply
Replies
Reply
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"5e:cf:7f:00:54:27"
+CIFSR:STAIP,"192.168.1.2"
+CIFSR:STAMAC,"5c:cf:7f:00:54:27"
yg pertama IP esp dan yg kedua IP wifi. mau pake yg mana pak buat di
app android..
bdw udah coba dua2 masih ga ada respon. kalo at command udah OK
semua.. tolong penjelasannya.
Reply
Replies
+CIFSR:STAIP,"192.168.1.2"
+CIFSR:STAMAC,"5c:cf:7f:00:54:27"
Reply
RIRIN ANJELINA 12 October 2015 at 14:23
Tutorialnya kurang jelas bos..mohon lebih rinci biar pengunjung gak
bingung...
Reply
Replies
Reply
Add comment
~ Dilarang SARA
~ Dilarang PORNOGRAPHY
~ Dilarang SPAM
~ Dilarang MENINGGALKAN LINK AKTIF
~ Maaf untuk Anonymous, tidak bisa
Berkomentar.
‹ Home ›
View web version
Powered by Blogger.
Tentang Admin
Muhamad Andi Prasetyo
Follow 0