Hallo,
versuche gerade einen connect zum mysql-server der auf einem Raspberry pi im lokalen Netz liegt herzustellen
kann jemand mal bitte über den Code schauen? ich habe diesen Code aus der fluuux seite und etwas abgeändert.
#include <SPI.h>
#include <Ethernet.h> // library for ethernet functions
#include "DHT.h"
#define DHTPIN 9
#define DHTTYPE DHT22 //DHT11, DHT21, DHT22
DHT dht(DHTPIN, DHTTYPE);
//ETHERNET-SETTINGS
byte mac[] = { 0x5D, 0xA2, 0xFA, 0x2D, 0x76, 0x7C }; // MAC-Adresse des Arduino
byte ip[] = { 192, 168, 2, 105 }; // IP-Adresse des Arduino
byte gateway[] = { 192, 168, 2, 1 }; // Gateway
byte subnet[] = { 255, 255, 255, 0 }; // SubNet
byte server[] = { 192, 168, 2, 104 }; // IP-Adresse des Servers
EthernetClient client;
char host[] = "192.168.2.105"; // Domain
char url[] = "/test_db/arduino_push_data.php"; // Pfad zur PHP-Datei
char key[] = "meinpass"; // Kennwort aus PHP-Datei
char c; // Variable für Rückgabe des Servers
long Interval = 60; // Upload-Interval in Minuten
void setup()
{
delay(1000);
Serial.begin(9600);
Serial.flush();
delay(200);
Serial.println("DHT22 Arduino TemperaturLogger");
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()
{
float hum = dht.readHumidity(); //Luftfeuchte auslesen
float temp = dht.readTemperature(); //Temperatur auslesen
Serial.print("Temperatur: ");
Serial.println(temp);
Serial.print("Luftfeuchtigkeit: ");
Serial.println(hum);
Daten_senden(temp, hum); // 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);
}
}
client.stop();
Serial.println("Done.");
client.flush();
delay(Interval);
}
/******************************
*
Daten an Server schickenn *
*
*******************************/
void Daten_senden(float temp, float hum)
{
if (client.connect(server, 80)) // Verbindung zum Server aufbauen
{
Serial.println("Verbunden, Sende Daten...");
client.print("GET " + String(url));
Serial.println("GET " + String(url));
client.print("?temp=");
Serial.print("?temp=");
client.print(temp);
Serial.println(temp);
client.print("&hum=");
Serial.print("&hum=");
client.print(hum);
Serial.println(hum);
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 *****");
}
}
ich bekomme mit dem sketch keinen connect
er läuft ir nach einem zeit abbruch immer in ==>Y " ***** VERBINDUNG KANN NICHT HERGESTELLT WERDEN *****"
das script /test_db/arduino_push_data.php funktioniert.
wenn ich dort die Werte in die URL Manuel eingebe schreibt er sie in die DB
ich finde den Fehler nicht.
irgendwie kommt er wohl mit dem client.connect(server, 80) nicht ganz klar vermute ich
Viele Grüße
Jürgen