Aiutate ancora ovvero problemi con Ethernet Server!

Ragazzi ho un nuovo problema, scusate ancora se vi disturbo.
Mi sono registrato su domotichome ho realizzato un master ed un device copio il codice sull’ide di arduino
ma non me lo fà caricare mi dice errore.
Questo è il messaggio di errore:

sketch_feb03a:8: error: no matching function for call to ‘Server::Server(int)’

As of Arduino 1.0, the Server class in the Ethernet library has been renamed to EthernetServer.

C:\Program Files\Arduino\hardware\arduino\cores\arduino/Server.h:4: note: candidates are: Server::Server()
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Server.h:4: note: Server::Server(const Server&)
sketch_feb03a:8: error: cannot declare variable ‘server’ to be of abstract type ‘Server’
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Server.h:4: note: because the following virtual functions are pure within ‘Server’:
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Print.h:48: note: virtual size_t Print::write(uint8_t)
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Server.h:6: note: virtual void Server::begin()
sketch_feb03a.cpp: In function ‘void loop()’:
sketch_feb03a:22: error: ‘class Server’ has no member named ‘available’
sketch_feb03a:22: error: cannot declare variable ‘client’ to be of abstract type ‘Client’
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:7: note: because the following virtual functions are pure within ‘Client’:
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:12: note: virtual size_t Client::write(uint8_t)
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:13: note: virtual size_t Client::write(const uint8_t*, size_t)
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:14: note: virtual int Client::available()
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:15: note: virtual int Client::read()
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:17: note: virtual int Client::peek()
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:18: note: virtual void Client::flush()
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:10: note: virtual int Client::connect(IPAddress, uint16_t)
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:11: note: virtual int Client::connect(const char*, uint16_t)
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:16: note: virtual int Client::read(uint8_t*, size_t)
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:19: note: virtual void Client::stop()
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:20: note: virtual uint8_t Client::connected()
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Client.h:21: note: virtual Client::operator bool()

questo è il codice che carico

#include <SPI.h>
#include <Ethernet.h> 

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xBE };
byte ip[] = { 192 ,168 ,0 ,102 };
byte gateway[] = { 192 ,168 ,0 ,1 };
byte subnet[] = { 255 ,255 ,255 ,0 };
Server server(80); 

String readString = String(30); 

void setup(){
Ethernet.begin(mac, ip, gateway, subnet);
delay(1000);
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
Serial.begin(9600);
} 

void loop(){
Client client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 30)
{
readString = readString + c;
}
if (c == '\n') {
Serial.print(readString);
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();

if(readString.startsWith("GET /?out=5&status=1"))
{Serial.print("\n 5 HIGH \n");
digitalWrite(5, HIGH);
client.print("{\"status\" : \"1\" , \"out\" : \"");
client.print(5);
client.print("\"}");
}
if(readString.startsWith("GET /?out=5&status=0"))
{Serial.print("\n 5 LOW \n");
digitalWrite(5, LOW);
client.print("{\"status\" : \"0\" , \"out\" : \"");
client.print(5);
client.print("\"}");
}

if(readString.startsWith("GET /?out=all"))
{
Serial.print("\n OUT ALL\n");
client.print("{\"ip\" : \"192.168.0.102\", ");
client.print("\"devices\" : ");
client.print("[{ \"type\" : \"light\", \"name\" : \"Led\", \"out\" : \"");
client.print("5");
client.print("\"}");
client.print("]}");
}
readString="";
client.stop();
} } } } }

Dov’e l’errore?

Ciao

come ti dice l'IDE, lo sketch è per una versione vecchia di Arduino (0.23?) prova con quella... altrimenti va rivisto alla luce delle modifiche introdotte nella parte Ethernet dalla 1.0
bye

Per favore togli il titolo tutto in maiuscolo e metti qualcosa di più consono alla discussione. :roll_eyes:

Per favore togli il titolo tutto in maiuscolo e metti qualcosa di più consono alla discussione

+1
con un titolo così rischi che nessuno apra il thread....

Cmq, il codice di domotichome non è stato aggiornato per Arduino IDE 1.0, infatti trovi come seconda riga nel messaggio di errore postato:

As of Arduino 1.0, the Server class in the Ethernet library has been renamed to EthernetServer.

quindi: o modifichi lo skecth come suggerito, oppure usi un IDE 0023, come suggerito da lucadentella

leo72:
Per favore togli il titolo tutto in maiuscolo e metti qualcosa di più consono alla discussione. :roll_eyes:

è la seconda volta che lo chiedi oggi :slight_smile: , sarà così difficile cambiare il titolo?

Perchè invece non rimuovete il post… punto e basta senza avvertire e giustificare? l’amministatore di condominio :grin: dov’è !!!

In realtà il titolo è efficace :stuck_out_tongue:
Io ho aperto il topic 4 volte oggi O_o

sarà efficace, però il regolamento, diciamo il buon senso dice che "scrivere in maiuscolo significa urlare", "pretendere", è una regola. Perchè tutti la rispettiamo e alcuni no, anche a te Daniela ti è stato chiesto di cambiare il titolo in Italiano, siamo su un forum ITA, lo sappiamo che sai l'Inglese ... però :slight_smile:
Se faccio una ricerca all'interno del forum ita scriverò parole in ita e il tuo treadh non uscirà ]:slight_smile:

pablos:
sarà efficace, però il regolamento, diciamo il buon senso dice che “scrivere in maiuscolo significa urlare”, “pretendere”, è una regola. Perchè tutti la rispettiamo e alcuni no, anche a te Daniela ti è stato chiesto di cambiare il titolo in Italiano, siamo su un forum ITA, lo sappiamo che sai l’Inglese … però :slight_smile:
Se faccio una ricerca all’interno del forum ita scriverò parole in ita e il tuo treadh non uscirà ]:slight_smile:

Polemicone pablos :*
Per quanto riguarda “l’aiutate ancora” stavo ovviamente scherzando (avevo messo la faccina e gli occhioni) :slight_smile:

[OT]
Per quanto riguarda il titolo in inglese… mica era sfoggio di lingua :slight_smile:
Facevo riferimento ad un articolo specifico sul playground (linkato), intitolato in quel modo e cercavo aiuto su quello… chiamare il topic come l’articolo su cui cerco aiuto mi sembra(va) appropriato.
Non era una cosa del tipo “datemi una mano a scrivere un buon web server…” messa in inglese per fare figo :slight_smile:
Se un domani qualcuno cerca aiuto su quell’articolo (come avevo già fatto io senza risultato) troverà il mio topic e magari ne cava qualcosa :stuck_out_tongue:
[/OT]

ormai siamo circondati da polemici, politici, uno + uno - :slight_smile: solo che io lo faccio gratis :slight_smile:

pablos:
.... l'amministatore di condominio :grin: dov'è ??!!

Non é che fai un po troppo il spiritoso?? :wink: :wink:
Se mi pagassero 8 ore a fare il moderatore ... ma visto lo faccio gratuitamente nel mio tempo libero congedetemi un po di vita privata.

E finiamola adesso per favore con la storia del titolo in maiuscolo. Lo sappiamo tutti nel fratempo. :wink: :wink: :wink:

Aspettiamo che tufodj segua i nostri suggerimenti e che ci riferisce se hanno risolto il suo problema.

Ciao Uwe

Vabbè che ti devo dire .... va bene così .... se ritieni spirito il commento a un titolo AIUTATE ANCORA!!! non ho altro da aggiungere.
ciao Paolo

Ragazzi scusate se ieri ho scritto in maiuscolo, volevo solo attirare l'attenzione visto che ci sono tanti post, la logica era quella di attrarre non immaginavo tanta polemica.
Ieri le condizioni meteo non mi hanno dato la possibilità di modificare il topic rapidamente.
So che su i Forum il maiuscolo è come gridare, per me è solo il modo di rappresentare un titolo, non scrivero più cosi!
Prometto di non rifarlo e scusate ancora per il problema che Vi ho causato, comunque volevo anche ringraziarvi per i suggerimenti che mi avete dato, grazie a Voi sono riuscito a capire l'errore..... leggendo bene ho modificato sia EthernetServer che EthernetClient leggendo le Reference sul sito di Arduino.
Alla prossima! :slight_smile:

su ide 0022 - 0023 funziona senza errori

Si lo so! ma preferisco usare il nuovo ide....
grazie ancora.