INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Daten an mysql
19.06.2016, 13:47 (Dieser Beitrag wurde zuletzt bearbeitet: 19.06.2016 15:43 von diode1990.)
Beitrag #1
Daten an mysql
Hallo,
ich versuche gerade Werte an einen Sql Server zu senden, doch leider habe ich noch einige Probleme damit. Ich habe einen Sketch auf Fluuux.de gefunden doch ich verstehe einige Teile im Code nicht und ich hoffe es kann mir jemand helfen.

Code:
//DeviceAdressen der einzelnen ds1820 Temperatursensoren.
DeviceAddress sensor1 = { 0x10, 0x98, 0x46, 0x57, 0x2, 0x8, 0x0, 0xF9 };
DeviceAddress sensor2 = { 0x10, 0x59, 0x4B, 0xC0, 0x1, 0x8, 0x0, 0x3E };

//ETHERNET-SETTINGS
byte mac[]     = { 0x5D, 0xA2, 0xFA, 0x2D, 0x76, 0x7C };    // MAC-Adresse des Arduino
//byte ip[]      = { 192, 168, 0, 99 };                     // IP-Adresse des Arduino
//byte gateway[] = { 192, 168, 178, 1 };                    // Gateway
//byte subnet[]  = { 255, 255, 255, 0 };                    // SubNet
[color=#FF4500]byte server[]  = { 95, 143, 172, 134 };                     // IP-Adresse des Servers[/color]

EthernetClient client;
[color=#FF6347]char host[]    = "ihrewaesche.de";                      // Domain[/color]
char url[]     = "/ARDUINO/Temperatur/SaveTempToMySQL.php"; // Pfad zur PHP-Datei
char key[]     = "MEINPASSWORT123";                
    // Kennwort aus PHP-Datei
char c;                                                     // Variable für Rückgabe des Servers

Der Rot markierte Teil ist das Problem.

Ich habe mir einen Sql Server auf dem Raspberry pi installiert. wäre das in diesem Fall die Ip Adresse von Raspberry und was hat es mit char Host auf sich das kann ich leider gar nicht zuordnen.

Vielleicht kann mit jemand weiterhelfen damit ich es verstehe.

Vielen vielen Dank

ganzer sketch http://fluuux.de/2012/09/arduino-mysql-t...-auslesen/

Sorry Rot markiert sollte eigentlich diese Zeilen sein

byte server[] = { 95, 143, 172, 134 }; // IP-Adresse des Servers

und

char host[] = "ihrewaesche.de"; // Domain

Versuche mein Problem ein wenig genauer zu beschreiben.

In diesem Teil des Sketch wird char Host[] benötigt

Code:
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("?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));   // Hier stehts
    Serial.print("Host: " + String(host));
    client.println();
    Serial.println();


Wäre es dann die Adresse unter welcher die Datenbank für den jeweiligen benutzer aufgerufen wird ???

DANKE
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.06.2016, 17:52
Beitrag #2
RE: Daten an mysql
(19.06.2016 13:47)diode1990 schrieb:  Hallo,
ich versuche gerade Werte an einen Sql Server zu senden, doch leider habe ich noch einige Probleme damit. Ich habe einen Sketch auf Fluuux.de gefunden doch ich verstehe einige Teile im Code nicht und ich hoffe es kann mir jemand helfen.

Code:
[color=#FF0000]byte server[]  = { 95, 143, 172, 134 };                     // IP-Adresse des Servers
[/color]
und

[color=#FF0000]char host[]    = "ihrewaesche.de";                      // Domain[/color]
[hr]
Versuche mein Problem ein wenig genauer zu beschreiben.

In diesem Teil des Sketch wird char Host[] benötigt

[code]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("?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));   // Hier stehts
    Serial.print("Host: " + String(host));
    client.println();
    Serial.println();

Die IP-Adresse ist die des Webservers (z.B. APACHE) auf dem die PHP-Datei SaveTempToMySQL.php läuft, die dann die Daten in die (ich vermute) MYSQL-DB einträgt. Die Variable host ist im geposteten Codeauszug einfach ein Ausgabetext ohne Funktion.

Gruß Tommy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.06.2016, 18:00
Beitrag #3
RE: Daten an mysql
Hallo danke für die Antwort.

Heißt das ich kann den Teil mit dem Host weglassen und es werden die Daten trotzdem übertragen?

danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.06.2016, 19:12
Beitrag #4
RE: Daten an mysql
(19.06.2016 18:00)diode1990 schrieb:  Hallo danke für die Antwort.

Heißt das ich kann den Teil mit dem Host weglassen und es werden die Daten trotzdem übertragen?

danke

Da kann ich generell nur mit einem klaren Jein antworten. Das hängt vom Webserver ab.

Wenn es einer ist, auf dem nur ein Host läuft (also dein eigener Webserver zu Hause auf deinem PI), dann sollte es gehen. Dann auch die Zeilen
Code:
client.print("Host: " + String(host));   // Hier stehts
Serial.print("Host: " + String(host));
mit entfernen.

Wenn es ein Server mit virtuellen Hosts ist (z.B. Homepage bei einem Provider) dann muss das zur Unterscheidung welcher Host bei gleicher IP gemeint ist, mitgesendet werden.

Nur damit das nicht zu falschen Ideen bei allgemeinen Servern führt.

Gruß Tommy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.06.2016, 19:54
Beitrag #5
RE: Daten an mysql
Der Server läuft auf Raspberry PI.

Kann es sein das die URL dann so aussieht "datenbankbenutzername@localhost.de"

DANKE
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.06.2016, 21:04
Beitrag #6
RE: Daten an mysql
(19.06.2016 19:54)diode1990 schrieb:  Der Server läuft auf Raspberry PI.

Kann es sein das die URL dann so aussieht "datenbankbenutzername@localhost.de"

DANKE

Nein, Du musst das PHP-Script ansprechen, das auf Deinem Webserver läuft und dann die Daten in die DB schreibt. Das hier :
Code:
char url[]     = "/ARDUINO/Temperatur/SaveTempToMySQL.php"; // Pfad zur PHP-Datei
Du brauchst also noch zusätzlich noch einen Webserver mit PHP-Unterstützung (z.B. Apache) auf dem das angegebene PHP-Script läuft. Dieses besitzt die Zugriffsdaten für die DB. Das Script solltest Du von Deiner Quelle haben.

Es gibt aber auch einen direkten Weg. Ricardo hat den hier erklärt. Ich habe ihn aber noch nicht getestet und kann nichts dazu sagen.

Gruß Tommy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.06.2016, 21:16 (Dieser Beitrag wurde zuletzt bearbeitet: 19.06.2016 21:55 von diode1990.)
Beitrag #7
RE: Daten an mysql
Jetzt habe ich es glaub ich verstanden mit der URL öffne ich das PHP Scrip und die Host Adresse ist in meinem Fall der Apache.
Dann wäre jetzt meine Hostadresse "localhost" da dieser das PHP script lesen und verarbeiten kann.

DANKE
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.06.2016, 19:30
Beitrag #8
RE: Daten an mysql
(19.06.2016 21:16)diode1990 schrieb:  Jetzt habe ich es glaub ich verstanden mit der URL öffne ich das PHP Scrip und die Host Adresse ist in meinem Fall der Apache.
Dann wäre jetzt meine Hostadresse "localhost" da dieser das PHP script lesen und verarbeiten kann.

DANKE
Das stimmt noch nicht ganz. Localhost ist nur innerhalb des lokalen Rechners gültig. Du greifst aber von einem anderen Rechner (dem Arduino) auf den PC zu.
Da musst Du dessen IP verwenden.

Gruß Tommy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Daten Visualisieren MeisterQ 12 576 01.12.2016 19:36
Letzter Beitrag: MeisterQ
  MySQL Beispielcode verstehen RonSH 107 1.992 25.11.2016 10:45
Letzter Beitrag: Tommy56
  Data Logger Daten auf SD Card schreiben Crichton 12 312 22.11.2016 18:32
Letzter Beitrag: Crichton
  I2C Daten übertragen Gandalf 3 217 04.11.2016 13:20
Letzter Beitrag: hotsystems
  Daten über USB verarbeiten Felix91 10 330 12.10.2016 13:00
Letzter Beitrag: Tommy56
  Can-Bus Shield ok, aber keine Daten Clubsport 38 1.544 01.09.2016 14:17
Letzter Beitrag: Clubsport
  NRF24L01,Empfangene Daten auswerten Marc2014 9 526 30.07.2016 19:34
Letzter Beitrag: rkuehle
  Hilfe: Mega2560 - ENC 28J60 - MYSQL Gandalf 1 181 28.07.2016 16:30
Letzter Beitrag: Gandalf
  Serielle Schnittstelle - Daten empfangen Datatom 8 779 22.05.2016 18:10
Letzter Beitrag: avoid
  Interrupt wenn softwareSerial Daten BennIY 3 447 01.05.2016 18:39
Letzter Beitrag: tiny85fan

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste