Forum: Mikrocontroller und Digitale Elektronik Arduino 2040 als USB-Host oder Alternative?


von Oz z. (ozzy)


Lesenswert?

Moin,

Ich habe folgende Herausforderung: ich habe hier ein System mit einem 
Mikrocontroller, mit dem ich über den USB Port kommunizieren kann. Nun 
würde ich aber gerne daraus eine Funkstrecke machen, ohne etwas an dem 
System zu ändern. Am schönsten wäre es, einen Dongle zu bauen, der einen 
USB-Host fähigen kleinen Mikrocontroller beinhaltet und der dann die 
Daten über Bluetooth sendet. Allerdings gibt es hier wohl wenig 
Auswahlmöglichkeiten. Ich habe gesehen, dass der RP2040 USB-Host 
unterstützen soll, als „Nano RP2040 Connect“ würde der sogar alles 
mitbringen. Allerdings habe ich bisher wenig im Netz zu einer Umsetzung 
gesehen. Hat sich von Euch schon einmal jemand (erfolgreich) damit 
beschäftigt?
Oder kennt jemand ICs die man sonst zwischen die beiden USB Buchsen 
schalten könnte die eine Kommunikation ermöglichen?

Vielen Dank für Eure Hilfe!!!

von Stefan F. (Gast)


Lesenswert?

Oz z. schrieb:
> ohne etwas an dem System zu ändern

Die Idee scheitert meistens daran, dass andere Übertragungswege ein 
anderes Timing haben. In den allermeisten Fällen muss doch die Software 
angepasst werden.

von Oz z. (ozzy)


Lesenswert?

Hallo, also die Softwareanpassung wäre kein Problem, die liegt nämlich 
bei mir. Aber die Schnittstelle ist eben fix, da die Leiterplatten nicht 
modifiziert werden kann und alle Pins auch belegt sind.

von Stefan F. (Gast)


Lesenswert?

https://www.gefen.com/wp-content/uploads/ext-wusb-4pic.pdf
Das Ding hatte wohl um 400€ gekostet, kann man aber jetzt nicht mehr 
kaufen.

von Stefan F. (Gast)


Lesenswert?

Oz z. schrieb:
> Aber die Schnittstelle ist eben fix, da die Leiterplatten nicht
> modifiziert werden kann und alle Pins auch belegt sind.

Vielleicht hilft dir so ein Adapter: 
https://www.tindie.com/products/matzelectronics/ch559-usb-host-to-uart-bridge-module/

von Jens M. (schuchkleisser)


Lesenswert?

Ein schnurloses USB kannst du vergessen, das Timing gibt das nicht her.

Eine einigermaßen funktionierende Lösung ist ein Linux-Dings mit dem 
USB-Host, der das USB via IP auf einen PC bringt für den man dann einen 
Treiber braucht, der daraus einen virtuellen Hub macht.
Mit einem WLAN-"RPi" (kann auch was anderes sein, Hauptsache WLAN und 
USB und Linux) und auf der Hostseite z.B. virtualhere (siehe 
https://www.virtualhere.com/) klappt das einigermaßen. Ist instabil und 
langsamer, funktioniert aber.

Wenn jemand eine Alternative kennt: bitte, gern, ich suchte auch mal 
sowas.

von Oz z. (ozzy)


Lesenswert?

Moin,
So viele Daten will ich gar nicht per Bluetooth senden, also kein 
direktes USB zu Bluetooth. An einen zero hatte ich auch schon gedacht, 
fand den aber etwas oversized…

von Jens M. (schuchkleisser)


Lesenswert?

Dann wird das eine sehr spezifische Lösung, bei der der Adapter am Gerät 
Host ist und "der Gerät" auslesen und verstehen kann, die Daten dann via 
Funk an das andere Ende sendet und dort wieder ein USB-Device ist, das 
lügt das es "der Gerät" sei.
Das ist so besonders das es nicht kaufbar ist, und es ist sehr latent, 
d.h. der Device-Lüger muss nicht nur so tun als sei er der Gerät, 
sondern auch noch ab und an den echten Host hinhalten weil die Daten 
erst via Funk angefordert werden müssen.

von Oz z. (ozzy)


Lesenswert?

Jein, nicht ganz. Bei sehr individuell stimme ich Dir zu! Aber die Daten 
sollen einfach per Bluetooth an eine App geschickt werden, und da 
einfach angezeigt werden. Der jetzige Controller ist nur nicht 
Bluetooth-fähig. Und die einzige erreichbare Schnittstelle ist nun 
einmal die USB-Schnittstelle. Letzten Endes brauche ich ja “nur” einen 
Chip, der mir aus dem USB wieder eine Uart macht. Da könnte ich ja mit 
einem kleinen Arduino BLE die Daten dann weiterverarbeiten.

von Stefan F. (Gast)


Lesenswert?

Oz z. schrieb:
> Letzten Endes brauche ich ja “nur” einen
> Chip, der mir aus dem USB wieder eine Uart macht.

Hast du dir diesen angeschaut?:
https://www.tindie.com/products/matzelectronics/ch559-usb-host-to-uart-bridge-module/

von Jens M. (schuchkleisser)


Lesenswert?

Oz z. schrieb:
> Letzten Endes brauche ich ja “nur” einen
> Chip, der mir aus dem USB wieder eine Uart macht.

Aber der muss mit deinem Gerät reden können, also USB-Host sein und 
"einen Treiber" haben, also mit dem USB-Chip kommunizieren und die 
entsprechende Geräteklasse bedienen können.
Dann kann er die Daten da rausholen wie ein PC und dann nach Gusto 
weiterverarbeiten.

Das Ding was stefanus da gefunden hat ist ein Teil der Lösung: es 
übersetzt USB nach UART.
Aber doof: da kommen 400kBit/s roher Datenstrom raus, d.h. den Treiber 
für dein USB-Gerät musst du noch schreiben, und dann halt noch den 
Sender.

Evtl. geht auch was mt einem FTDI Vinculum, wenn man den noch bekommt.
Aber man muss halt immer noch das ent-USB-te Ende bedienen (Treiber) und 
die Daten übertragen.

von Oz. (Gast)


Lesenswert?

Stefan F. schrieb:
> Die Idee scheitert meistens daran, dass andere Übertragungswege ein
> anderes Timing haben.

Aha, und weiter?


Stefan F. schrieb:
> Hast du dir diesen angeschaut?:
> 
https://www.tindie.com/products/matzelectronics/ch559-usb-host-to-uart-bridge-module/

Ja, habe ich mehrfach. War aber witzlos.

von Stefan F. (Gast)


Lesenswert?

Oz. schrieb:
>> Die Idee scheitert meistens daran, dass andere Übertragungswege ein
>> anderes Timing haben.

> Aha, und weiter?

Ich habe dir ein Produkt vorgeschlagen. Eine allumfassende Lösung ohne 
Haken kann ich dir nicht bieten. Die gibt es vermutlich auch nicht.

> 
https://www.tindie.com/products/matzelectronics/ch559-usb-host-to-uart-bridge-module/
> Ja, habe ich mehrfach. War aber witzlos.

Witzig muss es auch nicht sein. Warum taugt dieses Produkt nicht für 
deinen Fall? Wenn du uns das verrätst, kann jemand anderes vielleicht 
ein geeigneteres empfehlen.

von Oz z. (ozzy)


Lesenswert?

@Stefan: Moin, der Oz. eben war nicht ich. Ich habe jetzt übrigens den 
VNC2 von FTDI eingesetzt. Nicht so schick wie die Lösung von Dir aber 
besser verfügbar. Vielen Dank noch mal für Deine Hilfe!

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.