[PROBLEMA] Web server con arduino


ciao tutti, per l'esame di stato di quest'anno avevo pensato di portare un progettino sulla casa domonita, comandata tramite pagina web che risiederà su una micro sd e che sarà inviata da arduino (mega).
il mio problema è che una volta che arduino invia la pagina al client, e poi premo il tasto di accensione led, non succede nulla... sapreste aiutarmi?

code: [select]
#include <spi.h>
#include <ethernet.h>
#include <sd.h>

// mac address
byte mac[] = { 0x04 , 0x18 , 0xd6 , 0x00, 0xxx, 0xxx };
// eventuale indirizzo ip statico da utilizzare
byte ip[]= {192,168,1,50 };


ethernetserver server(80);
ethernetclient client;
file htmlfile;
string readstring;

int lcucina=3, lgarage=6, i, ltemp=8; //interno casa
int luce;
int vetl[]= {0,0,0,0,0,0,0,0};
byte x;


void setup() {
 
   
    if(!sd.begin(4)) { return; }
 
    // inizializzazione dell'ip, mac, e server
    ethernet.begin(mac, ip);
    server.begin();
   
    serial.begin(9600);
    while (!serial) {
      // wait serial port connect. needed leonardo only
    }
    serial.print("l'indirizzo ip del server e':  ");
    serial.println(ethernet.localip());
   
    // inizializzazione pin della shield ethernet
    pinmode(10, output);
   
    // luce cucina
    pinmode(lcucina, output);
   
    //luce garage
    pinmode(lgarage, output);
   
   
}
void loop() {
   
   
   
    //inizializzazione del server ed invio della pagina web 
    client = server.available();
    if(client){
     
      boolean currentlineisblank= true;
        while(client.connected()){
             if(client.available()){
                char c=client.read();
                serial.write(c);
               
               
                if (readstring.length() < 100) {
                    //store characters string
                    readstring += c;
                    //serial.write("c: "+ c);
                }
               
                if(c== '\n' && currentlineisblank){
                 
                   //serial.print(readstring);
                   
                   client.println("http/1.1 200 ok");
                   client.println("content-type: text/html");
                   client.println();
                   
         
                   //apertura file html da sd
                   htmlfile= sd.open("casadom.htm");
                   if(htmlfile){
                      while(htmlfile.available()){
                            x=(htmlfile.read());
                            client.print(char(x));
                            //serial.println(char(x));
                      }
                      htmlfile.close();
                   }
                   
                   
                 
                   //serial.print(readstring);
                   if(readstring.indexof("luc1") > 0) { 
                     serial.write("funziona");
                     digitalwrite(lcucina, high);   
                   }
                   
                   
                   /*
                   if(readstring.indexof("luc5") > 0) luce=5;         
                   if(readstring.indexof("luc1") > 0) luce=1;
                   
                   switch(luce){
                       case '5':
                            if(vetl[luce]==0){
                               digitalwrite(lgarage, high);
                               vetl[luce]=1;
                            }
                            else{
                               digitalwrite(lgarage, low);
                               vetl[luce]=0;
                            }
                       break;
                       
                       case '1':
                            if(vetl[luce]==0){
                               digitalwrite(lcucina, high);
                               vetl[luce]=1;
                            }
                            else{
                               digitalwrite(lcucina, low);
                               vetl[luce]=0;
                            }
                       break;
                   }
                   */
                   
                   
                   
                }
               
                if(c == '\n') {
                   currentlineisblank = true;         
                   
                }
                else if (c != '\r') {
                        currentlineisblank = false;
                }
               
             }
             readstring="";
        }
        client.stop();
        serial.println("client disconnected");
    }
    //fine inizializzazionem invio della pagina web e disconnessione client
   
    //inizio programma:
   
   
}


il tasto della pagina web è questo:
code: [select]
<input type="submit" onclick='/luc1' value="on/off">

la shield ethernet è una hanrun hr911105a 14/16   mentre la versione dell'ide è 1.5.8

ciao tutti, 
ti invitiamo presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: presentazioni
e leggere il regolamento: regolamento
- qui una serie di schede xxxpighi per collegamenti elettronici vari: abc - arduino basic connections
- qui le pinout delle varie schede xxxpighi: pinout
- qui una serie di link generali utili: link utili


Arduino Forum > International > Italiano > Generale (Moderator: leo72) > [PROBLEMA] Web server con arduino


arduino

Comments