Hallo Ralf,
vielen Dank! Ich habe direkt im Arduino-Forum nachgeguckt.
Nur leider habe ich immer noch das gleiche Problem.
Ich habe nun folgende Verbesserung vorgenommen:
- ich benutze jetzt das F() Makro
- die Delays habe ich ersetzt durch eine millis() abfrage
- In der if Abfrage ist nun der Code enthalten der das PHP Skript
aufruft
- die Serial.println habe ich rausgeschmissen
Für weitere Tipps wäre ich euch sehr dankbar!
Beste Grüße und vielen Dank!
Anbei der verbesserte Code:
Code:#include <SPI.h> #include <Ethernet.h> byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0x62, 0xAF }; char serverName[] = "dedo.bplaced.net"; char url[] = "/webseite/SpeichernInDatenbank.php"; EthernetClient client; unsigned long zeitalt; void setup() { Serial.begin(9600); if (Ethernet.begin(mac) == 0) { // start ethernet using mac & IP address Serial.println("Failed to configure Ethernet using DHCP"); while(true) // no point in carrying on, so stay in endless loop: ; } delay(1000); // give the Ethernet shield a second to initialize }; void loop() { int ret = client.connect(serverName, 80); if (ret == 1) { client.print(F("GET /webseite/SpeichernInDatenbank.php")); client.print(F("?wert=")); client.print(88); client.println(F(" HTTP/1.1")); client.print(F("Host: dedo.bplaced.net" )); client.println(); client.println(F("User-Agent: Arduino")); client.println(F("Connection: close")); client.println(); Serial.println(freemem()); client.stop(); client.flush(); zeitalt=millis(); while(millis()-zeitalt<1000) {} } else { Serial.println("connection failed, err: "); } } // this function will return the number of bytes currently free in RAM extern int __bss_end; extern int *__brkval; int freemem() { int free_memory; if((int)__brkval == 0) free_memory = ((int)&free_memory) - ((int)&__bss_end); else free_memory = ((int)&free_memory) - ((int)__brkval); return free_memory; }







Zitieren


Lesezeichen