Gibt es eine WIFI -> USB CDC bridge?

OP Persönliche Seite #7691186
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

#7691189
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

#7691192
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?

#7691203
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 ...

#7691247
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.

#7691292
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

OP Persönliche Seite #7691297
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 🙈

OP Persönliche Seite #7691307
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 😅

#7691320
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
OP Persönliche Seite #7691618
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren