bangnaga icon

Arduino 1.0 Ethernet Shield + PHP

bangnaga | PRO | 05/28/12 03:26:40 AM UTC | 0 ⭐ | 357 👁️ | Never ⏰ | []
C |

4.02 KB

|

None

|

0 👍

/

0 👎

Copy Code
 
//ARDUINO 1.0+ ONLY
//ARDUINO 1.0+ ONLY
 
#include <Ethernet.h>
#include <SPI.h>
boolean reading = false;
 
////////////////////////////////////////////////////////////////////////
//CONFIGURE
////////////////////////////////////////////////////////////////////////
  //byte ip[] = { 192, 168, 0, 199 };   //Manual setup only
  //byte gateway[] = { 192, 168, 0, 1 }; //Manual setup only
  //byte subnet[] = { 255, 255, 255, 0 }; //Manual setup only
 
  // if need to change the MAC address (Very Rare)
  byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
 
  EthernetServer server = EthernetServer(80); //port 80
////////////////////////////////////////////////////////////////////////
 
void setup(){
  Serial.begin(9600);
 
  //Pins 10,11,12 & 13 are used by the ethernet shield
 
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
 
  Ethernet.begin(mac);
  //Ethernet.begin(mac, ip, gateway, subnet); //for manual setup
 
  server.begin();
  Serial.println(Ethernet.localIP());
 
}
 
void loop(){
 
  // listen for incoming clients, and process qequest.
  checkForClient();
 
}
 
void checkForClient(){
 
  EthernetClient client = server.available();
 
  if (client) {
 
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    boolean sentHeader = false;
 
    while (client.connected()) {
      if (client.available()) {
 
        if(!sentHeader){
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          sentHeader = true;
        }
 
        char c = client.read();
 
        if(reading && c == ' ') reading = false;
        if(c == '?') reading = true; //found the ?, begin reading the info
 
        if(reading){
          Serial.print(c);
 
           switch (c) {
            case '2':
              //add code here to trigger on 2
              triggerPin(2, client);
              break;
            case '3':
            //add code here to trigger on 3
              triggerPin(3, client);
              break;
            case '4':
            //add code here to trigger on 4
              triggerPin(4, client);
              break;
            case '5':
            //add code here to trigger on 5
              triggerPin(5, client);
              break;
            case '6':
            //add code here to trigger on 6
              triggerPin(6, client);
              break;
            case '7':
            //add code here to trigger on 7
              triggerPin(7, client);
              break;
            case '8':
            //add code here to trigger on 8
              triggerPin(8, client);
              break;
            case '9':
            //add code here to trigger on 9
              triggerPin(9, client);
              break;
          }
 
        }
 
        if (c == '\n' && currentLineIsBlank)  break;
 
        if (c == '\n') {
          currentLineIsBlank = true;
        }else if (c != '\r') {
          currentLineIsBlank = false;
        }
 
      }
    }
 
    delay(1); // give the web browser time to receive the data
    client.stop(); // close the connection:
 
  } 
 
}
 
void triggerPin(int pin, EthernetClient client){
//blink a pin - Client needed just for HTML output purposes.  
  client.print("Turning on pin ");
  client.println(pin);
  client.print("<br>");
 
  digitalWrite(pin, HIGH);
  delay(25);
  digitalWrite(pin, LOW);
  delay(25);
}
 
==================================================================
Code PHP nya mulai dari sini:
 
<?php
//the arduino will store anything between '<' and '>'
//So if the output was <1kjhghk5> - the  arduino would read 1kjhghk5
 
//Just generates a random alphanumeric string
$what_the_arduino_reads = '1'.base_convert(rand(10000,9999999), 10, 36);
 
echo '<'.$what_the_arduino_reads.'>';
?>

Comments