Pages: [1]   Go Down
Author Topic: ethernet shield...  (Read 1049 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 29
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola!

hasta ahora he conseguido realizar un pequeño servidor web que se guarda en el mismo arduino. puedo acceder a el desde cualquier ordenador abriendo el puerto del router,,por ahora nada nuevo,,,

tengo la siguiente web:
"<HTML>"
      "<HEAD>Activar LEDs</HEAD>"
      
      "<BODY>"
            "<CENTER><H1>CONTROL DE LEDS ETHERNET</H1></CENTER>"
                "<CENTER><H1>ARDUINO</H1></CENTER>"

      "<FORM METHOD = \"GET\" >"
      "<INPUT TYPE = submit NAME = b1 VALUE = on>"
      "<INPUT TYPE = submit NAME = b2 VALUE = off>"
        
      "</FORM>"
      "</BODY>"
"</HTML>"

en la que me aparecen dos botones..

simplemente lo que quiero saber es cmoo hacer para que al pulsar esos botones (o cualquier otor tipo), me envie datos al arduino,, no se como hacerlo....
en principio con que me envie un 1 o 0 me vale, ya que si consigo eso,,puedo enviar cualquier dato.

Agradeceria cualquier ayuda =)!!
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 29
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Me explico un poco mejor, el mismo porgrama de arduino contiene la pagina web (muy simple), he probrado con tipos de botones "button" y "submit",,, pero no consigo que envie datos...

Para leer los datos uso client.read () en el mismo porgrama, pero este nunca cambia de valor.

entonces,,,¿ como hago para un boton de la pagina web, envie al mismo arduino por ejemplo comandos simples como a, b ,c...?

gracias de nuevo
Logged

Euskadi
Offline Offline
God Member
*****
Karma: 16
Posts: 721
Arduinotarrak
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tal vez esto te ayude:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1274596787

Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 29
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok muchas gracias, voy a intentarlo y si lo consigo os cuento como =)
Logged

Mx
Offline Offline
Newbie
*
Karma: 0
Posts: 12
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

mira yo logré encontrar un codigo y lo modifiqué está muy facil y rápido de entender:

Code:
#include <Ethernet.h>
#include <SPI.h>
/*
    Simple Ethernet Test
 
 Arduino server outputs simple text to browser
 
     The circuit:
     * Arduino Duemilanove
 * Arduino Ethernet shield
 * Basic FTDI breakout 5V
 *LED connected to GND and digital pin 4 via resistor
    
 By Minde
     http://www.sciencprog.com/
 */

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = {192, 168, 2, 210 };            // ip in lan
byte gateway[] = {192, 168, 2, 254 };            // internet access via router
byte subnet[] = {255, 255, 255, 0 };                   //subnet mask
Server server(80);                                      //server port
byte sampledata=50;            //some sample data - outputs 2 (ascii = 50 DEC)            
int ledPin = 4;  // LED pin
String readString = String(30); //string for fetching data from address
boolean LEDON = false; //LED status flag
void setup(){
  //start Ethernet
  Ethernet.begin(mac, ip, gateway, subnet);
  //Set pin 4 to output
  pinMode(ledPin, OUTPUT);  
  //enable serial datada print  
  Serial.begin(9600);
}
void loop(){
  // Create a client connection
  Client client = server.available();
  if (client) {
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        //read char by char HTTP request
        if (readString.length() < 30)
        {
          //store characters to string
          readString += c;
        }  
        //output chars to serial port
        Serial.print(c);
        //if HTTP request has ended
        if (c == '\n') {
          //lets check if LED should be lighted
          if(readString.trim() == ("GET /?L=1 HTTP/1.1"))
          {
            //led has to be turned ON
            digitalWrite(ledPin, HIGH);    // set the LED on
            LEDON = true;
          }
          else{
            //led has to be turned OFF
            digitalWrite(ledPin, LOW);    // set the LED OFF
            LEDON = false;            
          }
          // now output HTML data starting with standart header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          //set background to yellow
          client.print("<body style=background-color:yellow>");
          //send first heading
          client.println("<font color='red'><h1>HTTP test routines</font></h1>");
          client.println("<font color='red'><h1>" + readString + "</font></h1>");
          client.println("<hr />");
          client.println("<hr />");
          //output some sample data to browser
          client.println("<font color='blue' size='5'>Sample data: ");
          client.print(sampledata);//lets output some data
          client.println("<br />");//some space between lines
          client.println("<hr />");
          //drawing simple table
          client.println("<font color='green'>Simple table: ");
          client.println("<br />");
          client.println("<table border=1><tr><td>row 1, cell 1</td><td>row 1, cell 2</td></tr>");
          client.println("<tr><td>row 2, cell 1</td><td>row 2, cell 2</td></tr></table>");          
          client.println("<br />");
          client.println("<hr />");
          //controlling led via checkbox
          client.println("<h1>LED control</h1>");
          //address will look like http://192.168.1.110/?L=1 when submited
          client.println("<form method=get name=LED><input type=checkbox name=L value=1>LED<br><input type=submit value=submit></form>");      
          client.println("<br />");
          //printing LED status
          client.print("<font size='5'>LED status: ");
          if (LEDON)
            client.println("<font color='green' size='5'>ON");
          else
            client.println("<font color='grey' size='5'>OFF");    
          client.println("<hr />");
          client.println("<hr />");
          client.println("</body></html>");
          //clearing string for next read
          readString="";
          //stopping client
          client.stop();
        }
      }
    }
  }
}

si tienes alguna duda avisame  smiley-grin
« Last Edit: October 15, 2010, 04:04:49 pm by vpablo » Logged

Pages: [1]   Go Up
Jump to: