ESP 8266 Raspberry POST

  • Hallo zusammen


    Habe einen ESP8266 und ein Raspberry Pi und mochte mit Post Daten von ESP8266 zum Raspberry Pi (PHP) und wieder zurückschicken

    Die Antwort von Raspberry PI ist:

    wert1
    wert2 ***0
    Hallo du da!!!

    Meine Frage ist jetzt: Warum wird hinter wert1 und wert2 nix angezeigt?

    Ich habe erwarte:

    wert1 --> Message from ESP8266

    wert2 --> Wo kommt der Text her!!!

    die 0 ist die Lange von wert2

    Aber das ganze wird ja zum ESP8266 zurückgeschickt.

    die Antwort von ESP8266:

    200

    <br>wert1 Message from ESP8266<br>wert2 Wo kommt der Text her!!!***24<br>Hallo du da!!!<br>
    Jetzt meine 2 Frage warum wird beim ESP8266 für wert1 und wert2 was angezeigt? wo ja beim Raspberry nix angezeigt worden ist und die lange von wert2 0 ist


  • > die Antwort von ESP8266:

    > 200

    > <br>wert1 Message from ESP8266<br>wert2 Wo kommt der Text her!!!***24<br>Hallo du da!!!<br>

    Ist doch perfekt, genau was ich erwarten wuerde.


    > wo ja beim Raspberry nix angezeigt worden ist

    Warum sollte er was anzeigen? Die Ausgabe geht an den ESP

  • Was soll da angezeigt werden ?

    Wenn du was anzeigen willst musst du dir eine Visualisierung auf dem PI bauen welche die Daten des POST anzeigt.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Das ist der PHP Code für den Raspberry

    Ich möchte gerne für $wert1 und $wert2 folgendes angezeigt bekommen

    wert1 --> Message from ESP8266

    wert2 --> Wo kommt der Text her!!!

    Was muss ich machen damit beim Raspberry PHP zum Ergebnis komme?

    Danke für die Antwort!



  • Das wird nicht funktionierten.


    Deine post.php sendet alle Daten zurück an den ESP.

    Du musst die daten speichern und dann mit einer anderen php Datei zu visualisieren.


    Z.B. ganz einfach :

    post.php

    PHP
    1. <?php
    2. $wert1 = $_POST["text"];
    3. $wert2 = $_POST["test"];
    4. $savestring = "Wert 1 : " . $wert1 . "<br>Wert 2:" . $wert2 . "<br>";
    5. $fp= fopen("daten.txt","w");
    6. fputs($fp,$savestring);
    7. fclose($fp);
    8. ?>


    in der Datei daten.txt steht jetzt :

    Code
    1. Wert 1 : Message from ESP8266<br>Wert 2 : Wo kommt der Text her!!!<br>


    Jetzt anzeigen :


    display.php

    Code
    1. <?PHP
    2. echo file_get_contents("daten.txt");
    3. ?>


    Die post.php schreibt die Daten in eine Datei ($savestring)

    Die display.php liest die Datei und zeigt den Inhalt.


    Wie gesagt, sehr sehr vereinfacht aber zeigt das Prinzip.

    Du kannst die Daten auch rein als Werte speichern und liest sie wieder ein ( flatfile datenbank) oder nutzt eine richtige Datenbank wie sqlite oder mariadb.


    Ich denke das Prinzip von Daten speichern und anzeigen ist jetzt etwas klarer.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Warum soll er sich die übergebenen empfangenen Werte nicht direkt anzeigen lassen können und den Umweg über eine Datei gehen müssen?


    Quote

    Jetzt meine 2 Frage warum wird beim ESP8266 für wert1 und wert2 was angezeigt? wo ja beim Raspberry nix angezeigt worden ist und die lange von wert2 0 ist


    Wie willst du bei einem Post vom ESP am PI was anzeigen ?

    Am ESP anzeigen, kein Problem, aber am Server ?

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • So wie ich es verstehe schickt der ESP die Werte per POST an den RPi. Dieses Array liest er ja mit POST["text"]; aus und will diese mit echo ausgeben. Die Klammern nach echo in seinem Code machen imho echo zu einer Funktion und dadurch wird nichts ausgegeben. Ich bin zwar schon ne ganze Weile raus aus PHP, aber heute sollte es doch immernoch echo "Text"; sein um im Browser etwas zu sehen oder?

  • Ja, am ESP, der ist Client und bekommt das Response vom PI ,den echo "TEXT". Der PI ist ja nur Server.

    Diese Wenseite des Forum wird ja auch in deinem Browser angezeigt und nicht auf der CLI des Server.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • $_POST ist ein Array und wird an das aufgerufenen Sript übergeben. Mit

    sendest du mittels der Methode POST Daten an den Raspberry Pi auf dem dann die post.php ausgeführt wird. Diese Datei wird aber nicht gleichzeitig auf dem Raspberry Pi angezeigt. Nach dem Ausführen ist das Script beendet und damit die Variable $_POST weg. Es bleibt, wie DER_IMPERATOR geschrieben hat nur der Weg über eine Zwischenspeicherung entweder in einer Session (was für einen Anfänger nicht so einfach ist, da dann die SessionID bekannt sein muss) oder mittels Zwischenspeicherung. Also post.php muss die Daten irgendwo hin schreiben, von wo du sie wieder aufrufen kannst.

  • Ich bin zwar schon ne ganze Weile raus aus PHP, aber heute sollte es doch immernoch echo "Text"; sein um im Browser etwas zu sehen oder?

    echo ist zwar keine echte Funktion, die () kann man trotzdem benutzen ist aber unüblich. Ein Fehler entsteht dabei nicht.

  • Danke an alle die mir geholfen haben und geantwortet haben!!!

    Jetzt bekomme ich auch von Raspberry eine Antwort!!!

    und danke auch für die Beispiele - Weiter so!!!:bravo2: