Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
Delphi 5 Standard
|
Re: Datenaustausch über USB Schnittstelle
27. Aug 2003, 02:01
Hallo!
Zunächst eine wichtige Bemerkung: USB ist nicht nur eine Hardware-Schnittstelle (Stecker mit Leitungen), sondern auch ein hochkomplexes Treibersystem. Das System erkennt automatisch, wenn etwas angestöpselt oder herausgezogen wird und läd bzw. entläd dann auch die passenden Treiber.
Nebenbei: Bei mir trat mal ein Wackelkontakt auf. Jedesmal, wenn es wackelte, sagte Defrag: "Dateisystem geändert, Neustart" - defragmentieren unmöglich. Klar, TReiber laden/entladen ändert die Swap-Datei. Auf sowas muß man erst mal kommen!
Eine Gefahr für die Hardware sehe ich nicht. USB hat nur noch 4 Leitungen (die serielle hatte 9 oder 25), das sind Spannung, Masse, Daten+ und Daten-. Wer sich an "zugelassene", also den Spezifikationen entsprechende, Kabel hält, kann nichts falsch machen. Zum Gerät sollte doch wohl ein Kabel gehören - außerdem gibt es die Dinger in jedem Kaufhaus. Sogar im Bereich "Branchenfremde Aktionangebote" im Lebensmittel-Supermarkt habe ich schon sowas gefunden. Bitte darauf achten, daß an einer Seite der flache A-Stecker und am anderen Ende der fast quadratische B-Stecker ist. A kommt in den Rechner (oder Hub-Ausgang), B in das Gerät (oder Hub-Eingang). Die zugehörigen Buchsen sollten nach Spezifikation NUR in den Geräten eingebaut sein, aber nicht am Kabel oder als Adapter vorhanden sein!
Neben der Software sollte einem USB-Gerät auch ein Treiber beigelegt werden. Viele Treiber sind in Windows bereits vorhanden oder müssen nur bis Win98se installiert werden. Da beginnt unser Problem: manche Hersteller integrieren die Treiber in ihr tolles Anwenderprogramm. Andere betrachten die Schnittstellen zwischen Treiber und Anwenderprogramm als "wertvolle Geschäftsgeheimnisse" - Essig mit Selberprogrammieren. Man müßte (Achtung: ist ILLEGAL!) den Treiber analysieren (disassemblieren), um die Schnittstellen rauszukriegen. Das isr, abgesehen von der Rechtslage, ein sinnloses Unterfangen - wer will da durchsteigen?
Bei der irgendwo erwähnten Digicam kommt es auf die Konstruktion an. Fotoapparate (Standbilder) werden oft als Scanner über die genormte TWAIN-Schnittstelle angesprochen - was ist der Unterschied zwischen einem Scanner, der auf Kommando abtastet; und einer Kamera, die auf Kommando einen Speicher ausliest?
Leider weiß ich nicht, wie digitale Videokameras ihre Ergebnisse ausgeben. Eine Möglichkeit: Die Kamera wird wie eine Festplatte betrieben und man kann mit dem normalen Windows-Explorer, unter DOS per XCOPY, mit einem eigenen Programm zum kompletten Kopieren und Verifizieren, oder mit sonstigen Methoden die Dateien kopieren.
Wer also die Bilder auslesen will, kann ein Scannerprogramm bauen. Damit können Scanner und Kameras angesprochen werden. Vorteil: Wenn man (auch als Freeware) ein besseres Programm als das zum Gerät gehörende findet, kann man es problemlos einsetzen und spart das Programmieren.
Sollte zu irgendeinem Gerät (Controller zum Selbstbau z.B.) kein Treiber vorhanden sein, wird mit Sicherheit eine Doku mitgeliefert. Allerdings: mit Delphi kann man keine Treiber schreiben!
Irgendwo kam mir mal eine Anleitung für einen USB-Baustein unter, ich weiß aber nicht mehr, wo das war. Dieser Baustein war für einen Joystick gedacht, 2 Analog- und mehrere Digitaleingänge - Ausgänge weiß ich nicht mehr. Kauft man den Stein lose, kann man irgendwas zur Ein- und ggf. Ausgabe realisieren. Möglich ist, daß sowas als Joy erkannt wird und dann auch so abgefragt wird - keine Ahnung!
Grundsätzlich ist es also nicht möglich, am USB einfach 'nen Transistor und ein Relais zu hängen (an Ser und Par geht das). Controller (und Treiber) müssen immer sein.
Gruß
Dietmar Brügendiek
Dietmar Brüggendiek
|