USB Port programmieren

A

axelsp

Neues Mitglied
0
hallo liebe Gemeinde,

ich programmiere derzeit an einer App zur Fernsteuerung eines kleinen
Testfahrzeuges.

Habe dazu folgende zündende Idee, (mangels Lust und KnowHow auf WLAN oder Bluetooth Programmierung für eigene Daten I/O)

Nutze zwei HTC Desire:
1) Sender - Server mit Applet im Browser für Livestream einer Cam und Steuerungsausgabe (analog SecuryCam o.ä.)
2) Empfänger - senden des Livestream der Handykamera und Aktorenansteuerung

Dazu würde ich gerne auf die USB Schnittstelle des Desire zugreifen und
über USB to RS232 oder Parallelport (Relaiskarte) meine paar Ausgänge für Motoren usw.setzen.

Hat jemand Erfahrung oder ne Ahnung, ob es in Android/Java jetzt aktuell was für USB Ansteuerung gibt?

Vielen Dank für nette Anregungen.
Dorsdn.
 
Nein leider ist die Steuerung der USB Ports über Android´s Java nicht vorgesehen.
Allerdings solltest du dir bewusst sein, dass "unter" Android immer noch ein Linux schlummert dessen Funktionalität du verwenden könntest.

Get Involved | Android Open Source
 
Wenn du dazu was findest wie man ein eigenes Protokoll vielleicht sogar in ein laufendes System bringen kann ohne ein neues ROM zu installieren, gib bitte hier Rückmeldung!
 
Vielen dank für die fixe Antwort.
Hatte mir das schon gedacht, da es nirgends was im IN zu finden gab.
Sollte ich was rausfinden, werde ich es hier natürlich gerne posten.

MfG
 
Was spricht denn gegen Bluetooth und die Nutzung des Seriellen Profiles?
 
Also standardmäßig, ist der usb vom device nur ein USB Client. Sprich du müsstest ein USB Host haben, der dein Device erkennt. Falls das geht bitte ;) Ansonsten gibt es auch im internet ein treiber um aus dem USB Client ein USB Host zu machen... damit kannst du dan sämtliche USB Geräte an dein Smartphone hängen z.b. USB Tastatur / Maus / webcam was du auch willst...

einfach ein wenig googlen :)
 
Hallo liebe Forum Gemeinde, durch vieles googlen bin ich mal wieder hier gelandet und habe mich zur Anmeldung durchgerungen.

-- Sry wenn der Post hier falsch ist, dann bitte verschieben, habe kein passenderes Thema gefunden --

Ich schreibe zu diesem Thema, da ich ähnliches plane (ich möchte einen Motor via Android App steuern). Meine Frage an euch wäre folgende: Hat schon jemand eine Möglichkeit gefunden, den Spannungspegel am USB Anschluss des Android Handys via App zu steuern? Mir würde ein einfaches Beispiel genügen, z. B. einen Button in einer App der an den Datenleitungen des USB Interfaces einen heigh- (1) oder low- (0) Pegel ausgibt. Wäre super, wenn mir jemand ein solches Beispiel schreiben könnte. Ich habe - wie beschrieben - schon viel gegooglet und zumindest herrausgefunden, dass es seit Andorid 3.1.x möglich ist dies zu realisieren.

Hilfreicher Link: USB Host and Accessory | Android Developers (siehe auch Unterseiten).

Danke für alle die mir helfen können oder die dich sich zumindest der Sache annehmen.
 
Glaub mir, unter Android wird die Programmierung mit Bluetooth und eines BTM222 Bluetooth-Seriel einfacher werden, als wie du dich mit dem ADK herumschlägst. Passendes Phone mit USB Host Controller vorausgesetzt.
 
Abend und danke euch beiden schon mal für die Antworten.

@snowman: Ich glaube das was du mir geschickt hast, trifft nicht ganz das was ich suche, da man eine zusatz-Platine mit Chip benötigt. (Ich habe den Motor an einen mµ-Controller angeschlossen und möchte nur mit einem USB Kabel ein serielles Eingangssignal einspeißen und suche somit die nötige Software. - War von mir wsl. etwas unklar dargestellt - sorry dafür.)

@thefarkrose: bluetooth ist mir bei meinen recherchen oft untergekommen, möchte ich jedoch ungern einsetzen, da im Einsatzgebiet schon viel Funkttechnik kommuniziert und die übertragung schon jetzt sehr gestört ist (u.a. durch bluetooth).

habe nochmal ein video im internet gefunden, was darstellt was ich haben möchte (der umbau dieses konzeptes auf meinen sachverhalt, bekomme ich bestimmt selbst auf die reihe):
Android + Arduino + USB Host + Simple Digital Output | MitchTech
(wenn möglich keine extra platine, sondern nur software, die spannung am usb interface, je nach software ausgibt. android apk's habe ich schon selbst erstellt, damit komme ich klar, aber die kommunikation via usb ist mir ein rätsel :( - leider.)
 
Das was du willst ist so nicht möglich!
 
TheDarkRose schrieb:
Das was du willst ist so nicht möglich!

wieso soll das nicht möglich sein?
klar benötige ich einen mµ-Controller zum auswerden der übertragenen seriellen signale, jedoch habe ich schon einen und möchte auch diesen dafür nützen.

es ist doch ein sog. "host-modus" mögich, was für mich bedeutet, den usb-port steuern zu können. jetzt sollen "lediglich" heigh oder low pegel ausgegeben werden - via software.
 
1. Nicht jedes Smartphone hat einen USB Host Chip. Fast nur die neuen
2. ADK ist erst bei ICS dabei
3. Weißt du überhaupt wie USB funktioniert? Wenn dann müsstest du einen FTDI USB-RS232 Wandler dranhängen, aber dass es da einen Treiber für Android und ADK gibt bezweifle ich.
4. Ergo so nicht möglich, schon gar nicht ohne extra Hardware.
5. WLAN oder Bluetooth verwenden.
 
ich danke dir für die rasche antwort, jedoch hat mein smartphone ics und laut internet kann ich die usb host funktionalität nützen. es soll sich nicht um ein massenprodukt handeln, vielmehr habe ich die umsetzung der steuerung explizit für mein gerät geplant. zum dritten punkt kann ich dir sagen dass mir die schnittstelle und deren funktionsweise sehr wohl bekannt sind ;). zum 4ten punkt möchte ich sagen: du hast recht. - jedoch habe nütze ich schon extra hardware, den atmega32 (mµ), von dem ich gerne einen eingangspin nützen möchte. es muss möglich sein das zu realisieren, da alle anderen platinen ja auch letztendlich via usb und mµ mit dem android phone kommunizieren.
wlan und bluetooth sind leider keine möglichkeit :( (für mich).
 
Nein, nur mit einem I/O vom AVR wird das nicht funktionieren. Du brauchst einen Chip der dir deinen USB Client spielt. Es gäbe die FTDI USB->RS232 Wandler nur ist da eher die Treiberfrage wieder.

Edit, wo ist eigentlich dein Problem den Arduino USB Host Shield fürs ADK zu kaufen und über die serielle damit zu kommunizieren? Ob du jz einen oder zwei AVR verwendest ist doch egal.
 
TheDarkRose schrieb:
Nein, nur mit einem I/O vom AVR wird das nicht funktionieren. Du brauchst einen Chip der dir deinen USB Client spielt. Es gäbe die FTDI USB->RS232 Wandler nur ist da eher die Treiberfrage wieder.

Edit, wo ist eigentlich dein Problem den Arduino USB Host Shield fürs ADK zu kaufen und über die serielle damit zu kommunizieren? Ob du jz einen oder zwei AVR verwendest ist doch egal.

jetzt versetehe ich wie du meinst. :(
arduino usb host shield ist prinzipiell eine feine sache (soweit mir bekannt), jedoch habe ich mit einer weiteren platine ein platzproblem -.- . werde wohl nochmals umkonstruieren müssen.
 
Naja, schau dir mal den Schaltplan vom Host Shield an. Die verwenden auch nur einen Maxim Wandler Chip. du müsstest dir dann halt mal deren Firmware für den AVR anschauen und übernehmen.
 
TheDarkRose schrieb:
Naja, schau dir mal den Schaltplan vom Host Shield an. Die verwenden auch nur einen Maxim Wandler Chip. du müsstest dir dann halt mal deren Firmware für den AVR anschauen und übernehmen.

du meinst ich soll doch meinen avr mµ verwenden? ich stelle mir das sehr schwer vor dort eine art client für andorid zu starten.
 
wenn die ressourcen vorhanden sind. DAs Arduino USB Host Shield hat auch nur einen ATmega2560. Müsstest halt Teile deren Firmware in deine übernehmen. Einen MAX3421E "USB Peripheral/Host Controller with SPI Interface" bräuchtest du trotzdem.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: the.quest
ich hatte mir das ganze einfach vorgestellt, muss ich rückblickend sagen, zumal mir dann immer noch die software fehlt :(
 

Ähnliche Themen

R
  • Gesperrt
  • roland-senior
Antworten
3
Aufrufe
907
swa00
swa00
R
Antworten
9
Aufrufe
713
koje71
koje71
Zurück
Oben Unten