Forum: Mikrocontroller und Digitale Elektronik Suche preiswerten µC mit 2xUSB (unabhängig)


von N. N. (drnicolas)


Lesenswert?

Ich möchte an einen µC über USB einen Barcodescanner anschliessen.
Der liefert seine Daten als Tastatureingaben. Die EIngaben sollen 
überprüft, bearbeitet und dann abgewnadelt über eine weitere 
USB-Scnittstelle wiederum an einen PC gesandt werden.

Variante 1:
Der USB-Barcodescanner wird als serielle Schnittstelle konfiguriert und 
man benutzt einen USB2Serial Adapter und geht dann an den µC. Dazu 
bräcuhte ich aber weitere Hardware.

Gibt es preiswerte µC mit 2 USB? Oder bessere Ideen?

Reine RS232-Barcodescanner scheinen auszusterben.

von Steve van de Grens (roehrmond)


Lesenswert?

Zur Not könntest du einen MAX3421E mit einem normalen Mikrocontroller 
kombinieren.

von Harald K. (kirnbichler)


Lesenswert?

Du brauchst also einen µC mit einer USB-Host- (bzw. OTG-) und einer 
USB-Device-Schnittstelle.

Sowas gibts, sogar auf einem Bastelboard.

https://www.pjrc.com/store/teensy40.html

von Andreas B. (abm)


Lesenswert?

"Preiswert" liegt immer im Auge des Betrachters ... Im Prinzip wie Sand 
am Meer, wenn man z. B. in CubeMX sucht, gibt's da über 700 (naja, viele 
Gehäuse-Varianten usw.): STM32F730R8T6 wäre ein günstiger Kandidat.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Auch die STM32F4xx haben zwei USB, die unabhängig voneinander laufen. 
Ich habe hier einen F429 mit Mass Storage Host auf einem und CDC auf dem 
anderen Port.
Preiswert gibts die auf den Discovery Boards.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

N. N. schrieb:
> Gibt es preiswerte µC mit 2 USB?
Wieviele Tausend willst du davon bauen, das du explizit nach 
"preiswerten" µC suchst?

von Falk B. (falk)


Lesenswert?

N. N. schrieb:
> Ich möchte an einen µC über USB einen Barcodescanner anschliessen.
> Der liefert seine Daten als Tastatureingaben. Die EIngaben sollen
> überprüft, bearbeitet und dann abgewnadelt über eine weitere
> USB-Scnittstelle wiederum an einen PC gesandt werden.

Und warum schließt du den Scanner nicht direkt an den PC an und tut dort 
die Daten umwandlen? Denn genau das macht dein gesuchter Mikrocontroller 
auch.

Ein Raspberry Pi hat einen Host USB-Port, wo man den Scanner anstecken 
und vermutlich relativ leicht auswerten kann. Er hat aber keinen 
Upstream USB-Port. Den müßte man nachrüsten. Machbar, aber aufwändig.

> Reine RS232-Barcodescanner scheinen auszusterben.

Kann sein. Aber viele ehemalige RS232 Geräte nutzen weiterhin logisches 
RS232 über USB, so wie über einen FT232 und andere ICs. D.h. aus Sicht 
des PCs ist es immer noch ein COM-Port, der leicht ausgelesen werden 
kann.

von Rainer W. (rawi)


Lesenswert?

Falk B. schrieb:
> Kann sein. Aber viele ehemalige RS232 Geräte nutzen weiterhin logisches
> RS232 über USB, so wie über einen FT232 und andere ICs. D.h. aus Sicht
> des PCs ist es immer noch ein COM-Port, der leicht ausgelesen werden
> kann.

Wenn der Barcode Scanner sich als Tastatur ausgibt, wird er wohl keine 
ehemalig RS232-Schnittstelle mit USB-Seriell Wandler besitzen, sondern 
gleich als HID arbeiten. Der Gerätemanager dürfte es verraten.

N. N. schrieb:
> Ich möchte an einen µC über USB einen Barcodescanner anschliessen.
> Der liefert seine Daten als Tastatureingaben.

: Bearbeitet durch User
von Peter (pittyj)


Lesenswert?

Hast du schon mal die USB Programmierung auf einem Microcontroller 
selber gemacht?
Du müsstest einen Master und einen Slave programmieren. Und dann noch 
eine Verbindung dazwischen.
Das ist alles machbar, habe ich selber schon mal gemacht. Da sitzt man 
aber doch länger dran, einfach weil es auch so viele Probleme geben 
kann.

Falls du das noch nie selber gemacht hast, dann kauf lieber einen 
USB-Serial Adapter.

von Jim M. (turboj)


Lesenswert?

N. N. schrieb:
> Gibt es preiswerte µC mit 2 USB? Oder bessere Ideen?

Gäbe es (Tennsy 4.0 oder 4.1), aber die USB Host Programmierung auf 
nacktem µC ist verdammt aufwändig.

Barcode Scanner können über USB eine Tastatur emulieren, müssen das aber 
nicht unbedingt immer tun.

Vermutlich ist das Projekt insgesamt deutlich billiger mit einem 
Raspberry Pi, weil man da mit dem Linux das ganze USB Host Zeuch schon 
vorhanden hat.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Rainer W. schrieb:

> Wenn der Barcode Scanner sich als Tastatur ausgibt, wird er wohl keine
> ehemalig RS232-Schnittstelle mit USB-Seriell Wandler besitzen, sondern
> gleich als HID arbeiten.

So ist es. Aber: sehr viele moderne Scanner lassen sich sowohl als 
Tastatur(USB-HID) als auch als COM-Gerät(USB-CDC) betreiben. Vielfach 
braucht man nur einen Code aus dem Handbuch des Scanners zu scannen, um 
den Wechsel zu erledigen.

Darüber hinaus können diese Dinger meist noch viel umfassender 
konfiguriert werden. Beispiele:
Es sollen nur Payloads mit bestimmtem Muster durchgelassen werden: kein 
Problem. Oder es soll ein Tab-Zeichen oder ein Return nach dem Payload 
angehängt werden: auch kein Problem. Oder es soll ausschließlich EAN128 
und DataMatrix gescannt werden: auch kein Problem.

Manches davon kann ebenfalls über Codes aus dem Handbuch konfigurieren, 
aber vieles auch nicht. Für diese fortgeschrittene Konfiguration gibt's 
dann kostenlose Tools vom Hersteller.

Sprich: so lange es nicht darum geht, die gescannten Daten mit 
variablen Zusatzdaten aus einer anderen Quelle zu vermengen, bevor sie 
an den PC gehen, braucht man das Projekt des TO nicht, sondern einfach 
nur einen brauchbaren modernen Scanner.

von Harald A. (embedded)


Lesenswert?

Das könnte der CH554, der wurde hier ausgiebig beschrieben:
Beitrag "uC für 0,20€ CH552 / CH554 von WCH Billig Micro mit USB Funktion, Chip vorstellung"
Gibt vieles fertig als Democode, darüber hinaus kann es aber steinig 
werden, da die Doku z.T. dürftig ist.

Wenn das Projekt zügig fertig werden soll würde ich persönlich zwei 
Raspberry Pi Pico Boards nehmen und diese per UART untereinander 
verbinden. Die Boards sind günstig, Pythoncode gibt es für beide Seiten 
mehr oder weniger fertig. Die Verbindung untereinander ist auch ein 
Klacks.

Im Übrigen glaube ich nicht, dass RS232 Scanner aussterben. Das wird 
doch bei den meisten Marken einfach über ein anderes Anschlusskabel 
realisiert. HID Keyboard und USB Seriell sind auch weitere Optionen.

: Bearbeitet durch User
von Harald A. (embedded)


Lesenswert?

Korrektur: CH559 war es

von Harald K. (kirnbichler)


Lesenswert?

Den CH559 verkauft WCH in ihrem eigenen Store auf Aliexpress:

https://www.aliexpress.com/item/1005004595087640.html

Dort verlinkt sind auch Datenblatt, Programmiersoftware und Unterlagen 
eines Evaluation-Boards.

http://www.wch-ic.com/downloads/CH559DS1_PDF.html
http://www.wch-ic.com/downloads/WCHISPTool_Setup_exe.html
https://www.wch.[ZEH-ENN]/downloads/CH559EVT_ZIP.html

Der letzte Link verweist auf die chinesische TLD, die die Forensoftware 
für Spam hält, also von Hand auf cn korrigieren.

Mit der dort enthaltenen Dokumentation kann man ohne einen guten 
Übersetzer wenig anfangen, aber es sind etliche Codebeispiele enthalten, 
denen man trotz der chinesischen Kommentare das eine oder andere Detail 
entlocken können müsste.

Und auch anderswo findet sich Sourceode dafür:

https://github.com/atc1441/ch55xduino-1
https://github.com/atc1441/CH559sdccUSBHost

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.