Ich würde gerne die Daten eines "normalen" USB Barcode Handscanners an einem 2ten Rechner mitlesen. Die Funktion soll dabei ungefähr der eines USB Keyloggers entsprechen, nur das die Daten nicht gespeichert werden, sondern auf einem 2ten Rechner mitgelesen werden sollen. Wichtig ist dabei, dass die eigentliche Kommunikation zwischen dem Scanner und dem "Kassenrechner" nicht gestört wird. Über welche Schnittstelle (USB oder COM) die Daten an den 2ten Rechner gegeben werden, wäre sekundär, solange es eben möglich ist die Barcodes in einen InputStream eines COM Ports zu leiten (und dann in einer "höheren" Programmiersprache wie Java oder C auszuwerten). Ist sowas grundsätzlich möglich und wenn ja, wieviel würde es kosten ist ein solches Bauteil zu erstellen? Entsprechende Angebote gerne auch per PN oder E-Mail an mich! Vielen Dank für eure Hilfe!
Möglich ist das sicherlich. Den Datenstrom den der Scanner über USB-Out zurückgibt mitschneiden, klar, warum nicht. Man muss diesen Datenstrom dann halt nur noch richtig interpretieren können, (ich bin mir sicher das erfordert einiges an Vorarbeit). Viel einfacher wärs natürlich wenn man stattdessen einen Scanner mit seriellem Anschluss verwendet oder das Signal abgreift bevor es in einen USB-Datenstrom umgewandelt wird. Also ich hab hier einen LS300 Laserscanner den man sowohl an USB als auch an COM, (genauer gesagt: PS2-Tastatur), anschließen kann, der Scanner selbst liefert ursprünglich einen seriellen Datenstrom, der dann in einem Adapterkabel in einen USB-Datenstrom umgewandelt wird, da könnte ich natürlich sehr einfach den seriellen Datenstrom vor dem USB-Adapter abgreifen, auf einem anderen Rechner aufzeichnen und trotzdem den Original-Rechner im Glauben lassen er wäre das einzige Gerät das mit dem Scanner über USB verbunden wäre. Ansonsten: Es kann auf jeden Fall nicht schaden sich mit dem USB-Protokoll vertraut zu machen, ich denke wenn man da einigermaßen durchblickt, sollte es ein leichtes sein die Signale von USB-Out richtig zu interpretieren. Im Zusammenhang mit "Soft"-USB auf AVR, (also USB-Funktionalität ohne spezielle USB-Chips), gibts einige Dokumente, die vermutlich etwas einfacher zu verstehen sind als die Originale von Microsoft.
Die Vorrichtung zum Mitlesen eines USB Datenstromes nennt sich Analyzer und ist ein Messgerät. Ansonsten: Fällt aus wegen geht nicht. Einfacher ist es die Daten mittels Software an den zweiten Rechner weiter zu leiten.
Es gibt doch Sniffersoftware für USB. Name weiss ich gerade nicht. Aber damit kann man genau sehen was der PC vom USB-Gerät abholt.
rossi75 wrote: > Es gibt doch Sniffersoftware für USB. Name weiss ich gerade nicht. Aber > damit kann man genau sehen was der PC vom USB-Gerät abholt. Ich kenne ähnliche Problemstellungen von diversen Inventurszenarios, der Punkt ist eben, dass man in so einem Fall in der Regel keine eigene Software auf dem Kassenrechner installieren kann/soll/darf, kommt zwar immer darauf an, aber normalerweise sind die Kassenhersteller in diesen Fällen oft sehr kleinlich: "Wie die Kasse, spinnt?! Sie haben was installiert?!...". Also kommt Sniffersoftware nicht unbedingt in Frage. Das sind ja immer so halbgare Sachen, wo man sich überlegen muß, brauchen wir das öfters z.B. für alle 100 Fillialen, dann ruft man eben dem Kassenhersteller an und lässt selbst besser die Finger davon oder handelt es sich etwas, dass man nur 2 bis 3 mal im Jahr oder gar nur einmal in 20 Jahren benötigt, (Euroumstellung). Tabaksteuererhöhung z.B. ist so ein typischer Fall, da liegen dann plötzlich Zigarettenschachteln gleicher Marke und Sorte aus allen Epochen mit unterschiedlicher Füllmenge und unterschiedlichem Steuersatz nebeneinander im Regal, die z.T. auch noch von unterschiedlichen Lieferanten mit unterschiedlichem Einkaufspreisen kommen, entweder kümmert sich da dann das Kassensystem darum oder der Pächter, der Pächter tuts normalerweise nicht, (da darf man sich auch keinerlei Illusionen hingeben, nach wie vor befinden sich in Deutschland Kassensysteme von Baujahr 1985 - 2007 Einsatz, natürlich auch viele selbstgestrickte Systeme die im Laufe der Jahre erweitert wurden). Wie auch immer, und auch wenn der Vorposter die Möglichkeit von "USB-Out" eines Laserscanners "mitzulesen" pauschal verneint, glaube ich eigentlich schon dass das möglich sein müsste, klar da werden immer auch noch etliche Daten protokollmäßig hin und her geschoben und auch die Übertragungsgeschwindigkeit kann sich dauernd ändern, aber letztlich, muss ja früher oder später im USB-Out-Datenstrom des Scanners, in serieller Form das drinstehen, was der Scanner gerade eben gescannt hat. Müsste man halt einfach mal ausprobieren, ich will ja noch nicht einmal ausschließen, dass man eventuell besser zurechtkommt, wenn man auch noch USB-In mitliest um zu erfahren, ab welchem Zeitpunkt genau die gewünschten Daten und mit welcher Geschwindigkeit, über USB-Out des Scanners kommen. Schwierig, kompliziert, zu aufwändig, (für MICH/DICH nicht machbar)? Ja vielleicht. Trotzdem bevor man so etwas pauschal verneint, muss man sich natürlich auch immer mal kurz die Frage stellen, ob man diese oder jene Aussage z.B. auch bei einem CCC-Treffen voller Überzeugung und ohne dabei verlegen in die Ecke schauen zu müssen, vortragen würde? (Also ich würde mich vermutlich nicht trauen.)
Klar, machen kann man alles, zum Mond fliegen geht ja auch. Also physikalisch geht sowas, immerhin gibt es USB Protokollanalyzer. Und genau so eine Hardware braucht man dazu auch: Eine die die Daten auf dem Bus einfach mitprotokolliert. Nur existiert sowas nicht als Standardlösung und es gibt keine frei verkäuflichen Chips die das machen würden. Also selber bauen, oder einen Analyzer-Hersteller fragen ob man eine Sonderversion kriegen kann (sicherlich >1000Euro/Stk. plus ggf. Startkosten). Die notwendige Software um daraus dann sinnvolle Daten zu machen gibt es auch nicht als Standard, das Programm eines Analyzers macht sowas jedenfalls nicht. Also wenn da kein gut finanziertes und ausreichend großes Projekt dahinter steht: Geht nicht.
Ein "Standard" bei Scannern ist doch eine einfache Tastaturemulation - für den Rechner ist der Scanner eine Tastatur. Stöpsel deinen Scanner doch einfach an einen PC, und schau, was passiert. Wenn es funktioiert, ist zumindest das Protkoll schon mal bekannt. Der Rest dürfte dann auch einfach sein. Oliver
Naja, es gibt schon eine mit gewissem Aufwand realisierbare Möglichkeit. Voraussetzung dafür ist, daß der Scanner ein HID ist. Man nehme einen Controller mit USB-Deviceinterface und einen USB-Host-Controller mit HID-Unterstützung (hier bietet sich der "Vinculum" von FTDI an). Der Scanner wird als USB Device an den "Vinculum" angeschlossen, damit können die vom Scanner erzeugten Daten an den Controller geliefert werden. Auf dem Controller wiederum ist ein USB HID zu implementieren, das reicht die vom Scanner gelieferten Daten an den Host-PC weiter.
Leichter geht es, wenn du einen PS2 Barcodeskanner nimmst, da genügt ein normaler Micro, oder auch nur ein Flip-Flop Baustein zur Taktsynchronisierung. Aber du könntest es auch im PC lösen, die Daten dann seriell übertragen und bei beiden eine Tastatureingabe simulieren.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.