USB-OTG und USB Kommunikation

  • Antworten:23
Alex H.
  • Forum-Beiträge: 8

18.10.2017, 12:09:35 via Website

Hi,

habe vor einen Sensor über Tablet zu versorgen. Habe jetzt abundzu gelesen USB-OTG stellt nur 100mA zur Verfügung und mehr (bis500mA) muss vom Device angefordert werden? Stimmt das? Falls ja, wäre das auch Softwareseitig aus einer App freischaltbar?

Der Sensor gibt Daten seriell aus (UART), die ich über das vorhanden USB-Kabel (was auch zur Energieversorgung dient) auslesen möchte. Kann ich das einfach über ein Adapterkabel realisieren?? Gibt es da fertige Lösungen. Im Idealfall kann ich auch vom Tablet an den Sensor etwas schicken. Erkennt Android das so ohne weiteres?
Die Daten sollen dann in einer selbst erstellten App dargestellt werden.

Freundliche Grüße
Max

Antworten
swa00
  • Forum-Beiträge: 3.704

18.10.2017, 12:25:37 via Website

Hallo Alex,

OTG ist NICHT USB -Host

Wenn du den Sensor ordentlich betreiben willst, dann bleibt dir nur der AOA mode, oder eine FTDI Brigde oder
eine TCP / IP Lösung. Rein RS232 kannst du dann mit PL2303 Prolific arbeiten. (Root erforderlich)

Die Stromversorgung über Pin 1 & 5 ist nicht pauschal auf 100mA begrenzt - Das kommt auf die
verbaute Hardware an. Grundsätzlich solltest du den Sensor extern mit Strom versorgen.
Ich würde spätestens bei max 250-300 mA die Handbremse ziehen

Willst du beim Betrieb auch das Smartphone/Device mit Strom versorgen , dann benötigst du je nach Hersteller einen
speziellen Widerstand zwischen Pin4 und Masse. (Variiert zwischen 30kOhm und 160kOhm)

Das funktioniert i.d.R nur bei älteren Devices von Samsung - bei den Neueren nicht mehr
(Da Resistor-Moist - Detection an der Buchse und z.b. beim S7 / S8 VR Gear Modus)

— geändert am 18.10.2017, 13:50:38

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Michael K.
  • Forum-Beiträge: 1.126

18.10.2017, 13:41:25 via Website

Für die Prototypenentwicklung würde ich solche Adapter verwenden:

https://www.amazon.de/SODIAL-FT232RL-Modul-Konverter-Adapter/dp/B00YMJVSIS/ref=pd_sbs_107_4?_encoding=UTF8&psc=1&refRID=QT4YB0EYGMSWEZM6ZCM8

Allerdings setzt der voraus, dass Dein Sensor seine Uart-Schnittstelle mit TTL-Pegel betreibt. Dabei kommt wiederum eine Betriebsspannung des Sensors mit 5 Volt oder mit 3,3 Volt in Frage, was sich an der Adapterplatine einstellen lässt.
Ein 5 Volt Sensor kommt in aller Regel mit 3,3 Volt Pegeln zurecht, während ein 3,3 Volt Sensor durch 5 Volt Pegel geschädigt werden kann. Erzeugt der Sensor aber echte RS 232 Pegel im Bereich von +/-3 bis +/-15 Volt, weil es sich um einen fertigen Sensor und nicht um ein Sensorbauteil handelt, dann brauchst Du einen normalen USB-RS232-Adapter, der auch nicht viel teurer ist. Weiter ist die Baudrate, die Zahl der Stoppbits und der Betrieb mit oder ohne Paritätsbit an Sensor und Adapter aufeinander abzustimmen. Viele Sensorbauelement brauchen nur sehr wenig Strom (einige mA), andere deutlich mehr, z.B. Gassensoren mit eingebautem Heizelement.
Wenn Du verrätst, um welchen Sensor es sich handelt, am besten mit genauer Typbezeichnung, kann Dir wesentlich besser geholfen werden.

https://www.amazon.de/adaptare-42103-2-0-Adapter-FTDI-Chip-COM-Port/dp/B00594WPDW/ref=sr_1_1?s=computers&ie=UTF8&qid=1508326965&sr=1-1&keywords=Rs232-Adapter+FTDI

Für das Smartphone oder Tablet brauchst Du dann noch einen OTG-Adapter, nicht zwingend nötig, aber hilfreich dürfte noch ein USB-Verlängerungskabel sein, bei dem TTL-Adapter zusätzlich ein USB-A nach Micro-USB-Kabel.

https://www.druckerzubehoer.de/shop/product.phtml?catid=D-COMPUTERKABEL_KAB&subcatid=USB_KAB&productid=1689536-KAB93999&lng=de_DE&refid=g.druckerzubehoer.de&refid=g.druckerzubehoer.de&wt_mc=18047926242_55649516802&gclid=Cj0KCQjw95vPBRDVARIsAKvPd3KNXAdPOcD2G2lXBAC55WtIcN7YBnsatRNm_Iopd3Q7nXBzXyg5hSwaAiBcEALw_wcB

https://www.amazon.de/UGREEN-Adapter-Samsung-Android-Funktion/dp/B00LN3LQKQ/ref=sr_1_4?s=computers&ie=UTF8&qid=1508327366&sr=1-4&keywords=USB-OTG+Adapter

— geändert am 18.10.2017, 14:03:38

swa00

Antworten
swa00
  • Forum-Beiträge: 3.704

18.10.2017, 13:53:59 via Website

@Micha

Für das Smartphone oder Tablet brauchst Du dann noch einen OTG-Adapter, nicht zwingend nötig, aber hilfreich dürfte noch ein USB-Verlängerungskabel sein.

Wenn er FTDI/Prolific/AOA benutzt ( deine Links) darf er KEIN OTG verwenden , weil ein Schluss auf Pin 4 ist.
Das Device geht dann nicht mehr in den internen Host Mode , damit er in der App die Daten greiffen kann

— geändert am 18.10.2017, 13:57:09

Liebe Grüße - Stefan
[ App - Entwicklung ]

Michael K.

Antworten
Alex H.
  • Forum-Beiträge: 8

18.10.2017, 15:00:59 via Website

Danke soweit, ich geh nochmal auf eure Rückfragen ein :)

welchen Sensor

Ein Feinstaubsensor wie z.B. der sds011 (kann kein Link schicken)

Betriebsspannung: 5V (benötigt der Lüfter)
UART-Schnittstelle mit 3,3V angegeben (finde keine Angaben ob die 5V tolerant ist, also besser bei 3,3 bleiben ;) )
Strom: max 220mA , wobei für dauerbetrieb auch oft >100mA angegen wird. sollte mit der USB-Versogung ja passen

beim Betrieb auch das Smartphone/Device mit Strom versorgen

nein, will ich nicht. Das Tablet muss die geamte Versorgung übernehmen, eine externe Versorgung des Sensors will ich vermeiden. Somit muss ja das Tablet als Host agieren oder sehe ich das falsch? AOA fällt ka da raus.

(Root erforderlich)

das würde ich auch gern vermeiden. Das ganze sollte einfach am Tablet in "Auslieferungszustand" funktionieren. (App installieren, Gerät einstecken und fertig).

Benötigt so ein Adapter keine Treiber? Die müssten ja in Android, dann schon drin sein? Hab keine Erfahrung mit USB und finde wenig brauchbares Einstiegsmaterial.

Antworten
Michael K.
  • Forum-Beiträge: 1.126

18.10.2017, 16:35:55 via Website

Für eine USB-OTG oder auch eine als normale USB betriebene Schnittstelle im Smartphone kenne ich keine genau Spezifikation für die Strombelastbarkeit, vielleicht gibt es auch keine. Jedenfalls muss man davon ausgehen, dass die Strombelastbarkeit geringer als 500 mA ist, da z.B. optische Laufwerke für Mobilgeräte eine zusätzliche Speisung benötigen, die sich am Netbook oder PC aber ohne diese Speisung betreiben lassen (und die Spezifikation verletzen). Ich würde aber sagen, 220 mA müssten drin sein. Bei einem Prototypen würde ich es drauf ankommen lassen, wenn Du eine Serie auflegen willst, sollte der Punkt unbedingt geklärt werden. Ggf. doch eine externe Stromversorgung vorsehen. Auch wenn Du den FTDI-Adapter auf 3,3 Volt einstellst, sollten an den Breakout-Kontakten die 5 V zur Verfügung stehen, was dann die richtige Einstellung wäre, jedenfalls wenn das Datenblatt richtig lese. Wenn Du ganz sicher gehen willst, kannst Du in der Sendeleitung des Sensors einen seriellen 1 kOhm Widerstand einfügen. Der sollte nichts schaden, aber den FTDI schützen, falls der Sensor doch 5 Volt Pegel liefert.

Ich denke eine virtuelle COM-Schnittstelle wird von Android unterstützt, aber das kann Dir Swa00 besser beantworten.
Es gibt ja Apps für USB-Terminalprogramme, und die würde ich für erste Versuche (dann mit OTG-Adapter ?) auch empfehlen.
Falls der Sensor im Klartext sendet, zeigt das Terminalprogramm bei richtiger Schnittstelleneinstellung die Daten dann lesbar an, und Du kannst über die Tastatur Daten senden. Wenn er Binärdaten schickt, kann ein Terminalprogramm mit Transparentmode diese ggf. trotzdem darstellen. Erst wenn die Hardware stabil funktioniert, würde ich mich an die App-Entwicklung machen. Dann muss ich mich allerdings ausklinken, weil ich mich da im Mobilumfeld nicht so gut auskenne.
Die Schnittstellen Einstellungen laut Datenblatt dürften mit den meisten Adaptervoreinstellungen übereinstimmen, so dass der FTDI direkt verwendbar sein dürfte. Wie ich das sehe, sendet er auch Ascii-codiert.

— geändert am 18.10.2017, 16:44:49

Antworten
swa00
  • Forum-Beiträge: 3.704

18.10.2017, 17:00:53 via Website

Hallo Alex,

ich würde es dann mal ganz einfach versuchen.

a) Installiere die die Prolific treiber
b) Erstelle dir eine pseudo app, die die Libraries einbindet ( Achtung das Beispiel von Prolific funktioniert nicht)
(Also selbst aufsetzen)
c) Ermittel Dir die erforderlichen Übertragungsparameter

Und wackel zum Schluss mal damit rum .
Diese Vorgehensweise funktioniert z.b. bei einer ganz normalen USB - GPS Mouse

http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=230&pcid=41

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Michael K.
  • Forum-Beiträge: 1.126

18.10.2017, 17:38:05 via Website

Weil mich die Thematik auch interessiert, habe ich mir vor einiger Zeit diesen Feinstaubmesser bestellt, der den selben Sensor haben könnte (ähnliche Messmodi):

https://www.amazon.de/gp/product/B01M16KG44/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1

Allerdings scheint mein Exemplar oder die Software generell eine Macke zu haben, da die Anzeige des PM2.5 Wertes in ug nach einiger Zeit zum Absturz mit wirren Anzeigen im Display führt. Die anderen drei Messmoden sind stabil, es erfolgt kein Absturz, wenn man die PM2.5-Anzeige nur kurz aufruft.
Falls Du Deine App veröffentlichst, könnte ich eine USB-Schnittstelle nachrüsten. Hier auf dem Land liegen die gemessenen Werte so zwischen 4 ug und 15 ug bei PM2.5.
In Innenräumen sind sie in der Regel niedriger (ausser es wird gekocht) als im Freien. Wenn jemand in einigen hundert Metern Entfernung sein Grünzeug verbrennt, steigt die Anzeige aber schnell auf über 35 ug/m^3.
Der Stromverbrauch beträgt übrigens mit Lüfter aber nur ca. 80 bis 120 mA, was eigentlich jede USB-Schnittstelle liefern sollte.

@Stefan: betrifft das Problem mit dem OTG-Adapter speziell gängige USB-Seriell-Adapter, und kann man es durch einen selbst gebauten Adapter umschiffen?
Nachtrag: Ich habe einen älteren USB-RS232-Adapter mit dem Chip FT232R über einen USB-OTG-Adapter angeschlossen, und gegen einen PC mit klassischer serieller Schnittstelle, auf dem das Programm "TeraTerm" lief, getestet.
Auf den Mobilgeräten liefen die Apps "UsbTerminal" und "Serial USB Terminal". Die Kommunikation lief bei beiden Apps in beide Richtungen problemlos. Die App "Serial USB Terminal" unterstützt laut Info dabei USB CDC devices, FT231/FT232, CP210x, CH340 und den PL2303, dürfte also die entsprechenden Treiber mitbringen.

— geändert am 18.10.2017, 20:42:11

Antworten
swa00
  • Forum-Beiträge: 3.704

18.10.2017, 21:18:47 via Website

@Stefan: betrifft das Problem mit dem OTG-Adapter speziell gängige USB-Seriell-Adapter, und kann man es durch einen selbst gebauten Adapter umschiffen?

Welches Problem meintest du jetzt genau ? Das Pin4 gegen Masse Problem ?

Wenn ja, : Magst du rein seriell mit einer Peripherie kommunizieren , dann darf das Device NICHT in den
USB-Massenspeicher Mode geschaltet werden und das machst Du dem dem oben erwähnten Schluss.
(Und Pin4 gegen Masse ist von Haus aus in jedem OTG Stecker)

Eine GPS Mouse läuft also ohne grosse Hardware-Änderung - alle Pins 1:1 durchgeschliffen.
Lediglich das Prolific Geraffel ist drauf.

Nimmst du aber z.b FTDI-Technik , dann muss das Device vorher in den AOA Mode versetzt werden - es bekommt dann eine andere Vendor / ID auf der dann seriell gequatscht wird.

Wenn ich dich jetzt nicht richtig verstanden habe , dann frag nochmal :-)

— geändert am 18.10.2017, 21:21:49

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Michael K.
  • Forum-Beiträge: 1.126

18.10.2017, 22:05:49 via Website

Vielen Dank erstmal, ja, das Pin 4 Problem meinte ich. Wenn ich Dich richtig verstanden habe, müsste also immer wenn ein OTG-Adapter verwendet wird, und damit meine ich solche Adapter, die man schon aus rein mechanischen Gründen braucht, um ein Gerät mit USB-A-Stecker an ein Mobilgerät mit Micro-USB-Buchse anzuschließen, das Gerät in den AOA-Mode versetzt werden muss, um nicht im Massenspeicher-Mode zu sein.

Nach diesem Artikel müsste dann aber das Device als Host agieren, und sich selbst mit Strom versorgen, also extern gespeist werden:

http://www.elektroniknet.de/elektronik/embedded/meisterhafte-peripherie-94907.html

Bisher konnte ich aber Peripherie ohne eigene Stromversorgung, also Mäuse, Tastaturen, solche USB-RS232-Adapter mit FTDI-Chip (siehe Nachtrag letzter Kommentar) und DVB-Adapter anschließen, die funktioniert haben, und deshalb ihren Strom aus dem Gerät bekommen haben müssen.

Antworten
Alex H.
  • Forum-Beiträge: 8

18.10.2017, 22:42:20 via Website

Vielen Dank für eure Mühe.

Das Prolific Zeug da sieht interressant aus. Scheint genau das zu sein, was ich suche. Muss ich morgen genauer schauen.
Gibt es auch Adapterkabel die den Chip eingebaut haben oder muss ich mir das selbst zusammen puzzeln?
Am Besten wäre ein USB-OTG Kable, das direkt auf UART geht, aber das muss ich wohl selbst bauen?

@Stefan
Jetzt sagt Michael, dass es mit FTDI Chips auch funktioniert und Treiber scheinbar schon in Android standartmäßig enthalten sind. Bist du dir da sicher mit den FTDI und AOA?

Frage zum allgemeinen Verständis: Wenn ich ein Gerät vom Tablet aus mit Strom versorgen will, muss das Tablet doch Host sein und das angeschlossene Gerät Device. In AOA wird das Gerät ja selbst mit Strom versorgt (wie auch im Artikel von Michael steht, den ich auch gelesen hatte). Durch das Pin4 gegen Masse erkennt das Tablet doch das es in den Host Modus geht und nicht als Device fungiert. Also bleibt mir ja nur diese Möglichkeit?

Antworten
swa00
  • Forum-Beiträge: 3.704

18.10.2017, 22:58:07 via Website

Bist du dir da sicher mit den FTDI und AOA?

Bin ich mir zu 100 % Sicher, da ich das hier selber in Produktion habe ( Medizinischer Bereich)
(Der FTDI Chip ist dann auf dem Circuit Board)

.

Lass mal FTDI als Erstes weg

Fährst du rein seriell mit Prolific, dann kannst auch die externe Stromversorgung an Pin 1 und 5 anschliessen und das Kabel 1:1 durchschleifen.
(ich würde allerdings sicherheitshalber V+ vom Device entkoppeln)

Dein Tablet wird dann aber nicht in den Ladezustand versetzt - dein sensor aber mit strom versorgt

Also Nur V- / D+ / D-

Und wenn du Böcke hast , nimm ein Poti, setz den zwischen Pin4 und Masse
und dreh mal lustig und langsam - Wenn du glück hast, geht dein Tablet in Host UND Lademodus

Three additional ID pin states are defined[6] at the nominal resistance values of 124 kΩ, 68 kΩ, and 36.5 kΩ, with respect to the ground pin. These permit the device to work with USB Accessory Charger Adapters that allows the OTG device to be attached to both a charger and another device simultaneously.[8]
These three states are used in the cases of:
•A charger and either no device or an A-device that is not asserting VBUS (not providing power) are attached. The OTG device is allowed to charge and initiate SRP but not connect.[8]
•A charger and an A-device that is asserting VBUS (is providing power) are attached. The OTG device is allowed to charge and connect but not initiate SRP.[8]
•A charger and a B-device are attached. The OTG device is allowed to charge and enter host mode.[8]

Kann nix passieren (Schluss = 0Ohm = OTG Standard)

P.S wenn du lötbare MicroUSB stecker brauchst (5 polig !) - bestell die beim Reichelt - alles Andere
(auch die von Conrad) ist Schrott
https://www.reichelt.de/USB-Kabelverbinder/USB-MICRO-ST/3/index.html?ACTION=3&LA=446&ARTICLE=124013&GROUPID=7531&artnr=USB+MICRO+ST&SEARCH=Micro%2BUSB%2BStecker%252C%2BTyp%2BB%252C%2B5-polig

— geändert am 18.10.2017, 23:48:51

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Alex H.
  • Forum-Beiträge: 8

19.10.2017, 10:06:05 via Website

Okay, danke Stefan. Werde dann mal das Prolific versuchen. Hast du Erfahrung damit?
Guter Tip mit dem MicroUSB, aber den zu löten hab ich keine Lust XD. Hab mir für den Anfang jetzt mal folgendes rausgesucht:
OTG USB Micro B Stecker auf USB A Stecker (bei reichelt gefunden)
und dann ein USB-UART Converter mit dem PL2303
scheint mir einfacher zu sein, wie das selbst zu bauen.

externe Stromversorgung an Pin 1 und 5

das Tablet soll als Quelle dienen. Alles andere ist egal.

(ich würde allerdings sicherheitshalber V+ vom Device entkoppeln)

verstehe nicht wirklich was du damit meinst, bezieht sich das auf die externe Stromversorgung? Dann ist es nicht wichtig (laughing)

Antworten
swa00
  • Forum-Beiträge: 3.704

19.10.2017, 10:13:18 via Website

Okay, danke Stefan. Werde dann mal das Prolific versuchen. Hast du Erfahrung damit?

Hatte ich oben bereits erwähnt ( GPS Mouse)
https://www.amazon.de/Kendau-Usb-GNSS-Empf%C3%A4nger-MG-220-003-9000220/dp/B00G570YAI/ref=sr_1_1?ie=UTF8&qid=1508401013&sr=8-1&keywords=Kendau

OTG USB Micro B Stecker auf USB A Stecker (bei reichelt gefunden)
und dann ein USB-UART Converter mit dem PL2303
scheint mir einfacher zu sein, wie das selbst zu bauen.

Nein , auch falsch verstanden - PL2303 ist eine REINE softwarelösung (siehe link)

verstehe nicht wirklich was du damit meinst, bezieht sich das auf die externe Stromversorgung? Dann ist es nicht wichtig

1 und 5 benötigst du für die Stromversorgung des Sensors- warum also weg lassen ?
und V+ führst du NICHT zum device.

ANhaltspunkt
image

— geändert am 19.10.2017, 10:29:51

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Alex H.
  • Forum-Beiträge: 8

19.10.2017, 10:43:46 via Website

PL2303 ist eine REINE softwarelösung

Hm, da steht doch:
- USB Device with PL2303HXD, PL2303EA, PL2303RA, PL2303SA controller chip
NOTE: PL2303HXA, PL2303XA, PL2303TA are not supported

Also Hab ich ein Kabel(OTG) direkt vom Tablet zur UART Schnittstelle des Sensors? Und die D+ D- vom USB geht direkt an Rx Tx der Schnittstelle?? Wenn das geht wäre gut, nur kommt mir so abenteuerlich vor.

und V+

was ist V+? Hab am USB doch Vcc, GND zur Spannungsversorgung und dann D+ D- NC

Antworten
swa00
  • Forum-Beiträge: 3.704

19.10.2017, 10:49:12 via Website

Hallo ALex,

ich wusste nicht , dass das Ganze für dich Neuland ist
Vcc = V+
GND = V-
D+ / D- = Data

Also Hab ich ein Kabel(OTG) direkt vom Tablet zur UART Schnittstelle des Sensors?

NEIN , KEIN OTG !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ich habe bereits oben mehrmals geschrieben , das KEIN Standard OTG kabel verwendet werden darf , da bei einem OTG Kabel der Pin4 auf Masse liegt und damit der PL2303 nicht arbeiten kann.
Nur wenn du anstatt des Kurzschlusses einen Widerstand nimmst , kann man das Device auch gleichzeitig laden.

Also solltest du Löten , deshalb auch mein Link zum Stecker

Und nichts ist abenteuerlich , das Funktioniert so
.

Du musst dir lediglich die Library von Prolific in dein Projekt einbinden

 static Boolean startUSB()
{
    Boolean ret = true;
    received_bytes_line_counter =0;
    complete_message.setLength(0);

    try {
        UsbManager usbManager = (UsbManager) context.getSystemService(Context.USB_SERVICE);

        HashMap<String, UsbDevice> usbDevices = usbManager.getDeviceList();
        if (!usbDevices.isEmpty()) {
            boolean keep = true;
            for (Map.Entry<String, UsbDevice> entry : usbDevices.entrySet()) {
                device = entry.getValue();
                int deviceVID = device.getVendorId();
                int devicePID = device.getProductId();
                //Log.d(TAG, Integer.toString(deviceVID) + " - " + Integer.toString(devicePID) );

                if ((deviceVID == 1659) && (devicePID == 8963)) {

                    connection = usbManager.openDevice(device);
                    keep = false;
                } else {
                    connection = null;
                    device = null;
                }

                if (!keep)
                    break;

            }
        }

        if (serialPort != null) serialPort.close();

        serialPort = UsbSerialDevice.createUsbSerialDevice(device, connection);
        if (serialPort != null) {
            if (serialPort.open()) {
                // Devices are opened with default values, Usually 9600,8,1,None,OFF
                // CDC driver default values 115200,8,1,None,OFF
                serialPort.setBaudRate(9600);
                serialPort.setDataBits(UsbSerialInterface.DATA_BITS_8);
                serialPort.setStopBits(UsbSerialInterface.STOP_BITS_1);
                serialPort.setParity(UsbSerialInterface.PARITY_NONE);
                serialPort.setFlowControl(UsbSerialInterface.FLOW_CONTROL_OFF);
                serialPort.read(mCallback);
            } else {
                // Serial port could not be opened, maybe an I/O error or it CDC driver was chosen it does not really fit
            }
        } else {
            // No driver for given device, even generic CDC driver could not be loaded
        }
    }
    catch (Exception e)
    {
     ret = false;
     Log.d("USB_DEVICE","INIT_FAILED");
    }

    return ret;

}

— geändert am 19.10.2017, 10:58:19

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Alex H.
  • Forum-Beiträge: 8

19.10.2017, 11:07:37 via Website

Okay Stefan, danke für deine Geduld.

Irgedwie verwirrst du mich aber. Ich will nix laden. Der Sensor soll vom Tablet versorgt werden und nicht extern und das soll auch nicht möglich sein. Auch will ich Tablet nicht während dem Betrieb mit dem Sensor laden (wobei mir auch schleierhaft ist wie das gehen soll, wenn es den Sensor versorgt)
Dafür brauche jetzt dann ein 100k Widerstand von Pin4 zu GND und das funktioniert??
Wie ist das mit D+ D-, ist das egal welcher auch TX RX geht?

> Requirements:

  • USB Device with PL2303HXD, PL2303EA, PL2303RA, PL2303SA controller chip
    NOTE: PL2303HXA, PL2303XA, PL2303TA are not supported

wieso steht das da ?? wenn ich den Chip nicht brauche. Sehr verwirrend.

Antworten
swa00
  • Forum-Beiträge: 3.704

19.10.2017, 11:14:30 via Website

Irgedwie verwirrst du mich aber. Ich will nix laden.

yupp, du bist verwirrt :-)

Die obige Schaltung beinhaltet die Option des Ladens - deshalb habe ich dir auch geschrieben

Nur wenn du anstatt des Kurzschlusses einen Widerstand nimmst , kann man das Device auch gleichzeitig laden.

ALSO EINE OPTION -
Aber die musste ich dir Erklären , damit du die Schaltung verstehst.

Wie ist das mit D+ D-, ist das egal welcher auch TX RX geht?

Nein , das ist USB - wenn dein sensor nur RS232 TTL hat , dann musst du nach der Vorgehensweise von
Michael arbeiten .
Ich habe dir lediglich die Tablet seite erklärt. Du willst ja erst mal in der Lage sein , dass
dein Tablet in den Richtigen Zustand versetzt wird und wie es Softwaretechnisch umzusetzen ist.
(Du schreibst ja im Entwickler-Forum)

Hast du einen Sensor der USB besitzt , dann kannst du D+ / D- so durchschleifen.

USB Devices - so wie die GPS Mouse oben oder eine Tastatur sind i.d.R. bereits PL2303 kompatibel

— geändert am 19.10.2017, 11:24:53

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Alex H.
  • Forum-Beiträge: 8

19.10.2017, 11:28:02 via Website

Nein mein Sensor hat kein USB. Also nehm ich so ein Converter und ein OTG Kabel, wie Michael auch anfangs geschrieben hat. Meine Frage ist eher ob das Tablet den Converter erkennt. Ich benötige ja Treiber und wenn die nicht in Android standartmäßig dabei sind wirds halt schwer und da wollte ich wissen ob die dabei sind und falls nicht ob es dann eine softwareseitige Lösung gibt.

Hab gesehen, dass bei manchen dieser Converter auch mit Android steht. Teste die wohl einfach mal. das scheint mir das sinnvollste.

— geändert am 19.10.2017, 11:33:02

Antworten
swa00
  • Forum-Beiträge: 3.704

19.10.2017, 11:44:12 via Website

Stimmt, du wirst am Testen und am Basteln nicht drumrum kommen ,

Mein Lösung oben hat auch etliche Tage benötigt - obwohl ich das hauptberuflich mache und
erlernt habe.

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Michael K.
  • Forum-Beiträge: 1.126

19.10.2017, 12:21:25 via Website

Ich kenne mich nicht so gut mit den technischen Feinheiten von Android aus, aber Fakt ist, dass alles was ich an den OTG-Adapter anschliesse, aus dem Gerät gespeist wird und funktioniert, wenn es eine entsprechende App unterstützt, auch USB-RS232 Konverter von FTDI. Ich würde vorschlagen: Probieren geht über studieren.

Falls Du weniger Adapter willst, kannst Du es mal mit so einem Kabel versuchen:

https://www.amazon.de/dp/B00RX1HACU/ref=sxbs_sxwds-stvp_1?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_p=1302047487&pd_rd_wg=Crb4g&pf_rd_r=8GNN1XTK1BS89Q201DAX&pf_rd_s=desktop-sx-bottom-slot&pf_rd_t=301&pd_rd_i=B00RX1HACU&pd_rd_w=qpW4y&pf_rd_i=Micro+USB+zu+Micro+USB+Kabel&pd_rd_r=67f8f003-b4b4-11e7-8da5-45d5adcce506&ie=UTF8&qid=1508407258&sr=1

Falls Du den Konverter gleich im Kabel willst, in dem Fall sogar mit Prolific, käme auch das Kabel in Frage,

https://www.amazon.de/PL2303-USB-Kabel-Header-Pinbelegung-ttl-232r-3-V3-Stecker/dp/B075GH9H3P/ref=sr_1_cc_2?s=aps&ie=UTF8&qid=1508407367&sr=1-2-catcorr&keywords=USB-TTL+ProLific

bräuchte dann halt wieder einen OTG-Adapter.
Das Kabel ist allerdings auch OTG, dass reine Powersharing-Kabel funktionieren, darauf würde ich nicht wetten.
Beide Vorschläge habe ich aber nicht selber getestet. Ich weiss auch nicht, ob das Kabel mit integriertem Prolific-Konverter 5 Volt zur Verfügung stellt!

Ich hatte schon Konverter von beiden Firmen im Einsatz. FTDI ist halt sehr gut dokumentiert und anwenderfreundlich.
So musste ich bei einem PC-Projekt mal die exotische Midi-Baudrate von 31250 Bit/s einstellen. Der Treiber von FTDI liess das zu, auch wenn man dazu eine Textdatei editieren musste. FTDI ist ausserdem in der Makerszene (Arduino, Raspi) sehr beliebt (siehe Breakout-Adapter), was auf Unterstützung aus diesem Bereich hoffen lässt.

Ich würde auch die Hardware zunächst mit einem USB-Terminalprogramm testen, einfach weil ich es hasse, eine Software auf einer Hardware zu testen, von der ich nicht weiss, ob sie funktioniert. Aber das ist eine Frage des persönlichen Stils, das macht wahrscheinlich jeder anders.

— geändert am 19.10.2017, 12:29:31

swa00

Antworten
Michael K.
  • Forum-Beiträge: 1.126

19.10.2017, 13:09:47 via Website

Vielleicht hilft Dir das weiter:

https://felhr85.net/tag/android-ft232-driver/

Die Treiber muss es geben, da die Apps "UsbTerminal" und "Serial USB Terminal" mit dem Chip ja zurechtkomnen.

— geändert am 19.10.2017, 13:18:11

swa00

Antworten
swa00
  • Forum-Beiträge: 3.704

19.10.2017, 13:29:35 via Website

@Micha

Yupp, das ist genau der weg ,den ich oben bereits gepostet hatte.
(War ein Snipet aus meinem Code)

Liebe Grüße - Stefan
[ App - Entwicklung ]

Michael K.

Antworten
Alex H.
  • Forum-Beiträge: 8

19.10.2017, 15:04:50 via Website

Okay, danke euch.
FTDI hat quasi das gleiche wie Prolific so wie ich das jetzt sehe.
Brauche dann nur eine USB zu seriell Bridge mit einen der beiden Chips und hau das an ein OTG Kabel. Das teste ich einfach mit den existierenden Terminal-Apps. Ist ja das gleiche wie du gemachst hast Michael. Sollte ja laufen so wie ich das jetzt vertsteh:D und dann setzt ich mich dran das selbst in meiner App unterzubringen. Hoffe damit ist das Problem gelöst :)

FTDI offers the following three distinct options to connect via USB to the Android platforms.
Utilizing the Android Open Accessory mode on the Android platform
Utilizing the Android's USB host capabilities with FTDI's Android Java driver
Utilizing the Android's USB host capabilities with FTDI's legacy drivers

Kann leider kein Link schicken, aber wie man sieht ist mit FTDI nicht nur AOA möglich

— geändert am 19.10.2017, 15:08:57

Michael K.

Antworten