Suche preiswerten µC mit 2xUSB (unabhängig)

OP #7528300
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.

#7528372
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.

#7528377
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.

#7528381
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.

#7528391
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.

(Firma: 1984now) #7528470
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.

#7528721
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.

#7528894
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren