lettura dati sensore su pagina web

Ciao a tutti, il mio piccolo progetto non ne vuole sapere di crescere, quindi ho deciso di porvi una domanda. Ho una shield ethernet collegata su rete pubblica e un sensore di corrente più una lampada, sulla pagina web ho due pulsanti per accendere e spegnere la lampada fin ora tutto bene la lampada si accende e si spegne, la domanda è come posso far stampare i valori che legge il sensore sulla pagina web? ho provato con client.print(); ma niente.

GRAZIE A TUTTI IN ANTICIPO!

Quindi questo l’hai risolto?

Se non metti uno sketch di quello che hai fatto …

cio

ecco questo è lo scketch:

#include <EmonLib.h>
#include <SPI.h>
#include <Client.h>
#include <Ethernet.h>
#include <Server.h>
EnergyMonitor emon1;
//DETERMINA IL MAC E L’IP DELLA PAGINA WEB
byte mac = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
byte ip = {192, 168, 1, 177};

//PORTA DI COMUNICAZIONE
EthernetServer server(8080);

//SCRIVE IL NUMERO DI PIN CORRISPONDENTE AI LED
int ledPin1 = 9;
int ledPin2 = 8;

//LUNGHEZZA DELLA STRINGA INVIATA
String readString = String(30);

//IMPOSTA ALL’AVVIO I LED SPENTI
boolean LEDON1 = false;
boolean LEDON2 = false;

void setup(){
Ethernet.begin(mac, ip);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
emon1.current(2, 17);
Serial.begin(9600);
}

void loop(){
EthernetClient client = server.available();
if (client) //SE ESISTE UN CLIENTE
{
while (client.connected()) // SE IL CLIENTE E’ CONNESSO
{
if (client.available()) //SE E’ TUTTO OK PER INIZIARE
{
char c = client.read(); //LEGGI I SINGOLI CARATTERI INVIATI
if (readString.length() < 100)
{
readString += c; //CONCATENA I CARATTERI
}
if (c == ‘\n’) //VEDE SE C’E’ IL CARATTERE DI FINE STRINGA, PER INDIVIDUARE CHE E’ FINITA
{
if(readString.indexOf(“L1=1”) > 0) //IMPOSTA UNA VARIABILE DI TIPO BOLEANA (VERO-FALSO) PER GLI STATI DEL LED
{
LEDON1 = true;
}
else if (readString.indexOf(“L2=1”) > 0)
{
LEDON2 = true;
}
else if(readString.indexOf(“L1=0”) > 0)
{
LEDON1 = false;
}
else if (readString.indexOf(“L2=0”) > 0)
{
LEDON2 = false;
}

//CREA LA PAGINA HTML (VERRA’ AGGIORNATA AD OGNI ISTRUZIONE NUOVA)
client.println(“HTTP/1.1 200 OK”);
client.println(“Content-Type: text/html”);
client.println();
client.println("");

//TITOLO LED 1
client.println(“

Led 1

”);

//OPERAZIONI DA FARE QUANDO SI CLICCA PER ATTIVARE LEDON1:
if (LEDON1) {
digitalWrite(ledPin1, HIGH);
client.println("Stato: ON
");
}
else {

//OPERAZIONI DA FARE QUANDO SI CLICCA PER SPEGNERE LEDON1:
digitalWrite(ledPin1, LOW );
client.println("Stato: OFF
");
}

//CREA I PULSANTI RELATIVI A LED1
client.println(“SPEGNI”);
client.println(“ACCENDI”);

//INSERISCE IL DIVISORE
client.println("


");

//TTOLO LED2
client.println(“

Led 2

”);

//OPERAZIONI DA FARE QUANDO SI CLICCA PER ATTIVARE LEDON2:
if (LEDON2) {
digitalWrite(ledPin2, HIGH);
client.println(“Stato: ON
“);
do
{
double Irms = (emon1.calcIrms(1480)-0.052); // Calculate Irms only (1480: no. of samples)
client.print(Irms*230.0); // Apparent power
client.print(” dfafa”);
client.print(Irms); // Irms
}while();

}
else {

//OPERAZIONI DA FARE QUANDO SI CLICCA PER SPEGNERE LEDON2:
digitalWrite(ledPin2, LOW);
client.println("Stato: OFF
");
}

//CREA I PULSANTI RELATIVI A LED2
client.println(“SPEGNI”);
client.println(“ACCENDI”);

//CHIUDE I TAG HTML PER LA PAGINA
client.println("");

//SI PREPARA PER UNA NUOVA ISTRUZIONE
readString="";

//TERMINA LE OPERAZIONI CLIENTE
client.stop();
}
}
}
}
}

Ora riesco a leggerli però se poi faccio un altra operazione misi blocca è per questo che nel while non ho messo niente per aspettare un vostro consiglio grazie. Comunque si sono riuscito a collegare arduino su rete pubblica era un errore sciocco, ma lho capito grazie a voi. Dinuovo grazie siette tutti grandi:)

stavo anche pensando di usare millis(); si puo?