Akku-Lade-Center ALC 8000/ALC 8500 Expert Teil 8/8
Aus ELVjournal
02/2006
0 Kommentare
Linux
ist in aller Munde, und wer sein ALC 8500 Expert im Bastelkeller an
einem Zweitrechner betreibt, ist nicht immer bereit, sich noch eine
Windows-Lizenz zu kaufen. Was liegt näher, als ein kostenloses Linux zu
installieren. Mit diesem Artikel sind Sie in der Lage, ein Linux so zu
konfigurieren, dass ein ALC 8500 Expert problemlos auch unter Linux mit
einer Software fernsteuerbar ist. Die Beschreibungen sind sehr allgemein
gehalten, so dass die Anleitung mit den verschiedensten Distributionen
von Linux nachvollziehbar ist. Die Bildschirmfotos sind hier am Beispiel
der Linux-Distribution Suse 10 64-Bit angefertigt.Schrittweise zum Erfolg
Im
ersten Schritt wird die Unterstützung für USB, die übrigens auch für
viele andere Geräte von ELV funktioniert, eingerichtet. Anschließend
wird die Laufzeitumgebung von Java angepasst bzw. installiert, falls sie
noch nicht vorhanden ist. Damit die Java-Laufzeitumgebung überhaupt auf
eine serielle Schnittstelle zugreifen kann, wird noch eine Erweiterung
installiert. Ein kleines Testprogramm zeigt den Erfolg an, wenn die
Konfigurationsarbeiten bis zu diesem Schritt korrekt ausgeführt wurden.
Danach ist ChargeProfessional bereits startklar. Einige der nachfolgend
verwendeten Dateien finden Sie kostenlos auf der Homepage von ELV zum
Downloaden unter dem Link: http://www.elv-downloads.
de/downloads/alc8xxx/alc8xxx.htm.Treiber für USB
|
Bild 1: Auszug aus dem Quelltext für den USB-Treiber |
Dieser
Treiber stellt unter dem Betriebssystem Linux für das Akku-Ladegerät
ALC 8500 Expert eine virtuelle serielle Schnittstelle bereit. Die
Schnittstelle trägt zumeist den Namen ttyUSB0
bzw. wird bei mehreren Geräten einfach eine fortlaufende Nummer angehängt (ttyUSB1, ttyUSB2
usw.). Wer bereits den Kernel 2.6.13 (z. B. in Suse 10 enthalten) oder
höher installiert hat, kann direkt zum nächsten Schritt übergehen, da
die notwendige Unterstützung ab dieser Version des Kernels bereits
integriert ist. Falls der bestehende Kernel nicht vollständig durch eine
neue Version ersetzt werden soll, reicht es aus, zwei Dateien im
Quelltext durch eine andere Version auszutauschen und den bestehenden
Kernel neu zu kompilieren. Die beiden Dateien sind üblicherweise
abgelegt in diesem Verzeichnisbaum: /usr/src/linux-2.6.13-15/ drivers/usb/serial
.
Die Bezeichnung linux-2.6.13-15 ist selbstverständlich durch den Namen
Ihrer Version zu ersetzen. Die beiden Dateien tragen die Namen ftdi_sio.c
und ftdi_sio.h
und enthalten die Version 1.4.3 des Treibers. Wenn Sie sich etwas mehr
auskennen, werfen Sie einen genaueren Blick in die Datei ftdi_sio.h
ab Zeile 146, wie in Abbildung 1 gezeigt. Für die Geräte UR 100
(USB-RS232-Umsetzer), UO 100 und UM 100 ist die Unterstützung
standardmäßig aktiviert. In den Zeilen 162 bis 181 finden Sie weitere
Geräte von ELV; falls Sie diesen Geräten auch einen virtuellen seriellen
Port zuweisen möchten, kommentieren Sie die jeweiligen Zeilen in der
Datei ftdi_sio.c
ab Zeile 420 einfach aus.
|
Bild
2: Der Treiber für USB wurde erfolgreich geladen, das ALC 8500 Expert
hat jetzt die virtuelle serielle Schnittstelle „ttyUSB0“. |
Der
Erfolg der Konfiguration lässt sich leicht feststellen. Stecken Sie
einfach das USB-Kabel des ALC 8500 Expert in einen freien Anschluss am
Computer und geben den Befehl dmesg
in einer Konsole ein.
Die letzten Meldungen des Kernels werden angezeigt. Das Bildschirmfoto
Abbildung 2 zeigt eine erfolgreiche Einbindung des Treibers.
|
Bild 3: Das Programm „usbview“ zeigt alle erkannten Geräte in einer Baumstruktur an. |
In diesem Fall wurde dem Gerät die Schnittstelle ttyUSB0
zugewiesen. Eine weitere Möglichkeit bietet das Programm usbview
(siehe
Abbildung 3). Dieses Programm zeigt alle angeschlossenen Geräte für den
USB an. Geräte, welche nicht über einen passenden Treiber verfügen,
werden rot dargestellt. Wenn das ALC 8500 Expert dort in schwarzer
Schrift erscheint, hat alles geklappt. Das Programm usbview
ist unter der GNU-Lizenz frei erhältlich und in vielen Distributionen von Linux bereits integriert.
Java einrichten …
|
Bild 4: Die Java-Entwicklungsumgebung wird installiert. |
Leider
unterscheidet sich die Handhabung der Java-Umgebung je nach
Distribution sehr stark. Zudem ist noch eine Erweiterung nachträglich zu
installieren, auch hierfür unterscheidet sich leider die Vorgehensweise
sehr. Glücklicherweise kann sich jeder Benutzer selbst eine Variante in
seinem Home-Verzeichnis installieren. Eine Entwicklungsumgebung der JVM
(Java Virtual Machine) kann kostenlos auf der Internet-Seite java.sun.com
bezogen
werden. Dabei ist nicht die rpm-Variante, sondern einfach das Binärfile
herunterzuladen. In unserem Beispiel haben wir die Datei jdk-1_5_0_06-linux-amd64.bin
verwendet. Nach dem Download werden mit folgendem Befehl die Rechte so gesetzt, dass die Datei ausführbar ist: chmod +x jdk-1_5_0_06-linux-amd64.bin
. Schließlich wird mit dem Befehl ./jdk- 1_5_0_06-linux-amd64.bin
die Installation gestartet.Abbildung 4 zeigt, wie es geht.
… und konfigurieren
|
Bild 5: Die Systemvariablen werden an die Installation angepasst. |
Drei Systemvariablen müssen jetzt noch auf die frisch installierte Version angepasst werden: JAVA_HOME, JRE_HOME
und PATH
. Wir gehen hier davon aus, dass Java in dem Pfad /home/testuser/ jdk1.5.0_06
installiert
ist. Entweder sind die nachfolgenden Befehle nach jedem Systemstart
einzugeben oder die folgenden Zeilen werden zu der bash.rc
hinzugefügt: Der Pfad /home/testuser/ jdk1.5.0_06
ist in jedem Fall an Ihre Installation anzupassen. Die Abbildung 5 zeigt, wie die bash.rc
aussehen kann.
|
Bild 6: Die Konfiguration der Java-Entwicklungsumgebung wird überprüft. |
Der Befehl java –version
auf
einer Konsole zeigt die Version der „aktiven“ Java-Laufzeitumgebung an.
Wenn diese der soeben installierten Version entspricht, war die
Installation erfolgreich. Mit dem Befehl set | grep ”JAVA“ und set | grep ”JRE“
lässt sich jeweils prüfen, ob die Systemvariablen passend gesetzt sind. Die Abbildung 6 zeigt einen erfolgreichen Test.
Java und Hardware
Leider
bietet Java standardmäßig keinen Zugriff auf serielle Schnittstellen,
da diese Programmiersprache auf Plattformunabhängigkeit ausgelegt ist.
Es gibt jedoch einige Erweiterungen, die diesen Zugriff erlauben. Eine
solche Erweiterung ist RXTX, dieses Paket ist über die GNU-Lizenz
kostenlos erhältlich auf der Internet-Seite www. rxtx.org
.
Im Downloadbereich dieser Seite sind auch die zugehörigen Quelltexte
erhältlich, nachfolgend beschrieben ist die Variante RXTX 2.1, die Datei
heißt dort rxtx-2.1-CVS-20050120.tar.gz
. Dieses Archiv wird zunächst in ein neues Verzeichnis ausgepackt. Eine detaillierte Anleitung zum Einrichten enthält die Datei INSTALL
des
Archivs. Damit immer nur ein Prozess gleichzeitig auf eine serielle
Schnittstelle zugreifen kann, gibt es den so genannten lock-daemon. Dazu
muss der angemeldete Benutzer die entsprechenden Rechte besitzen, in
diesem Fall muss er Mitglied der Gruppe UUCP
sein. Falls
der angemeldete Benutzer weder Mitglied dieser Gruppe ist noch
hinzugefügt werden kann, installiert man die Erweiterung ohne den
lock-daemon. Allerdings wird dann nicht überwacht, ob zwei Prozesse
gleichzeitig auf eine Schnittstelle zugreifen. Diese Vorgehensweise wird
nicht empfohlen.
|
Bild 7: Die Erweiterung RXTX wurde erfolgreich kompiliert. |
Mit dem Befehl ./configure bzw. ./configure --disable-lockfiles
für die Installation ohne lock-daemon, wird die Konfiguration vorbereitet. Mit einem abschließenden make install
wird
die Erweiterung erstellt und die erzeugten Dateien automatisch in die
entsprechenden Verzeichnisse der Java-Laufzeitumgebung kopiert. In der
Abbildung 7 ist zu sehen, wie ein erfolgreicher Kompiliervorgang
aussieht. Damit dieser Schritt funktioniert, müssen die Pfade – wie bei
der Installation der Java-Umgebung beschrieben – korrekt in den
Systemvariablen eingetragen sein.
Noch ein Test …
|
Bild 8: Ein Aufruf des Testprogramms „Show- Comm- Ports“ |
Ebenfalls im Archiv aus dem Download von ELV ist die Datei ShowCommPorts. java. Kompiliert wird dieses Programm mit dem Befehl javac ShowComm- Ports.java
. Wenn jetzt keine Fehlermeldungen erscheinen, war das Kompilieren erfolgreich. Starten Sie das Programm mit dem Befehl java ShowCommPorts
.
Das Programm gibt alle verfügbaren seriellen Schnittstellen aus. Falls
das ALC 8500 Expert ebenfalls angeschlossen ist, wird es (meist) als ttyUSB0
angezeigt. In der Abbildung 8 sehen Sie ebenfalls einen erfolgreichen Programmlauf. Die Installation war erfolgreich!
… und jetzt geht es los
Ebenfalls
im Downloadbereich von ELV zum ALC 8500 Expert gibt es die
Linux-Variante von ChargeProfessional. Nach dem Auspacken des Archivs
wird das Programm mit dem Befehl java -jar cp2005_v160. jar
gestartet.
Selbstverständlich können Sie sich hierzu auch eine Verknüpfung auf dem
Desktop anlegen. Die Abbildungen 9 und 10 zeigen, wie
ChargeProfessional auch unter Linux das ALC 8500 Expert bedient. Bei
Problemen sind die Dateien error. txt
und log.txt
hilfreich, die im Programmverzeichnis von ChargeProfessional automatisch angelegt werden.
|
Bild 9: Das Hauptfenster von ChargeProfessional – hier in der Linux-Variante |
|
Bild 10: Starten eines Ladevorgangs in der Linux-Variante von ChargeProfessional |
Mit
dieser Anleitung schließt die Artikelserie rund um das ALC 8500 Expert.
Damit haben Sie einen umfassenden Überblick über die Interna des ALC
erhalten, kennen das Übertragungsprotokoll und können es jetzt sogar
unter Linux verwenden. Fachbeitrag online und als PDF-Download herunterladen
Inhalt
Sie erhalten den Artikel in 2 Versionen:
als Online-Version
als PDF (4 Seiten)
Sie erhalten folgende Artikel:
- Akku-Lade-Center ALC 8000/ALC 8500 Expert Teil 8/8
Produkte | weitere Fachbeiträge | Foren | |
Hinterlassen Sie einen Kommentar: