Hallo,
irgendwie sehe ich mal wieder den Wald vor lauter Bäumen nicht... :~
Kann mal jemand auf den Code schaue, warum der nicht funktioniert?
Ich kann nicht per WEbbrowser auf den Arduino zugreifen.
#include <SPI.h>
#include <Ethernet.h> // library for ethernet functions
#include <DallasTemperature.h> // library for temperature sensors
#include <OneWire.h> // library for the onewire bus
#include <Wire.h>
int led = 2;
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS); // pin für Temperatursensoren
//DeviceAdressen der einzelnen ds1820 Temperatursensoren.
DeviceAddress sensor1 = { 0x28, 0x65, 0x35, 0xC3, 0x03, 0x00, 0x00, 0x35 };
DeviceAddress sensor2 = { 0x28, 0x03, 0xF6, 0xC2, 0x03, 0x00, 0x00, 0xA7 };
//ETHERNET-SETTINGS
byte mac[] = { 0x5D, 0xA2, 0xFA, 0x2D, 0x76, 0x7C }; // MAC-Adresse des Arduino
byte ip[] = { 192, 168, 178, 40 }; // IP-Adresse des Arduino
byte gateway[] = { 192, 168, 178, 1 }; // Gateway
byte subnet[] = { 255, 255, 255, 0 }; // SubNet
byte server[] = { 192, 168, 178, 111 }; // IP-Adresse des Servers
EthernetServer Server(80);
EthernetClient client;
char host[] = "192.168.178.111"; // Domain
char url[] = "/Arduino/Temp/SaveTempToMySQL.php"; // Pfad zur PHP-Datei
char key[] = "12345"; // Kennwort aus PHP-Datei
char c; // Variable für Rückgabe des Servers
long Interval = 5; // Upload-Interval in Minuten
DallasTemperature sensors(&oneWire);
int numSensors; // Variable zum speichern der Anzahl der Temperatur-Sensoren
void setup()
{
pinMode(led, OUTPUT); // Setzt den ledPin (Pin 2) als Ausgang
Serial.begin(9600);
Serial.flush();
delay(200);
Serial.println("Arduino TemperaturLogger");
Serial.println("Ethernet initialisieren...");
Ethernet.begin(mac, ip);
Server.begin(); // start listening for clients
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
Interval = Interval * 1000 * 60; // Das in Minuten angegebene Interval in Millisekunden umrechnen
delay(1000); // warten, bis Ethernet gestartet
//Sensoren abfragen
sensors.begin();
sensors.setResolution(sensor1, 10);
sensors.setResolution(sensor2, 10);
Serial.println("Temperatur-Sensoren ermitteln...");
numSensors = sensors.getDeviceCount(); // Anzahl der angeschlossenen Sensoren in numSensors speichern
if(numSensors > 0) // Es wurde mindestens 1 Sensor gefunden
{
Serial.print(numSensors);
Serial.println( " Temperatur-Sensoren gefunden.");
}
else // Es wurde kein Sensor gefunden
{
Serial.println("Keine Temperatur-Sensoren gefunden.");
}
}
void loop()
{
sensors.requestTemperatures();
float temp1 = sensors.getTempC(sensor1); // Temperatur von Sensor 1 ermitteln
float temp2 = sensors.getTempC(sensor2); // Temperatur von Sensor 2 ermitteln
Serial.print("Temp1: ");
Serial.println(temp1,2);
Serial.print("Temp2: ");
Serial.println(temp2);
Daten_senden(temp1, temp2); // Temperaturdaten an Server übertragen
delay(700);
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);
digitalWrite(led, HIGH);
}
}
client.stop();
Serial.println(" ");
Serial.println("Done.");
client.flush();
delay(Interval);
// Ausgabe auf Website
EthernetClient client = Server.available();
if (client) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<html><head>");
client.println("<meta http-equiv='refresh' content='60'>");
client.println("<title>Arduino Webserver</title>");
client.println("</head>");
client.println("<body>");
//---Überschrift---
client.println("
<hr />");
client.println("<h1><div align='center'>Arduino Webserver powered by Cetax</div></h1>");
client.println("<hr />
");
//---Überschrift---
client.println("Die Temperatur betraegt ");
client.println("<h2>");
client.println(temp1);
client.println("°C");
client.println("</h2>");
client.println("</BODY></HTML>");
delay(100);
client.stop();//close the connection with the client
}
}
/******************************
*
Daten an Server schickenn *
*
*******************************/
void Daten_senden(float T1, float T2)
{
if (client.connect(server, 8000)) // Verbindung zum Server aufbauen
{
Serial.println("Verbunden, Sende Daten...");
client.print("GET " + String(url));
Serial.println("GET " + String(url));
client.print("?T1=");
Serial.print("?T1=");
client.print(T1);
Serial.println(T1);
client.print("&T2=");
Serial.print("&T2=");
client.print(T2);
Serial.println(T2);
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 *****");
digitalWrite(led, LOW);
}
}
Danke Euch