Ü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/ardui…-uber-webserver-auslesen/
    https://glaskugelsehen.wordpre…deren-darstellung-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. :)

  • 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 => http://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 ?

  • Keine Fehlermeldung vom Server, er überträgt die Daten nicht in die Datenbank


    Trying ::1...
    Connected to localhost.
    Escape character is '^]'.
    Connection close by foreign host.


    Mfg

  • 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 ?

  • Komisch jetzt funktioniert auch nichtmehr die Eingabe über den Browser, kommt die gleiche Fehlermeldung.
    Wie kann ich dem Benutzer die rechte einräumen ?
    MfG

  • 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



  • 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-