Arduino ESP8266 - TCP Kommunikation

  • Hallo,


    kann mir jemand sagen, wie ich vom Tablet (Autoit) aus auf einen ESP8266 (D1 mini Pro) über WiFi Daten austausche? Es geht um eine einfache Kommunikation (Lautsstärkeregler DigiPot). Auf Seiten von Autoit sollte das über TCPConnect gehen. Auf der anderen Seite bedarf es aber auch noch einer TCP-Implementierung - oder? Kann mir da jemand was empfehlen (einfach und gut...)?


    Ich bin hier auf mehrere TCP-Bibliotheken gestoßen: Z.B. "Hyperdeck", "modbus-esp8266" oder "RF24Ethernet".


    Ansonsten sollte das u.U. als Soft Access Point laufen (s. verlinkte Dokumentation). Das ist aber mal sekundär...


    Dank und Gruß

    Thomas

    • Offizieller Beitrag

    kann mir jemand sagen, wie ich vom Tablet (Autoit) aus auf einen ESP8266 (D1 mini Pro) über WiFi Daten austausche?

    Ich gehe jetzt mal von einer Kommunikation im lokalen Netzwerk aus.

    Am einfachsten ist es dann, einen Webserver auf dem ESP laufen zu lassen. So kommt man bei AutoIt mit InetRead aus und der Aufwand beim ESP hält sich auch in Grenzen.

    Hinweis: Falls Du keine FritzBox besitzt musst Du mal schauen, wie Dein Router den Hostnamen adressiert.


    Script in AutoIt:

    AutoIt
    Global $dData = InetRead("http://meinServer.fritz.box/?vol=42")
    Global $sData = BinaryToString($dData)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sData = ' & $sData & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console


    Und das Programm auf dem ESP:

    Die ganzen "Serial"-Befehle kannst Du auch weglassen, die dienen nur dem debugging.

  • Hallo Oscar,


    wow ... Was machst Du da mit meiner FritzBox? ^^


    Kannst Du mir bitte erklären wofür die "?vol=42" steht? Ich habe mal nur den Autoit-Quelltext laufen lassen. Das dauert etwas bis das in der Konsole ausgegeben wird. Kann aber auch an dem Schnelltest an sich liegen. Wenn das eine sehr schnelle und störungsfreie Übertragung in einem Raum (Lautstärkeregler) bringen würde, wäre das eine geniale Lösung gegenüber einer TCP-Bibliothek auf dem ESP.


    Tausend Dank erstmal!

    Thomas

    • Offizieller Beitrag

    Ich habe mal nur den Autoit-Quelltext laufen lassen. Das dauert etwas bis das in der Konsole ausgegeben wird.

    Das AutoIt-Script funktioniert nur, wenn auch das Programm auf dem ESP läuft und sich der ESP im selben Netzwerk befindet.

    Und "?vol=42" ist lediglich ein Beispiel dafür, wie man einen Parameter an den ESP übergeben kann. "vol" ist der Parametername (siehe ESP-Programm) und der Wert hinter dem Gleichzeichen entspricht dann dem Wert, der übergeben wird.

  • Ahhh ... cool! Nochmals vielen Dank!


    Hast Du eine Erfahrung wie das im Vergleich in Sachen Tempo und Stabilität mit einer TCP/UDP Lösung aussieht?