MSR mit USB und Java
Sie sparen 25% gegenüber der Buchausgabe!
Buchausgabe: 39,95€
Download-Version: 29,99€
(Preis inkl. Mwst. )
| Autor(en): | Jochen Ferner |
| Verlag: | Franzis Verlag |
| Version: | 1. Auflage, 2008 |
| Umfang: | 216 Seiten |
| Format: | PDF: 3,39MB |
| ISBN: | 3772343171 |
| Bestell-Nr.: | 77233608P |
| Artikeltyp: | E-Book |
Der Zugriff auf die parallele und serielle Schnittstelle, aber insbesondere auf ausgewählte USB-MSR-Interfaces kann mit JNI (Java Native Interface) von Sun realisiert werden. Damit stellt SUN eine geeignete Programmierschnittstelle zur Verfügung, um mit Java Hardware direkt anzusprechen. Das objektorientierte Konzept der Sprache Java hilft dabei, Quelltexte übersichtlich und vor allem wiederverwendbar zu gestalten.
Die Programmierung über das Netzwerk ist einfach, sodass die gemessenen Werte problemlos per Ethernet übertragen oder sogar ins Internet gestellt werden können. Über ein HTML-Formular können MSR-Interfaces angesteuert werden. Über entwickelte Mail-Klassen wird abhängig von einem gemessenen Ereignis eine E-Mail versendet. Diverse Tools werten gemessene Daten aus und stellen diese grafisch dar.
Außerdem vermittelt das Buch sowohl die Grundlagen von Java als auch das objektorientierte Konzept. Mehrere USB-Interfaces werden vorgestellt und der Zugriff mit Java realisiert.
Ein Selbstbauprojekt eines Universal-Interface mit 16 digitalen Ein und Ausgängen sowie 16 analogen Eingängen und vier analogen Ausgängen rundet dieses Werk ab.
Aus dem Inhalt:
• Grundlagen der Java-Programmierung
• Ansprechen der Standardschnittstellen
• Erstellen von JNI-DLLs
• Ansprechen von USB-Interfaces mittels Java
• Beispielschaltungen
• Multithread-Programmierung
• MSR im Netzwerk
Leseprobe:
4 Ansteuern von Geräten mit USB-Schnittstelle (S. 82-83)
In diesem Kapitel wird kurz auf die Schnittstelleneigenschaften eingegangen. Der Schwerpunkt liegt allerdings auf dem Erstellen von nativen DLLs mit C++ und den entsprechenden Zugriffsklassen in Java.
4.1 Aufbau und Eigenschaften der Schnittstelle
Ein wenig werde ich auf die Eigenschaften von USB eingehen, damit bekannt ist, mit welcher Schnittstelle hauptsächlich in diesem Buch gearbeitet wird. Für tief gehende Informationen empfehle ich das Internet oder aber die einschlägige Literatur. Allein über die Schnittstelle an sich gibt es ganze Bücher. USB (Universal Serial Bus) hat sich als Standard etabliert. Nach und nach wird dieser Standard erweitert. Die Erweiterung von Version 1.1 auf Version 2.0 brachte einen enormen Geschwindigkeitszuwachs. Version 3.0 steht in den Startlöchern. Die Abwärtskompatibilität blieb aber größtenteils erhalten. Der Bus ist seriell, die gesendeten Bits werden also hintereinander verschickt. Aus diesem Grund kommt der Bus mit wenig Leitungen aus.
Sehr interessant wird der USBAnschluss durch die Tatsache, dass ihm max. 500 mA Strom bei einer Betriebsspannung von 5 V entnommen werden können. Somit lassen sich kleinere Geräte ohne Netzteil betreiben (auch die im Buch vorgestellten USB-Boards arbeiten mit der Spannungsversorgung der USB-Schnittstelle). Beachten Sie aber bitte, dass der maximale Strom vom USB-Controller in Ihrem PC von dem maximalen Wert abweichen kann. Einen Toaster würde ich nicht unbedingt per USB betreiben. An diesem Bus können unterschiedliche Geräte betrieben werden, mittlerweile sind fast alle externen Geräte auch mit USB-Anschluss verfügbar. Besitzt der eigene PC zu wenige USB-Anschlüsse, kann man sich im Fachhandel einen USB-Hub besorgen, der mehrere Anschlüsse zur Verfügung stellt.
Vorsicht: Bei einem USB-Hub haben Sie nicht mehr die volle Stromstärke zur Verfügung, es sei denn, es handelt sich um einen aktiven Hub. Bitte beachten Sie hier die Angaben des Herstellers. Die Stecker der Schnittstelle haben vier Anschlüsse: An zwei Anschlüssen liegt die Betriebsspannung von 5 V an. Die anderen beiden Anschlüsse übertragen seriell die Daten. Beobachtet man die Stecker genau, so stellt man fest, dass beim Verbinden in jedem Falle die Spannungsversorgung zuerst sichergestellt wird. Hierdurch werden Initialisierungsfehler vermieden. Das direkte Ansteuern der Schnittstellenleitungen unter Java ist so ohne Weiteres nicht möglich und auch recht kompliziert.
Unter dem Suchbegriff „JUSB“ oder aber „JavaUSB“ wird man im Netz fündig, und wer möchte, kann hier mit der Suche starten, ich möchte das nicht. Ich nehme lieber fertige Hardware als Grundlage und setze dann die für die eigene Problemstellung notwendige Hard- und Software auf. Wie zuvor schon beschrieben, funktioniert der Zugriff auf Schnittstellen mit Java entweder mit einer vorhandenen API oder nur über Umwege mit DLLs.
Das DLLVerfahren müssen Sie anwenden, wenn Sie USB-Geräte verwenden wollen. Zur eigenen Erstellung von nativen DLLs gibt es zwei Ansätze. Sie programmieren in Ihrer DLL auch den Hardwarezugriff über die entsprechenden Funktionen, welche Ihnen das Betriebssystem bzw. der Treiber des anzusteuernden Gerätes bereitstellt. Für diesen Ansatz kann ich das Buch „Messen, Steuern, Regeln mit USB“ von Burkhard Kainka wärmstens empfehlen. Auch wird Hardware oft mit entsprechenden Programmbeispielen geliefert. Man kann hier Einblick nehmen und die wichtigen Informationen für eine eigene DLL herausfiltern.
Die Programmierung über das Netzwerk ist einfach, sodass die gemessenen Werte problemlos per Ethernet übertragen oder sogar ins Internet gestellt werden können. Über ein HTML-Formular können MSR-Interfaces angesteuert werden. Über entwickelte Mail-Klassen wird abhängig von einem gemessenen Ereignis eine E-Mail versendet. Diverse Tools werten gemessene Daten aus und stellen diese grafisch dar.
Außerdem vermittelt das Buch sowohl die Grundlagen von Java als auch das objektorientierte Konzept. Mehrere USB-Interfaces werden vorgestellt und der Zugriff mit Java realisiert.
Ein Selbstbauprojekt eines Universal-Interface mit 16 digitalen Ein und Ausgängen sowie 16 analogen Eingängen und vier analogen Ausgängen rundet dieses Werk ab.
Aus dem Inhalt:
• Grundlagen der Java-Programmierung
• Ansprechen der Standardschnittstellen
• Erstellen von JNI-DLLs
• Ansprechen von USB-Interfaces mittels Java
• Beispielschaltungen
• Multithread-Programmierung
• MSR im Netzwerk
Leseprobe:
4 Ansteuern von Geräten mit USB-Schnittstelle (S. 82-83)
In diesem Kapitel wird kurz auf die Schnittstelleneigenschaften eingegangen. Der Schwerpunkt liegt allerdings auf dem Erstellen von nativen DLLs mit C++ und den entsprechenden Zugriffsklassen in Java.
4.1 Aufbau und Eigenschaften der Schnittstelle
Ein wenig werde ich auf die Eigenschaften von USB eingehen, damit bekannt ist, mit welcher Schnittstelle hauptsächlich in diesem Buch gearbeitet wird. Für tief gehende Informationen empfehle ich das Internet oder aber die einschlägige Literatur. Allein über die Schnittstelle an sich gibt es ganze Bücher. USB (Universal Serial Bus) hat sich als Standard etabliert. Nach und nach wird dieser Standard erweitert. Die Erweiterung von Version 1.1 auf Version 2.0 brachte einen enormen Geschwindigkeitszuwachs. Version 3.0 steht in den Startlöchern. Die Abwärtskompatibilität blieb aber größtenteils erhalten. Der Bus ist seriell, die gesendeten Bits werden also hintereinander verschickt. Aus diesem Grund kommt der Bus mit wenig Leitungen aus.
Sehr interessant wird der USBAnschluss durch die Tatsache, dass ihm max. 500 mA Strom bei einer Betriebsspannung von 5 V entnommen werden können. Somit lassen sich kleinere Geräte ohne Netzteil betreiben (auch die im Buch vorgestellten USB-Boards arbeiten mit der Spannungsversorgung der USB-Schnittstelle). Beachten Sie aber bitte, dass der maximale Strom vom USB-Controller in Ihrem PC von dem maximalen Wert abweichen kann. Einen Toaster würde ich nicht unbedingt per USB betreiben. An diesem Bus können unterschiedliche Geräte betrieben werden, mittlerweile sind fast alle externen Geräte auch mit USB-Anschluss verfügbar. Besitzt der eigene PC zu wenige USB-Anschlüsse, kann man sich im Fachhandel einen USB-Hub besorgen, der mehrere Anschlüsse zur Verfügung stellt.
Vorsicht: Bei einem USB-Hub haben Sie nicht mehr die volle Stromstärke zur Verfügung, es sei denn, es handelt sich um einen aktiven Hub. Bitte beachten Sie hier die Angaben des Herstellers. Die Stecker der Schnittstelle haben vier Anschlüsse: An zwei Anschlüssen liegt die Betriebsspannung von 5 V an. Die anderen beiden Anschlüsse übertragen seriell die Daten. Beobachtet man die Stecker genau, so stellt man fest, dass beim Verbinden in jedem Falle die Spannungsversorgung zuerst sichergestellt wird. Hierdurch werden Initialisierungsfehler vermieden. Das direkte Ansteuern der Schnittstellenleitungen unter Java ist so ohne Weiteres nicht möglich und auch recht kompliziert.
Unter dem Suchbegriff „JUSB“ oder aber „JavaUSB“ wird man im Netz fündig, und wer möchte, kann hier mit der Suche starten, ich möchte das nicht. Ich nehme lieber fertige Hardware als Grundlage und setze dann die für die eigene Problemstellung notwendige Hard- und Software auf. Wie zuvor schon beschrieben, funktioniert der Zugriff auf Schnittstellen mit Java entweder mit einer vorhandenen API oder nur über Umwege mit DLLs.
Das DLLVerfahren müssen Sie anwenden, wenn Sie USB-Geräte verwenden wollen. Zur eigenen Erstellung von nativen DLLs gibt es zwei Ansätze. Sie programmieren in Ihrer DLL auch den Hardwarezugriff über die entsprechenden Funktionen, welche Ihnen das Betriebssystem bzw. der Treiber des anzusteuernden Gerätes bereitstellt. Für diesen Ansatz kann ich das Buch „Messen, Steuern, Regeln mit USB“ von Burkhard Kainka wärmstens empfehlen. Auch wird Hardware oft mit entsprechenden Programmbeispielen geliefert. Man kann hier Einblick nehmen und die wichtigen Informationen für eine eigene DLL herausfiltern.

