Guten Abend zusammen,
nachdem Ihr mir beim meinem letzten (Hardware-)Problem weitergeholfen habt, betrifft meine heutige Herausforderung eher den Software-Bereich...
Folgendes: Es gibt unzählige Beispiele, wie man ein externes Gerät (Smartphone, PC, Tablet, etc.) als Client für den ESP nutzt, um z.B. GPIOs zu schalten. Wo ich aber nicht wirklich etwas finde, ist für folgende Applikation:
Ich möchte über eine Hardware-Eingabe (Taster, Schalter,...) einen "Client-Request" realisieren, anstatt über die o.g. Geräte. Geht so etwas? Ziel ist es, dass der ESP die Sensorwerte (MCU-6050) per "Tastendruck" an das Endgerät sendet - und das nur nach Aufforderung. Der ESP müsste meines Erachtens nach sowohl als Server und gleichzeitig als Client agieren. Geht so etwas? Oder anders fromuliert: Der Tastendruck müsste dem mobilen Endgerät sagen, dass nun ein Wert da ist, den er abholen kann. Bisher mache ich das so, dass ich in der App (als Client) mit Hilfe von GET einen Parameter setze, der den Tastendruck (auf der App, den ich ja aber mit einem Hardware-Taster ersetzen möchte) erkennt um dann im Sketch über eine if Abfrage
if (header.indexOf("GET /SAVE") >= 0) {
sig = 1;}
zu detektieren, ob der aktuelle Wert zu erfassen ist oder nicht.
Eine Alternative wäre auch sicherlich, ein zusätzliches "Tag" in meinen String einzubauen, über den der Client erkennt, dass der Taster aktiviert wurde, z.B. schematisch so
client.println("<!DOCTYPE html>\n<html>");
/* I2C sensor data aquisition */
String s; // html content of the web page
s=String(Sensorwert) + ",";
if (tastendruck){
s+="save";
}
else{
s+="nosave";
}
s += "\n</html>\n";
client.println(s);
Nachteil bei dieser Lösung ist, dass ich den Client auf meiner App laufend abfragen lassen muss, um den Tastendruck mitzubekommen.
Ich würde nun gerne wie hoffentlich klar wurde, über einen Tastendruck einen Client auf meinen Endgerät "öffnen", den Wert übergeben und dann wieder "schließen".
Vielleicht wichtig: Ich nutze den MIT App Inventor 2 auf dem Smartphone zur Darstellung der Werte.
Ich hoffe, ich konnte Euch mein Anliegen klar machen. Wenn nicht, fragt bitte nach!
Vielen Dank Euch und Grüße
Bire