Ciao ragazzi.
Ho il seguente problema e spero possiate darmi una mano perchè non ci sto capendo molto.
Lo scopo è recuperare una stringa dai dati che ricevo attraverso ulr, di seguito il codice che ho scritto vedendo degli esempi online, ma purtroppo non riesco a risolvere il problema.
#include <WString.h>
#include <Ethernet.h>
#include <SPI.h>
boolean reading = false;
byte mac[] = { 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX }; //indirizzo mac
//byte ip[] = { XXX, XXX, XXX, XXX }; //eventuale indirizzo ip
EthernetServer server = EthernetServer(80);
String readString = String(100);
void setup(){
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
Ethernet.begin(mac);
server.begin();
Serial.println(Ethernet.localIP());
}
void loop(){
checkForClient();
}
void checkForClient(){
EthernetClient client = server.available();
if(client){
boolean currentLineIsBlank = true;
boolean sentHeader = false;
while (client.connected()){
if (client.available()){
if(!sentHeader){
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
sentHeader = true;
}
char c = client.read();
if (readString.length() < 100) {
//store characters to string
readString.concat(c);
}
if(reading && c == ' ') reading = false;
if(c == '
In sostanza vorrei scrivere un url del tipo:
-> indirizzo_ip/led1=0 (e spengo il led),
-> indirizzo_ip/led1=1 (e accendo il led),
nel codice stavo provando leggendo il simbolo $, ma con scarsi risultati...
Vi ringrazio in anticipo per l'aiuto.) reading = true;
if(reading){
if(c == readString.indexOf("led1=0")) {
Serial.println("Spegni led1");
}
else if(c == readString.indexOf("led1=1")) {
Serial.println("Accendi led1");
}
else if(c == readString.indexOf("led2=0")){
Serial.println("Spegni led2");
}
else if(c == readString.indexOf("led2=1")){
Serial.println("Accendi led2");
}
}
if (c == '\n' && currentLineIsBlank) break;
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
//Termine if
}
//termine while
}
delay(1); // give the web browser time to receive the data
client.stop(); // close the connection:
//termine if(client)
}
//termine function
}
In sostanza vorrei scrivere un url del tipo:
-> indirizzo_ip/led1=0 (e spengo il led),
-> indirizzo_ip/led1=1 (e accendo il led),
nel codice stavo provando leggendo il simbolo $, ma con scarsi risultati...
Vi ringrazio in anticipo per l'aiuto.