Hallo,
ich habe mal wieder ein Problem. Ausgegeben wird hier das Messergebnis eines Ultraschallsensor.
Und zwar wird nach der Initialisierung des Ethernets auch das Messergebnis ausgegeben aber nicht weiter zum Server geschickt!?!
Ich drehe mich schon Stundenlang im Kreis.
#include <SPI.h>
#include <Ethernet.h> // library for ethernet functions
//ETHERNET-SETTINGS
byte mac[] = { 0x90, 0x00, 0x4E, 0x58, 0xA1, 0x28 }; // MAC-Adresse des Arduino
byte ip[] = { 192, 168, 178, 33 }; // IP-Adresse des Arduino
byte gateway[] = { 192, 168, 178, 1 }; // Gateway
byte subnet[] = { 255, 255, 255, 0 }; // SubNet
//byte server[] = {81, 169, 145, 157 }; // IP-Adresse ursprungwetter.de bei Strato
EthernetClient client;
char host[] = "ederseewetter.de"; // Domain
char url[] = "/ultraarduinodb.php"; // Pfad zur PHP-Datei
char key[] = "********"; // Kennwort aus PHP-Datei
char serverName[] = "www.ederseewetter.de";
char c; // Variable für Rückgabe des Servers
long Interval = 1; // Upload-Interval in Minuten
int trigger=9;
int echo=10;
void setup() {
delay(1000);
Serial.begin (9600);
Serial.println("Ethernet initialisieren...");
Ethernet.begin(mac, ip);
Interval = Interval * 1000 * 60; // Das in Minuten angegebene Interval in Millisekunden umrechnen
delay(1000); // warten, bis Ethernet gestartet
}
void loop() {
long dauer, entfernung;
pinMode(trigger, OUTPUT);
digitalWrite(trigger, LOW);
delay(5);
digitalWrite(trigger, HIGH);
delay(10);
digitalWrite(trigger, LOW);
pinMode(echo, INPUT);
dauer = pulseIn(echo, HIGH);
entfernung = (dauer/2) / 29.1;
Serial.print(entfernung);
Serial.println(" cm");
delay(5000);
Daten_senden(entfernung); // Temperaturdaten an Server übertragen
delay(5000);
byte maxReads = 10; //Seconds
while ((maxReads-- > 0) && client.connected()) // Antwort des Servers lesen
{
delay(1000);
while (client.available())
{
char response = client.read();
Serial.print(response);
}
}
client.stop();
Serial.println("Done.");
client.flush();
delay(Interval);
}
/******************************
*
Daten an Server schickenn *
*
*******************************/
void Daten_senden(float entfernung)
{
if (client.connect(serverName, 80)) // Verbindung zum Server aufbauen
{
Serial.println("Verbunden, Sende Daten...");
client.print("GET " + String(url));
Serial.println("GET " + String(url));
client.print("?entfernung=");
Serial.print("?entfernung=");
client.print(entfernung);
Serial.println(entfernung);
client.print("&key=" + String(key));
Serial.print("&key=" + String(key));
client.println(" HTTP/1.1");
Serial.println(" HTTP/1.1");
client.print("Host: " + String(host));
Serial.print("Host: " + String(host));
client.println();
Serial.println();
client.println("User-Agent: Arduino");
Serial.println("User-Agent: Arduino");
client.println("Connection: close");
Serial.println("Connection: close");
client.println();
Serial.println();
}
else
{
Serial.println(" ***** VERBINDUNG KANN NICHT HERGESTELLT WERDEN *****");
}
}