Forum: Mikrocontroller und Digitale Elektronik Serielle Schnittstelle via WLAN


von rotd (Gast)


Lesenswert?

Ich habe bisher diverse Projekt die mittels ETH Modul von Wiznet einfach 
serielle Daten an einen Host übertragen haben.

Jetzt würde gerne das Gleiche via WLAN machen und habe mich natürlich 
schon im WEB informiert. Da werde ich aber fast erschlagen von den 
vielen ESPxxx
und sonstigen Varianten. Auch hier im Forum habe gibt es viele Beiträge 
die
sich WLAN Modulen befassen. Aber leider habe ich aber nicht das gefunden 
was ich suche oder es nicht verstanden.

Ich suche ein einfaches WLAN Modul das nichts anderes kann als serielle 
Daten  (UART oder SPI oder I2C) via WLAN transportiert. Die nötigen 
Einstellungen kann ich selber über den MC tätigen.

Kann mir da jemand bitte einen Tip geben?

Danke für sachdienliche Hinweise.

von Εrnst B. (ernst)


Lesenswert?

rotd schrieb:
> Ich suche ein einfaches WLAN Modul das nichts anderes kann als serielle
> Daten  (UART oder SPI oder I2C) via WLAN transportiert.

also TCP?

Für die ESP8266 gibt's so eine Default/Beispiel-Firmware, die auf 
µC-Seite per AT-Kommando gesteuert wird.
Ist normalerweise vorinstalliert, d.H. Plug&Play.

Dann würde ein ESP-01-Modul (das kleine mit den 8 Pins) reichen.


http://stefanfrings.de/esp8266/index.html#esp01

: Bearbeitet durch User
von A. B. (funky)


Lesenswert?

Das was du suchst wäre eine Wifi Brdige. Das geht auch mit einer 
Firmware und dem esp2866/32

Ein ESP2866 ist wahrscheinlich günstiger als so ein WifiBaustein, aber 
man könnte natürlich argumentieren, das es nicht effizient ist dann noch 
einen weiteren externen Mikrocontroller zu benutzen. Kommt aber sicher 
auf den Einsatzzweck an

von Εrnst B. (ernst)


Lesenswert?

Wenn dir das Steuern per AT-Kommandos zu kompliziert ist,

( http://stefanfrings.de/esp8266/index.html#atcommands )

Kannst du dem ESP natürlich auch eine eigene Firmware verpassen, die 
dann (je nach Belieben) Teile des Kommunikationsprotokolls selber 
handhabt, oder gleich auch selbständig Sensoren abfragt usw.



Und es wird echt Zeit, dass Stefan sich LetsEncrypt oder Zerossl oder 
sowas  anschaft... Beim Setzen von "http"-Links krieg ich immer 
schlechtes Gewissen.

: Bearbeitet durch User
von rotd (Gast)


Lesenswert?

Danke sehr für die diversen Hinweise.

Verstehe ich das richtig, dass ich z.B. das ESP-01-Modul an meinen
MC anschliesse, dann mit AT Befehlen alle Einstellungen tätige
die man braucht um das Modul im Netzwerk zu betreiben und dann
nach einem Connect vom Host könnte das Modul serielle Daten liefern ?

Das wäre schön, den so ähnlich habe ich es auch mit den WIZNET Modulen
über LAN (TCP) gemacht.

Danke nochmals.

von Εrnst B. (ernst)


Lesenswert?

rotd schrieb:
> die man braucht um das Modul im Netzwerk zu betreiben und dann
> nach einem Connect vom Host könnte das Modul serielle Daten liefern ?

Es geht beides. Entweder baut dein µC die Verbindung zum Host auf
(AT+CIPSTART=0,"TCP","mein.server",12345)
oder dein µC wartet auf eine Verbindung
(AT+CIPSERVER=1,54321)

Und die Daten wandern nicht 1:1 durch, sondern du kriegst beim Empfangen 
immer einen "+IPD,0,42"-Header (erste Zahl ist nummer des TCP-Streams, 
zweite Zahl ist anzahl der Bytes)


Wenn du eine transparente "Serial->TCP-Bridge" willst, geht das mit 
einer eigenen Firmware auf dem ESP auch ganz einfach. Genau wie 
Serial->MQTT oder sonstnochwas. Der ESP hat ja eine schnelle CPU und 
viel RAM, warum also nicht auch nutzen...

von Eduard I. (eiten)


Lesenswert?

Εrnst B. schrieb:
> Beim Setzen von "http"-Links krieg ich immer
> schlechtes Gewissen.

Wieso dass denn? Wenns nur um den Abruf des Inhalts geht, steht dem http 
doch nichts entgegen?

von rotd (Gast)


Lesenswert?

Jetzt muss ich doch nochmals nachfragen:

Εrnst B. schrieb:
> Und die Daten wandern nicht 1:1 durch, sondern du kriegst beim Empfangen
> immer einen "+IPD,0,42"-Header (erste Zahl ist nummer des TCP-Streams,
> zweite Zahl ist anzahl der Bytes)

Bei meinen bisherigen Projekten mit LAN ist es so, dass nach dem Connect
ich einfach Daten in fast beliebiger Form via TCP schicken kann und auf 
der Hostseite (PC) kommt der serielle Datenstrom über ein virtuelles COM 
Port
so wie reingeschickt wieder raus und kann dort weiterverabeitet werden.
Ist das beim ESP-01-Modul nicht so ?

Da ich jetzt nicht noch mit neuen CPUs ( Compiler, Cntwicklungstools, 
etc.) anfangen möchte, wäre mir eine Plug&Play Lösung an dieser Ecke am 
liebsten.

von Εrnst B. (ernst)


Lesenswert?

rotd schrieb:
> dass nach dem Connect
> ich einfach Daten in fast beliebiger Form via TCP schicken kann

das geht beim ESP mit der AT-Firmware nicht, Grund: er muss zwischen 
Daten und AT-Kommandos unterscheiden können. Deshalb gibt's beim Senden 
und Empfangen den Header mit Anzahl der Bytes außenrum. und der ESP kann 
mehere TCP-Verbindungen gleichzeitig offenhalten, deshalb haben diese 
Kommandos auch immer noch die Info dabei, welcher TCP-Stream gerade 
sendet/empfängt.

Auf Empfängerseite kommt davon natürlich nichts an, d.H. der PC sieht 
den TCP-Datenstrom ganz normal nur mit den Nutzdaten.

Ach ja, Plug-n-Play-Lösung: Such mal nach JDY-40. ist kein Wlan, aber 
auch auf 2.4GHz, und mehr oder weniger transparent. Aber nur 
Point-to-Point.

: Bearbeitet durch User
von rotd (Gast)


Lesenswert?

Danke für die Ausführungen.

Es soll schon zum Netzwerk passen, aber für andere Zwecke ist JDY-40 
schon
interessant. Hab icj mal auf meine Merkliste gesetzt.

Εrnst B. schrieb:
> Auf Empfängerseite kommt davon natürlich nichts an, d.H. der PC sieht
> den TCP-Datenstrom ganz normal nur mit den Nutzdaten.

Damit könnte ich gut leben. Meine MC SW kann ich beliebig verändern und 
somit
auch AT Kommandos zwischen fügen. Ich werde es mal ausprobieren und 
vielleicht gibt es dann doch noch irgendwo eine andere fertige FW für 
das Modul das ohne AT Kommandos auskommt und es direkter anzusteuerbar 
macht.

Vielen Dank nochmals für die Hilfe.

von foobar (Gast)


Lesenswert?

Εrnst B. schrieb:
> Beim Setzen von "http"-Links krieg ich immer schlechtes Gewissen.

2+2=5!

von Peter Z. (hangloose)


Lesenswert?

Also mit dem ESP32 und der AT Firmware kann man Daten auch Transparent 
übertragen. Habe ich so bei meiner Whirlpool Steuerung realisiert.
Heißt Passthrough Mode...

LC12S ist auch ein 2.4GHz Modul welches als UART Bridge arbeitet.
Beitrag "Intex Whirlpool PureSpa 28462 LC12S 2.4GHz Ersatzsteuerung"

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Peter Z. schrieb:
> Also mit dem ESP32 und der AT Firmware kann man Daten auch Transparent
> übertragen. Habe ich so bei meiner Whirlpool Steuerung realisiert.
> Heißt Passthrough Mode...

Der ESP8266 (z.B. in Form des genannten ESP-01 Moduls) kann das auch. In 
dem Firmware-Download ist ein PDF welches die entsprechenden AT Befehle 
beschreibt.

von rotd (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Der ESP8266 (z.B. in Form des genannten ESP-01 Moduls) kann das auch. In
> dem Firmware-Download ist ein PDF welches die entsprechenden AT Befehle
> beschreibt.

Ok, Danke für Hinweis, habs gefunden.
(Example 4. UART-Wi-Fi Passthrough Transmission)

Ich hoffe, dass ich die FW die bei meinen bestellten Modulen nicht 
ändern muss denn da tappe ich noch im Dunkeln wo ich diese herbekomme. 
Soweit ich das bei Esspressif Systems gesehen habe mache die keine 
Updates mehr dazu.
Nur ein Github Hinwies dazu habe ich gesehen.

Jetzt probiere ich es aber erst mal aus.

Danke nochmals allen für die hilfreichen Tips und die freundlichen 
Antworten.

von Stefan F. (Gast)


Lesenswert?

rotd schrieb:
> Ich hoffe, dass ich die FW die bei meinen bestellten Modulen nicht
> ändern muss denn da tappe ich noch im Dunkeln wo ich diese herbekomme.

Zum Beispiel von meiner bereits genannten Homepage.
http://stefanfrings.de/esp8266/index.html#atfirmware

> Soweit ich das bei Esspressif Systems gesehen habe
> mache die keine Updates mehr dazu.

Kann gut sein. Da gibt's auch nichts großartig zu ändern, denn sie tut 
was sie soll.

von Chr. M. (snowfly)


Lesenswert?

ich hatte für so einen Einsatz ESP-Link in Betrieb, das hat 
funktioniert.
https://github.com/jeelabs/esp-link
vielleicht ist es das was du suchst.

Fertiglösungen gibt es auch, die funktionieren auf Arbeit unauffällig.
https://www.serial-over-ethernet.com/de/serial-device-server/

von alopecosa (Gast)


Lesenswert?

Warum will man sich den Stress mit AT geben wenn es doch alles schon 
gibt:

https://github.com/jeelabs/esp-link

https://github.com/roboremo/ESP8266-WiFi-UART-Bridge

etc. etc.

von Stefan F. (Gast)


Lesenswert?

alopecosa schrieb:
> Warum will man sich den Stress mit AT geben

Naja, irgendwie muss man ja wie WLAN Parameter und IP Adresse 
einstellen. Ob die entsprechenden Befehle mit AT beginnen oder nicht ist 
doch egal. Jedenfalls ist mir das viel lieber, als von irgendeinem 
Windows Programm abzuhängen, das womöglich mit der übernächsten Windows 
Version schon nicht mehr funktioniert.

von Εrnst B. (ernst)


Lesenswert?

Stefan ⛄ F. schrieb:
> Jedenfalls ist mir das viel lieber, als von irgendeinem
> Windows Programm abzuhängen, das womöglich mit der übernächsten Windows
> Version schon nicht mehr funktioniert.

Wobei das Windows-Programm im Fall von "esp-link" ein sogenannter 
"Webbrowser" ist. Man kann zwar der Meinung sein, dass sich dieses 
"Web-Zeuchs" nicht durchsetzen wird, aber bis zur übernächsten 
Windows-Version sehe ich da keine Gefahr.

von Stefan F. (Gast)


Lesenswert?

Εrnst B. schrieb:
> Wobei das Windows-Programm im Fall von "esp-link" ein sogenannter
> "Webbrowser" ist.

Das ist ja einigermaßen Zukunftssicher, vor allem wenn man es mit 
Javascript nicht zu sehr übertreibt.

von Ron T. (rontem)


Lesenswert?

Stefan ⛄ F. schrieb:
> Jedenfalls ist mir das viel lieber, als von irgendeinem Windows Programm
> abzuhängen, das womöglich mit der übernächsten Windows Version schon
> nicht mehr funktioniert.

Beispiele?

von Stefan F. (Gast)


Lesenswert?

Ron T. schrieb:
> Beispiele?

Habe kein aktuelles Beispiel, weil ich seit 20 Jahren fast nur noch 
Linux benutze. Ich kaufe seit dem alles so, dass es ohne Windows 
Programme nutzbar ist.

Ich hatte früher mal einem Netzwerk-Drucker und einem Printserver 
(Netzwerkadapter für Drucker mit Centronics Anschluss). Bei beiden lief 
das Konfigurationsprogramm nur bis maximal Windows ME. Virtuelle 
Maschinen und Wine halfen dabei nicht. Die Geräte wurden entsorgt, 
obwohl sie eigentlich noch tadellos funktionierten.

Davor wiederum hatte ich eine ISDN Telefonanlage, deren 
Konfigurationsprogramm nur unter Windows 3.1 und 3.11 lief. Die Anlage 
wurde kurz vor Windows 95 noch verkauft, dennoch gab es nie eine 
Software-Version für Windows 95. Zum Glücken hatten pfiffige Leute das 
Kommunikationsprotokoll heraus gefunden und dokumentiert, so konnte ich 
mir ein Ersatzprogramm selbst schreiben. Das war damals auf den 
Mailboxen ein richtiger Renner.

Zur gleichen Zeit hatte mein Arbeitgeber ein sehr ähnliches Problem mit 
seiner ISDN Anlage (anderer Marke). Da brauchte er extra einen alten 
Windows 3.11 PC, um die Call Records auszulesen, um die Abrechnung für 
einen Untermieter zu machen.

von Ron T. (rontem)


Lesenswert?

Stefan ⛄ F. schrieb:
> Habe kein aktuelles Beispiel

Aha. Daher wäre ich mit solchen Aussagen vorsichtig, insbesondere ohne 
viel aktuelle Windows-Praxis. Aus meiner kann ich berichten daß bislang 
kein einziges Programm durch ein Windowsupdate unbrauchbar wurde.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.