Buongiorno a tutti,
Cerco di muovere i primi passi per gestire il mio progetto in modo immediato via "web" (in realtà solo dalla mia rete).
Ho "scritto" (riadattato) un piccolo codice che funziona bene e male a singhiozzo.
Bene, io non mi spiego come una cosa possa funzionare 3 volte su 4 perchè di norma, o va o non va!
Non credo il problema sia software però lo spero, altrimenti la scheda....
Testato con Arduino Uno / Mega, ide 1.0.3
Mac Firefox, Ihone/Ipad Safari
Pc vari, cellulari vari...
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF };
byte ip[] = { 10, 77, 114, 50 }; // Adeguare alla vs. rete
EthernetServer server(80);
String leggidalweb;
byte t=3;
byte ur=3;
void setup()
{
Ethernet.begin(mac, ip);
Serial.begin(9600);
}
void loop()
{
EthernetClient client = server.available();
if (client) {
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
leggidalweb.concat(c);
if (c == '\n' && currentLineIsBlank) {
//Serial.print(readString);
if(leggidalweb.indexOf("on_1") > 0) {Serial.println("out_1, on"); t=1;}
if(leggidalweb.indexOf("off_1") > 0) {Serial.println("out_1, off"); t=2;}
if(leggidalweb.indexOf("auto_1") > 0) {Serial.println("out_1, Auto"); t=3;}
if(leggidalweb.indexOf("on_2") > 0) {Serial.println("out_2, on"); ur=1;}
if(leggidalweb.indexOf("off_2") > 0) {Serial.println("out_2, off"); ur=2;}
if(leggidalweb.indexOf("auto_2") > 0) {Serial.println("out_2, Auto"); ur=3;}
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print("<html><head><title>ARDUINO Controllo WEB</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' ></head><body>");
client.print("
");
client.print("<span> Attuatore 1 </span>");
if (t==1) client.print("<input disabled=\"disabled\" maxLength=\"30\" size=\"9\" value=\"Acceso\" STYLE=\"background-color:#2EFE2E\"/>");
if (t==2) client.print("<input disabled=\"disabled\" maxLength=\"30\" size=\"9\" value=\"Spento\" STYLE=\"background-color:#FE2E2E\"/>");
if (t==3) client.print("<input disabled=\"disabled\" maxLength=\"30\" size=\"9\" value=\"Auto\" STYLE=\"background-color:#00BFFF\"/>");
client.print("<p><p/>");
client.print("<input type=\"button\" style=\"width:60px; height:40px\" value=\"On\" onclick =\" location.href='/?on_1'\">");
client.print("<input type=\"button\" style=\"width:60px; height:40px\" value=\"Off\" onclick =\" location.href='/?off_1'\">");
client.print("<input type=\"button\" style=\"width:60px; height:40px\" value=\"Auto\" onclick =\" location.href='/?auto_1'\">");
client.println("<hr \"color:#00FF00\" size=\"1\">"); // Linea Orizzontale
client.print("<p><p/>");
client.print("<span> Attuatore 2 </span>");
if (ur==1) client.print("<input disabled=\"disabled\" maxLength=\"30\" size=\"9\" value=\"Acceso\" STYLE=\"background-color:#2EFE2E\"/>");
if (ur==2) client.print("<input disabled=\"disabled\" maxLength=\"30\" size=\"9\" value=\"Spento\" STYLE=\"background-color:#FE2E2E\"/>");
if (ur==3) client.print("<input disabled=\"disabled\" maxLength=\"30\" size=\"9\" value=\"Auto\" STYLE=\"background-color:#00BFFF\"/>");
client.print("<p><p/>");
client.print("<input type=\"button\" style=\"width:60px; height:40px\" value=\"On\" onclick =\" location.href='/?on_2'\">");
client.print("<input type=\"button\" style=\"width:60px; height:40px\" value=\"Off\" onclick =\" location.href='/?off_2'\">");
client.print("<input type=\"button\" style=\"width:60px; height:40px\" value=\"Auto\" onclick =\" location.href='/?auto_2'\">");
client.println("<hr \"color:#00FF00\" size=\"1\">"); // Linea Orizzontale
client.print("<p><p/>");
client.println("</body></html>");
leggidalweb="";
delay(1);
client.flush();
client.stop();
}
}
}
}
}
funziona.tiff (13.2 KB)
nonfunziona.tiff (26.6 KB)