Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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.'>';
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement