Forum: Mikrocontroller und Digitale Elektronik Gibt es eine WIFI -> USB CDC bridge?


von Mampf F. (mampf) Benutzerseite


Lesenswert?

Guten Morgen,

ich würde gerne ein USB Gerät, das einen virtuellen COM-Port zur 
Verfügung stellt über WIFI ansprechen.

Müsste quasi sowas wie eine WIFI -> USB-CDC Bridge sein 🤔.

Vlt mit einem ESP32? 🤔

Leider hab ich nichts brauchbares gefunden, aber vielleicht kennt jemand 
zufällig etwas fertiges? 🥺

Viele Grüße,
Mampf

von Vanye R. (vanye_rijan)


Lesenswert?

> Leider hab ich nichts brauchbares gefunden, aber vielleicht kennt jemand
> zufällig etwas fertiges? 🥺

Hab ich vor 10Jahren schonmal gesehen. War aber industriell und im kEuro 
Bereich. Daher musst du wohl selber taetig werden. :-D

Bedenke aber das sowas schonmal in der Praxis nicht funktioniert weil 
dir nicht bekannte von anderen geschriebene Protokolle manchmal 
wunderliche Timinganforderungen an ihren COM-Port haben.

Vanye

von Harald K. (kirnbichler)


Lesenswert?

Zwar gibt es USB-Device-Server, die über WLAN angesprochen werden 
können, aber die funktionieren nur mit einem USB-Stack auf Seite des sie 
nutzenden Clients. Das sind quasi "virtuelle USB-Karten".

Du aber scheinst eine WLAN-Seriell-Bridge basteln zu wollen, d.h. 
irgendwer muss die beiden Dinge zusammenknoten.

Hast Du einen USB-Host-Stack für Deinen ESP32? Und hast Du Funktionen, 
die diesen USB-Host-Stack nutzen, um mit der USB-Seriell-Bridge in 
Deinem Gerät zu kommunzieren?

Es gibt zwei Arten von USB-Seriell-Bridges, welche, die die 
Standardgeräteklasse CDC verwenden, und welche, die eine vom Hersteller 
abhängige proprietäre Implementierung nutzen. Die überwiegende Mehrheit 
der USB-Seriell-Bridges fällt in die zweite Kategorie - das ist bei 
FTDI, Prolific, SiLabs und auch WCH der Fall. CDC ist eher die seltene 
Ausnahme.

Und wie stellst Du Dir die Verbindung "serielle Schnittstelle" / WLAN 
vor? Was soll da passieren? Willst Du einen seriellen Deviceserver 
nachbilden?

: Bearbeitet durch User
von Rahul D. (rahul)


Lesenswert?

Mampf F. schrieb:
> Vlt mit einem ESP32? 🤔

Wenn der USB-Host spielen kann...

von Sebastian R. (sebastian_r569)


Lesenswert?

Soll auf der "Host-Seite" denn wieder USB herauskommen oder kann es auch 
eine Softwarelösung sein?

Früher™ gab's da mal ein paar Produkte von Silex

von Harald K. (kirnbichler)


Lesenswert?

Sebastian R. schrieb:
> Früher™ gab's da mal ein paar Produkte von Silex

Das sind die von mir erwähnten USB-Device-Server.

Sowas kann man auch mit einem Raspberry Pi und etwas Software 
selbstbasteln; die Software ist zwar kommerziell, wenn man aber nur 
genau ein USB-Device anschließt, kann man sie kostenlos verwenden.

Das eine der Varianten derr "Generic VirtualHere USB Server Builds" von 
hier:
https://www.virtualhere.com/usb_server_software

Auf dem PC muss man dann den zugehörigen Client installieren, um die 
nötige "virtuelle USB-Karte" zu erhalten:
https://www.virtualhere.com/usb_client_software


Nur scheint mir das mit Kanonen auf Mücken geschossen ...

von Stephan (stephan_h623)


Lesenswert?

Mampf F. schrieb:
> Vlt mit einem ESP32? 🤔

Das Beispiel hier könnte dazu passen: 
https://github.com/espressif/esp-idf/tree/v5.2.2/examples/peripherals/usb/host/cdc/cdc_acm_vcp

Geht aber nur mit ESP32-S3 oder -S2. Ein fixer String wie im Beispiel 
könnte ja für einen schnellen Test ob dein USB Device angesprochen kann 
schon reichen.

Die Daten später dann halt z.B. per Websocket zum ESP schicken.

von Helmut -. (dc3yc)


Lesenswert?

Falls du Windows verwendest, suche doch mal nach COM2TCP oder TCP2COM. 
Vielleicht kannst du das gebrauchen?

von Marc G. (marcm)


Lesenswert?

ESPEasy mit SerialServer ?

So hängt mein Arduino Uno mit RFLink drauf im WLAN...

von Rüdiger B. (rbruns)


Lesenswert?

Eine alte Fritzbox z.B. mit USB Fernzugang.

von Harald K. (kirnbichler)


Lesenswert?

Rüdiger B. schrieb:
> Eine alte Fritzbox z.B. mit USB Fernzugang.

Das ist ein USB-Deviceserver, aber ein besonders schlechter, denn den 
nötigen Treiber für die "virtuelle USB-Karte" gibt es nur für Windows 
und sonst gar nichts.

von John-eric K. (mockup)


Lesenswert?

Suche doch einfach mal nach "WIFI" und "AT Commands" bei Google.

SimpleLink Bei TI
https://www.ti.com/lit/ug/swru534d/swru534d.pdf

EspressIf hat auch was
https://docs.espressif.com/projects/esp-at/en/latest/esp32/AT_Command_Set/index.html

SiliconLabs hat da was
https://docs.silabs.com/rs9116-wifi-at-prm/2.9.2/rs9116-wifi-at-prm-at-command-examples/

Es gibt ja WLAN-Module mit UART Interface. Seriel to USB Konverter dran 
und dann sollte es doch das sein, was du willst, oder?

ESP8266
https://www.espressif.com/sites/default/files/4a-esp8266_at_instruction_set_en_v1.5.4_0.pdf

Für ESP32 - A step-by-step guide to enable AT commands for ES32P-AT via 
USB on DevKitC
https://esp32.com/viewtopic.php?t=8821

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Stephan schrieb:
> Das Beispiel hier könnte dazu passen:
> 
https://github.com/espressif/esp-idf/tree/v5.2.2/examples/peripherals/usb/host/cdc/cdc_acm_vcp

Oh das sieht interessant aus.

Glaub die ESP32-S3 können tatsächlich USB-Host mit bis zu full-speed, 
aber mehr können meine USB-Geräte eh nicht.

Dann müsste man ja nur noch den WIFI Part bauen, was an einem ESP32 der 
einfachste Teil sein müsste 🤔

John-eric K. schrieb:
> Suche doch einfach mal nach "WIFI" und "AT Commands" bei Google.

WIFI -> Serial gibt es viel, aber WIFI -> USB CDC leider nicht.

Ich würde das letztere benötigen 🙈

von Vanye R. (vanye_rijan)


Lesenswert?

Die wichtiges zu klaerende Frage ist im ueberigen, wieso WLAN? .-)

Ist das nur ein Synonym fuer: ich will per Funkt von A nach B?
Da gibt es dann ja auch noch andere Moeglichkeiten die besser sein 
koennen.

Vanye

von Harald K. (kirnbichler)


Lesenswert?

John-eric K. schrieb:
> Es gibt ja WLAN-Module mit UART Interface. Seriel to USB Konverter dran
> und dann sollte es doch das sein, was du willst, oder?

Falsche Richtung. Das WLAN-Gerät soll mit der USB-Seriell-Bridge /via 
USB/ reden, weil die nämlich bereits in einem (nicht genannten) anderen 
Gerät eingebaut ist.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Vanye R. schrieb:
> Ist das nur ein Synonym fuer: ich will per Funkt von A nach B?

Hmm ja nicht ganz, optimal wäre es, wenn man wireless full-duplex TCP 
benutzen könnte, das dann quasi in ein USB serial umgewandelt wird.

Da die ESP32 ja sehr gut verfügbar sind und kaum was kosten und sie WIFI 
sehr einfach ermöglichen, wäre das imHo eine einfache Möglichkeit.

Und wenn sie in Hardware USB Full-Speed Host können und es USB CDC ACM 
Example-Code gibt, is des scho fast a gmahde Wiesn 😅

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Mampf F. schrieb:
> und es USB CDC ACM Example-Code gibt,
> is des scho fast a gmahde Wiesn

Aber nur, wenn das nicht genannte USB-Gerät tatsächlich das 
CDC-Protokoll verwendet. Wenn da eine USB-Seriell-Bridge von FTDI, 
Prolific etc. drin ist, dann ist die Wiese vom Mähversuch komplett 
unbeeindruckt.

von John-eric K. (mockup)


Lesenswert?

Harald K. schrieb:
> Falsche Richtung.
Danke. Hab ich übersehen.

Harald K. schrieb:
> Aber nur, wenn das nicht genannte USB-Gerät tatsächlich das
> CDC-Protokoll verwendet.

Das sollte er dann vorher klären.

Die Frage ist auch wie du dann darauf Zugreifen willst per WLAN?
Die maximale größe der Platine.

Andere Vorschläge:
1. Raspberry Pi Pico W https://www.waveshare.com/raspberry-pi-pico-w.htm
1.1 Kann WLAN und scheibar USB CDC Host: 
https://github.com/hathach/tinyusb/discussions/925
2. Ein kleines Linux board mit WIFI: 
https://www.mikrocontroller.net/articles/Linux_Boards
2.1 Aus der Liste https://www.8devices.com/products/carambola-2
2.2 Raspberry Pi Zero 2W

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

John-eric K. schrieb:
> Harald K. schrieb:
>> Aber nur, wenn das nicht genannte USB-Gerät tatsächlich das
>> CDC-Protokoll verwendet.
>
> Das sollte er dann vorher klären.

Jap, das sind Eigenentwicklungen - ich wollte sie nur WIFIsieren ohne 
irgendwas an der Hardware ändern zu müssen.

Danke für euren Input, ich versuche es mit einem ESP32-S3 mit der OTG 
Funktion.

Ab "N8R8" kann man wohl sogar ein kleines Linux drauf laufen lassen, das 
probier ich auch mal aus.

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.