Übertragung von Arduino-Messdaten an Raspberry-Webserver

  • Hi,


    das Projekt sieht wie folgt aus :

    (1) Arduino nimmt Daten auf (Luftfeuchtigkeit und Temperatur)

    (2) Diese Daten sollen an den Raspberry geschickt werden über ein Ethernet-Shield

    (3) Die Daten sollen mittels Php in einer Datenbank gespeichert werden


    (1 & 3) Funktioniert eigentlich ....
    wir können im Browser von jedem Rechner im Netzwerk z.b 192.168.90.127/data.php?T1=12&T2=34 eingeben und diese Daten werden in der Datenbank gespeichert, mit den Arduino Messdaten klappt das leider nicht. Wir haben uns da an mehreren Anleitungen orientiert.
    http://fluuux.de/2012/09/arduin…erver-auslesen/
    https://glaskugelsehen.wordpress.com/2014/05/11/tut…tellung-teil-1/

    Auf dem Raspberry läuft Apache2 - PHP5 - PHPmyadmin -MySQL

    Bei nachfolgender Abfrage erhalten wir keinen Zugriff ...

    Code
    if(client.available()) {
         char c = client.read();
         Serial.print("I.O");
         Serial.print(c);
       }
       else{
         Serial.println("Not available");
       }


    Mit der Funktion Senden wir die Daten zum Rapberry, wobei url=/data.php ist
    client.connect klappt an dieser Stelle jedoch.


    Wir wären sehr Froh wenn jemand uns da helfen könnte. :)

  • Übertragung von Arduino-Messdaten an Raspberry-Webserver? Schau mal ob du hier fündig wirst!

  • Der von dir gewählte Forum's Bereich ist nicht wirklich richtig, da dein Anliegen nichts mit dem Pi oder Raspbian zu tun hat. Du schreibst ja selber dass der manuelle Aufruf von /data.php problemlos funktioniert.
    Dein Problem hat mit dem Sketch auf dem Arduino oder dem Ethernet-Shield zu tun - und ein Arduino ist ein? Mikrocontroller => https://www.forum-raspberrypi.de/Forum-mikrocontroller

    Das nächste mal bitte mehr darauf achten.

  • Servus,
    da sind imho Fehler in Deinem GET ... mal ein CRLF zu viel, mal eins zu wenig ...
    Tipp von mir:
    Rufe telnet auf dem Raspi auf:

    Code
    telnet localhost 80


    Kann sein, dass Du telnet nachinstallieren musst.
    Dann gib Dein GET Statement ein, bis es passt (als letztes zweimal <ENTER> drücken).
    Das Statement müsste in etwa so aussehen:

    Code
    GET /data.php?T1=12&T2=34 HTTP/1.1
    Host: 192.168.90.127

    cu,
    -ds-

  • Moin,
    haben es ausprobiert, klappt leider auch nicht.
    Wir denken das es eher am Raspberry liegt.

    Verbunden, Sende Daten...
    GET /data.php?T1=18.10&T2=30.00 HTTP/1.1
    Host: 192.168.0.127

    und Telnet haben wir installiert läuft auf dem Raspberry nebenbei.

    der Php-Teil sollte doch in Ordnung sein wenn er ausm Browser heraus aufgerufen werden kann ?

  • Hm ... was hast Du denn da eingegeben?
    Du kommst ja gar nicht auf den Webserver ...

    Das telnet Kommando musst Du auf dem Teil machen, auf dem der Webserver läuft.
    Stimmt denn die IP?
    Hast Du Internet-Zugang mit dem Pi?
    Dann probier mal

    Code
    GET /hello.htm HTTP/1.1
    Host: www.tutorialspoint.com


    Was kommt da raus?

    //EDIT:
    Je nachdem wie Deine index-Datei heisst, kannst Du auch mal

    Code
    GET /index.html HTTP/1.1
    host: 192.168.90.127


    bzw. mit /index.htm oder /index.php probieren.
    Wenn das mit telnet nicht klappt, klappt's auch mit dem Arduino nicht ...


    cu,
    -ds-

  • Haben es jetzt nochmal local mit Telnet probiert dort kommt folgende Fehlermeldung:
    Trying ::1...
    Connected to localhost.
    Escape character is '^]'.
    GET /data.php?T1=11&T2=11 HTTP/1.1
    Host: 192.168.2.125

    HTTP/1.1 200 OK
    Date: Fri, 10 Feb 2017 13:38:10 GMT
    Server: Apache/2.4.10 (Raspbian)
    Content-Length: 66
    Content-Type: text/html; charset=UTF-8

    Access denied for user 'www-data'@'localhost' (using password: NO)Connection closed by foreign host.


    Schaut so aus als hätte ich keine Berechtigung ?

    Einmal editiert, zuletzt von Rinnert123 (10. Februar 2017 um 14:47)

  • Sind gerade in einem anderen Netzwerk dadurch hat sich die Serveradresse geändert.
    Könnte das dadurch kommen ?
    Und die Fehlermeldung könnte von dem Zugriff kommen.. ist aber nicht von uns Programmiert
    Hier noch die PHP datein:
    GNU nano 2.2.6 Datei: data.php

    Einmal editiert, zuletzt von Rinnert123 (10. Februar 2017 um 15:28)

  • Und wo wird der erhaltene DB-Handle an seinen INSERT übergeben bzw. verwendet?

    //EDIT: Ausserdem solltest Du den DB-Handle schliessen ... da wird sonst bei jedem Aufruf des scripts eine neue DB-Session erzeugt.

    cu,
    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!