Minggu, 02 November 2014

Aplikasi Pengendali Alat Rumah tangga Menggunakan Website

Ho to Access Remote Electrically using Http or URL



This Code For Web/Http:

<?php
session_start();
if(!isset($_SESSION["awals"])){
    $_SESSION["L1"]="a";
    $_SESSION["L2"]="b";
    $_SESSION["L3"]="c";
    $_SESSION["L4"]="d";
    $_SESSION["L5"]="e";
    }
?>
<h1><blink><font  color="red">Kontrol Lampu VIA WEB</font></blink></h1>
<form name="formControl" method="POST" action="">
<?php
if($_SESSION["L1"]=="a"){
  echo'<input type="radio" name="rad" id="rad1" value="A">Lampu 1 OFF<br>';
}
elseif($_SESSION["L1"]=="A"){
 echo'<input type="radio" name="rad" id="rad1" value="a">Lampu 1 ON<br>';
}

if($_SESSION["L2"]=="b"){
  echo'<input type="radio" name="rad" id="rad2" value="B">Lampu 2 OFF<br>';
}
elseif($_SESSION["L2"]=="B"){
 echo'<input type="radio" name="rad" id="rad2" value="b">Lampu 2 ON<br>';
}

if($_SESSION["L3"]=="c"){
  echo'<input type="radio" name="rad" id="rad3" value="C">Lampu 3 OFF<br>';
}
elseif($_SESSION["L3"]=="C"){
 echo'<input type="radio" name="rad" id="rad3" value="c">Lampu 3 ON<br>';
}

if($_SESSION["L4"]=="d"){
  echo'<input type="radio" name="rad" id="rad4" value="D">Lampu 4 OFF<br>';
}
elseif($_SESSION["L4"]=="D"){
 echo'<input type="radio" name="rad" id="rad4" value="d">Lampu 4 ON<br>';
}
echo"<hr>";
if($_SESSION["L5"]=="e"){
  echo'<input type="radio" name="rad" id="rad5" value="E">ALL OFF<br>';
}
elseif($_SESSION["L5"]=="E"){
 echo'<input type="radio" name="rad" id="rad5" value="e">ALL ON<br>';
}

  echo"<hr>";
  echo'<input type="submit" name="Kirim" id="Kirim" value="Kirim Perintah" />';
  ?>
</form>
<hr>
<?php
//http://192.168.1.210/?oki
if(isset($_POST["Kirim"])){
    $_SESSION["awals"]="Wellcome";
if($_POST["rad"]==A){
    $_SESSION["L1"]="A";
    die("<script>location.href='http://192.168.1.210/?A';</script>");
}
else if($_POST["rad"]=="a"){
    $_SESSION["L1"]="a";
    die("<script>location.href='http://192.168.1.210/?a';</script>");
}
else if($_POST["rad"]=="B"){
        $_SESSION["L2"]="B";
    die("<script>location.href='http://192.168.1.210/?B';</script>");
}
else if($_POST["rad"]=="b"){
    $_SESSION["L2"]="b";
    die("<script>location.href='http://192.168.1.210/?b';</script>");
}
else if($_POST["rad"]=="C"){
        $_SESSION["L3"]="C";
    die("<script>location.href='http://192.168.1.210/?C';</script>");
}
else if($_POST["rad"]=="c"){
        $_SESSION["L3"]="c";
    die("<script>location.href='http://192.168.1.210/?c';</script>");
}
else if($_POST["rad"]=="D"){
        $_SESSION["L4"]="D";
    die("<script>location.href='http://192.168.1.210/?D';</script>");
}
else if($_POST["rad"]=="d"){
        $_SESSION["L4"]="d";
    die("<script>location.href='http://192.168.1.210/?d';</script>");
}
else if($_POST["rad"]=="E"){
    $_SESSION["L1"]="A";
    $_SESSION["L2"]="B";
    $_SESSION["L3"]="C";
    $_SESSION["L4"]="D";
    $_SESSION["L5"]="E";
    die("<script>location.href='http://192.168.1.210/?E';</script>");
}
else if($_POST["rad"]=="e"){
    $_SESSION["L1"]="a";
    $_SESSION["L2"]="b";
    $_SESSION["L3"]="c";
    $_SESSION["L4"]="d";
    $_SESSION["L5"]="e";
    die("<script>location.href='http://192.168.1.210/?e';</script>");
}
else{
    echo"<hr>PERINTAH TAK DIKENAL !!!!<hr>";;
}
}

?>




This code for Arduino:
NB: code sbb sebagai code pada arduino agar bisa dikendalikan oleh tiga pengendali al;
-Tombol Manual
-Komunikasi Serial (bisa Oleh PC / SMS)
-Via Web / Http


#define WEBDUINO_FAIL_MESSAGE "<h1>Request Failed</h1>"
#include "SPI.h"
#include "avr/pgmspace.h"
#include "Ethernet.h"
#include "WebServer.h"

#define VERSION_STRING "0.1"
static uint8_t mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
static uint8_t ip[] = { 192, 168, 1, 210 };

String inputString = "";         // a string to hold incoming data
boolean stringComplete = false;  // whether the string is complete
const int ledPinA =  24;      // the number of the LED pin
const int ledPinB =  26;      // the number of the LED pin
const int ledPinC =  28;      // the number of the LED pin
const int ledPinD =  30;      // the number of the LED pin

const int buttonPin1 = 32;
const int buttonPin2 = 34;
const int buttonPin3 = 36;
const int buttonPin4 = 38;

int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int buttonState4 = 0;

int K1 = 0 ;
int K2 = 0 ;
int K3 = 0 ;
int K4 = 0 ;

#define PREFIX ""
WebServer webserver(PREFIX, 80);
void helloCmd(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete){
server.httpSuccess();
  if (type == WebServer::HEAD)
    return;

  server.printP(Page_start);
  switch (type){
    case WebServer::GET:
        server.printP(Get_head);
        break;
    case WebServer::POST:
        server.printP(Post_head);
        break;
    default:
        server.printP(Unknown_head);
    }
    server.printP(Default_head);
    server.printP(tail_complete ? Good_tail_begin : Bad_tail_begin);   
    server.print("GetData:");
    server.print(url_tail);//BRAVO
    server.printP(Tail_end);
    server.printP(Page_end);
   

    char *inChar=  getD;//.charAt(0);//(char)Serial.read();
   
     if (strstr(inChar,"A")){  digitalWrite(ledPinA, LOW); }
     else if (strstr(inChar,"a")) {  digitalWrite(ledPinA, HIGH); }

     if (strstr(inChar,"B")) {  digitalWrite(ledPinB, LOW); }
     else if (strstr(inChar,"b")) {  digitalWrite(ledPinB, HIGH); }

     if (strstr(inChar,"C")) {  digitalWrite(ledPinC, LOW); }
     else if (strstr(inChar,"c")) {  digitalWrite(ledPinC, HIGH); }

     if (strstr(inChar,"D")) {  digitalWrite(ledPinD, LOW); }
     else if (strstr(inChar,"d")) {  digitalWrite(ledPinD, HIGH); }
     
     if (strstr(inChar,"E")) { 
                  digitalWrite(ledPinA, LOW);
                  digitalWrite(ledPinB, LOW);
                  digitalWrite(ledPinC, LOW);
                  digitalWrite(ledPinD, LOW); }
   
     else if (strstr(inChar,"e")) { 
                  digitalWrite(ledPinA, HIGH);
                  digitalWrite(ledPinB, HIGH);
                  digitalWrite(ledPinC, HIGH);
                  digitalWrite(ledPinD, HIGH);
      }
     
}


void rawCmd(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete){
  server.httpSuccess();
  if (type == WebServer::HEAD)
    return;

  server.printP(Page_start);
  switch (type){
    case WebServer::GET:
        server.printP(Get_head);
        break;
    case WebServer::POST:
        server.printP(Post_head);
        break;
    default:
        server.printP(Unknown_head);
    }

    server.printP(Raw_head);
    server.printP(tail_complete ? Good_tail_begin : Bad_tail_begin);
    server.print(url_tail);
   
    server.printP(Tail_end);
    server.printP(Page_end);

}

#define NAMELEN 32
#define VALUELEN 32

void parsedCmd(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete){
  URLPARAM_RESULT rc;
  char name[NAMELEN];
  char value[VALUELEN];

  server.httpSuccess();

  if (type == WebServer::HEAD)
    return;

  server.printP(Page_start);
  switch (type){
    case WebServer::GET:
        server.printP(Get_head);
        break;
    case WebServer::POST:
        server.printP(Post_head);
        break;
    default:
        server.printP(Unknown_head);
    }

    server.printP(Parsed_head);
    server.printP(tail_complete ? Good_tail_begin : Bad_tail_begin);
    server.print(url_tail);
    server.printP(Tail_end);

  if (strlen(url_tail)){
    server.printP(Parsed_tail_begin);
    while (strlen(url_tail)){
      rc = server.nextURLparam(&url_tail, name, NAMELEN, value, VALUELEN);
      if (rc == URLPARAM_EOS)
        server.printP(Params_end);
       else{
        server.print(name);
        server.printP(Parsed_item_separator);
        server.print(value);    
        server.printP(Tail_end);
        }
      }
    }
  if (type == WebServer::POST){
    server.printP(Post_params_begin);
    while (server.readPOSTparam(name, NAMELEN, value, VALUELEN)){
      server.print(name);
      server.printP(Parsed_item_separator);
      server.print(value);
      server.printP(Tail_end);
    }
  }
  server.printP(Page_end);
}

void my_failCmd(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete){
server.httpFail();
  if (type == WebServer::HEAD)
    return;

  server.printP(Page_start);
  switch (type){
    case WebServer::GET:
        server.printP(Get_head);
        break;
    case WebServer::POST:
        server.printP(Post_head);
        break;
    default:
        server.printP(Unknown_head);
    }

    server.printP(Default_head);
    server.printP(tail_complete ? Good_tail_begin : Bad_tail_begin);
    server.print(url_tail);
    server.printP(Tail_end);
    server.printP(Page_end);

}




void setup(){
  Ethernet.begin(mac, ip);
  webserver.setDefaultCommand(&helloCmd);
  webserver.setFailureCommand(&my_failCmd);
  webserver.addCommand("index.html", &helloCmd);
  webserver.addCommand("raw.html", &rawCmd);
  webserver.addCommand("parsed.html", &parsedCmd);


  pinMode(buttonPin1, INPUT);
  pinMode(buttonPin2, INPUT);
  pinMode(buttonPin3, INPUT);
  pinMode(buttonPin4, INPUT);

  pinMode(ledPinA, OUTPUT); 
  pinMode(ledPinB, OUTPUT); 
  pinMode(ledPinC, OUTPUT); 
  pinMode(ledPinD, OUTPUT); 
 
  Serial.begin(9600);
  inputString.reserve(200);
  digitalWrite(ledPinA, HIGH);
  digitalWrite(ledPinB, HIGH);
  digitalWrite(ledPinC, HIGH);
  digitalWrite(ledPinD, HIGH);
 
  webserver.begin();
}

void loop(){
  char buff[64];
  int len = 64;

  webserver.processConnection(buff, &len);
 
  buttonState1 = digitalRead(buttonPin1);
  buttonState2 = digitalRead(buttonPin2);
  buttonState3 = digitalRead(buttonPin3);
  buttonState4 = digitalRead(buttonPin4);

if (buttonState1 == HIGH) {
  if(K1 == 0){ 
    digitalWrite(ledPinA, LOW);
    K1=1; }
  else{
    digitalWrite(ledPinA, HIGH);
    K1=0; }
    delay (500) ; }                                                                             

//------------------------
if (buttonState2 == HIGH) {
  if(K2 == 0){ 
    digitalWrite(ledPinB, LOW);
    K2=1;  }
  else{
    digitalWrite(ledPinB, HIGH);
    K2=0;  }
    delay (500) ;  }                                                                             
//------------------------
if (buttonState3 == HIGH) {
  if(K3 == 0){ 
    digitalWrite(ledPinC, LOW);
    K3=1;  }
  else{
    digitalWrite(ledPinC, HIGH);
    K3=0;  }
    delay (500) ;  }                                                                             

//------------------------
if (buttonState4 == HIGH) {
  if(K4 == 0){ 
    digitalWrite(ledPinD, LOW);
    K4=1;  }
  else{
    digitalWrite(ledPinD, HIGH);
    K4=0;  }
    delay (500) ;  }                                                                             

//------------------------

 if (stringComplete) {
    Serial.println(inputString);
    inputString = "";
    stringComplete = false; }}

void serialEvent() {
  while (Serial.available()) {
  char inChar = (char)Serial.read();
  inputString += inChar;
  stringComplete = true;
   
     if (inChar == 'A') {  digitalWrite(ledPinA, LOW); }
     else if (inChar == 'a') {  digitalWrite(ledPinA, HIGH); }

     if (inChar == 'B') {  digitalWrite(ledPinB, LOW); }
     else if (inChar == 'b') {  digitalWrite(ledPinB, HIGH); }

     if (inChar == 'C') {  digitalWrite(ledPinC, LOW); }
     else if (inChar == 'c') {  digitalWrite(ledPinC, HIGH); }

     if (inChar == 'D') {  digitalWrite(ledPinD, LOW); }
     else if (inChar == 'd') {  digitalWrite(ledPinD, HIGH); }
     
     if (inChar == 'E') { 
                  digitalWrite(ledPinA, LOW);
                  digitalWrite(ledPinB, LOW);
                  digitalWrite(ledPinC, LOW);
                  digitalWrite(ledPinD, LOW); }
   
     else if (inChar == 'e') { 
                  digitalWrite(ledPinA, HIGH);
                  digitalWrite(ledPinB, HIGH);
                  digitalWrite(ledPinC, HIGH);
                  digitalWrite(ledPinD, HIGH); }
      }
    }
//=====================================================   
   
    Selamat Mencoba........




Bagi yang ingin mendalami kembali atau  pengembangan lebih lanjut rekan -rekan masih dibuka kesempatan belajar lg / Booking Kelas di
http://www.lp2maray.com


   


Tidak ada komentar:

Posting Komentar