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?
il tasto della pagina web è questo:
la shield ethernet è una hanrun hr911105a 14/16 mentre la versione dell'ide è 1.5.8
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
Post a Comment