Verwenden Sie als USB-Serial Bridge einen aktiven PS/2 -> USB Adapter

Ich arbeite an einem kleinen Robotikprojekt, bei dem ich mein altes Telefon (Nokia 5230, das unter Windows als serieller USB-Anschluss angezeigt wird, aber das USB-Kabel ist durchgehend) aktivieren muss, um mit einem Arduino UNO R3 zu sprechen (unterstützt kein USB Host-Modus nativ).

Meine Idee besteht darin, das USB-Kabel für das Telefon und das USB-Ende des Adapters zusammenzustecken und den DATA/CLOCK-Port aus der PS/2-Buchse mit dem Arduino zu verdrahten und seriell über USB zu kommunizieren .

Im Wesentlichen verhält sich das Telefon genauso wie eine PS/2-Tastatur, die mit dem Arduino verbunden ist.

Entschuldigung, wenn meine Antwort auf Originalrecherchen fehlt, ich frage nur, ob es machbar ist (und einige allgemeine Ratschläge), damit ich anfangen kann, mehr darüber zu lesen.

ps: Mit aktiv meine ich, Windows zeigt den Adapter als zusammengesetztes USB-Gerät (mit nichts an den PS/2-Ports angeschlossen) und es gibt einen Schaltkreis mit einigen Kondensatoren und einem großen Epoxidklecks darauf.

Nicht alle Telefone können als USB-Host fungieren. Darüber hinaus können Telefone, die dies tun, den USB-Bus möglicherweise nicht mit Strom versorgen, das Gerät kann jedoch selbst mit Strom versorgt werden. Vielleicht verstehe ich das falsch und der Arduino ist Ihr Host.
Ich hatte vor, die Spannungsstifte am PS/2-Anschluss zur Stromversorgung zu verwenden.
Ich habe festgestellt, dass ich kein N-Key-Rollover auf meinen Tastaturen habe, wenn ich einen PS/2->USB-Konverter verwende, ich würde mir Sorgen machen, Daten bei etwas mehr als ~5 Zeichen/Sek. zu verlieren.
Der Hauptengpass wäre in der Mechanik, also sollten 5 ch/s ausreichen, denke ich.

Antworten (1)

Basic USB ist eine asymmetrische Verbindung: ein Master verbindet sich mit einem Slave. Sie können nicht zwei Master oder zwei Slaves verbinden (Sie können, wenn Sie Kabel neu verdrahten, aber es wird nicht funktionieren).

Das USB-Kabel für Ihr Telefon verbindet einen Master (den PC) mit einem Slave (Ihr Telefon). Der PS2-USB-Konverter ist wahrscheinlich ein Slave, der sich mit Ihrem PC (dem Master) verbindet. (Ihr PS2-USB-Konverter könnte weniger als ein Slave sein, wenn er sich auf die Tastatur verlässt, um einen Teil der Arbeit zu erledigen.)

Daher können Sie Ihren PS2-USB-Slave nicht (erfolgreich) mit Ihrem Telefon-Slave verbinden.

Könnten Sie bitte den Master-Slave-Teil näher erläutern? Ich möchte kein vollständig standardkonformes USB implementieren, nur um das Telefon mit dem Arduino "sprechen" zu lassen. Ich meine, Sie sollten in der Lage sein, eine USB-Tastatur erfolgreich an den Adapter anzuschließen und diese wiederum mit dem Arduino zu verbinden und damit zu interagieren. Warum sollte das Telefon nicht in der Lage sein, die Tastatur (die ein Slave-Gerät ist) und das Arduino zu emulieren? den Hostteil im PS/2-Setup übernehmen ?
- Hat Arduino einen USB-Host-Stack, der HID unterstützt? Ich kann mich irren, aber ich glaube nicht! - Implementiert Ihr Telefon das HID-Protokoll? Nochmals, ich denke nicht.
@WoutervanOoijen Das OP gibt nicht an, welches Arduino. Der Arduino Due unterstützt den USB-Host-Modus .
@Anido: Ich habe das grundlegende Arduino angenommen, wenn das OP etwas anderes annimmt, sollte er besser angeben, welches. Mit einem Host-Stack auf dem Arduino könnte das direkte Anschließen eines Telefons funktionieren, abhängig vom vom Telefon verwendeten Protokoll (IIRC, viele verwenden einfaches Serial-over-USB). Beachten Sie, dass das OP nicht angegeben hat, welches Telefon :(
@Wouter van Ooijen Entschuldigung, dass ich diese Informationen weggelassen habe, ich habe den ersten Absatz der Frage bearbeitet. Und Sie haben Recht, sie unterstützen HID nicht (zumindest standardmäßig). Heißt das, es ist 100% unmöglich? und bedeutet das auch, wenn ich das Ding wie oben beschrieben verkabeln und eine Nachricht mit der RComm-Bibliothek in Symbian senden würde (fraglich verlinkt), würde ich nichts auf dem Arduino erhalten? Danke für die Antwort, wirklich sehr geschätzt :)
Ich bin mit den Details nicht vertraut, aber ich vermute, Sie werden nicht einmal in der Lage sein, die serielle Schnittstelle zu öffnen, es sei denn, es gibt einen Host auf der anderen Seite.
Oh, so hatte ich mir das nicht vorgestellt. Aus dem gleichen Grund funktioniert die Verwendung eines USB-TTL-Adapters auch nicht, und es gibt keine andere Möglichkeit, als ein USB-Host-Schild zu kaufen, denke ich?