Serial Line LCDs für Linux

ArticleCategory: [Es gibt verschiedene Artikel Kategorien]

Hardware

AuthorImage:[Ein Bild von Dir]

[Photo of the Author]

TranslationInfo:[Author and translation history]

original in en Guido Socher

en to de Jens Link

AboutTheAuthor:[Eine kleine Biographie über den Autor]

Guido ist langjähriger Linux Fan. Seine Linux Hompage ist unter www.oche.de/~bearix/g/ zu finden..

Abstract:[Here you write a little summary]

Dieser Artikel beschreibt, wie man ein BLC2021 (LC Display mit seriellem Anschluß von Martix Orbital) unter Linux benutzen kann. Das BLC2021 ist ein Dot Martix LCD. Es ist recht leicht zu benutzen ist, da es ohne zusätzlichen Controller Chip oder komplizierten Treiber auskommt.

ArticleIllustration:[This is the title picture for your article]

[Illustration]

ArticleBody:[The article body]

Einleitung

Mit ein wenig handwerklichen Geschick ist es leicht einen alten PC in einen MP3 Spieler für das Wohnzimmer, eine Steuereinheit für die zentrale Heizungsanlage oder einen Server fürs Intranet zu verwandeln. Es gibt wahrscheinlich noch wesentlich mehr Anwendungsmöglichkeiten. In all diesen Fällen ist es recht praktisch den Computer in einem kleinen Gehäuse ohne großen Monitor und Tastatur zu betreiben. Stattdessen möchte man viel lieber ein kleines LCD haben, das einem das aktuelle Lied des MP3 Spielers, die Temperatur der Heizungssteuerung oder den Status des Servers mitteilt.

Die LC Displays von Matrix-Orbital sind ideal für diesen Zweck. .

LCDs, und Computer Elektronik im allgemeinen, sind recht empfindlich. Ein LCD kann leicht zerstört werden, wenn verkehrtherum an die Stromversorgung anschließt oder die Spannung ist zu hoch ist. In diesem Artikel stellen wir das BLC2021 PC Bay Insert (zum Einbau in einen PC Laufwerkschacht) vor, das sehr einfach zu installieren ist. Es wird mit allen Kabeln ausgeliefert, die zum Anschluß an den PC notwendig sind. Alles was sie brauchen ist ein kleiner Schraubendreher. Mit den fertigen Kabel, die beim BLC2021 mitgeliefert werden, kann beim Einbau eigentlich nichts schief gehen.

Die Installation

Das BLC2021 wird mit allem, was notwendig ist es in einen 5,25" Laufwerksschacht eines PCs einzubauen, geliefert. Sie müssen es nur noch an das Netzteil ihres Computers sowie die RS232 Schnittstelle anschließen. Eine Möglichkeit dazu besteht darin, das Kabel durch ein freies Slotblech nach außen zu führen und dann an den externen RS232 Anschluß anzuschließen.

Matrix-Orbital liefert eine Diskette mit Treiber Software mit. Diese enthält lcdproc-0.3.3 für Linux. Hierbei handelt es sich um GPL Software und der Quellcode befindet sich ebenfalls auf der Diskette. Allerdings wurde lcdproc-0.3.3 für vierzeilige Displays geschrieben und das BLC2021 hat nur zwei Zeilen. Deshalb werden sie nur ein flackern des Displays sehen.
Es scheint, als wären die aktuelleren Versionen von lcdproc auch für zweizeiligen Displays geeignet, jedoch habe ich es nicht getestet.

lcdproc ist dazu gedacht, in regelmäßigen Abständen Systeminformationen wie die Uptime, die Speicherauslastung usw. auszugeben.
In diesem Artikel werden wir lcdproc nicht verwenden. Wir werden stattdessen einen allgemeinen Weg kennenlernen Informationen auf dem Display darzustellen. Die Verwendung des Displays ist sehr einfach. Sie benötigen keinen komplizierten, zusätzlichen Treiber für Linux. Sie müssen lediglich die Serielle Schnittstelle richtig initialisieren und können dann sogar mit einem Shell Script Informationen ausgeben. Ich werde dies im Rest des Artikels erklären.

Verwendung des LCD

Ds BLC2021 kann normale ASCII Zeichen von der Seriellen Schnittstelle lesen, sie müssen vorher nur die Schnittstelle richtig initialisieren:
  1. Laden sie das Programm mtxorb (mtxorb-0.2.tar.gz) herunter und entpacken sie es mit tar zxvf mtxorb-0.2.tar.gz (Hinweis: Einige Browser entpacken .gz Dateien automatisch, vergessen diese aber dann nach mtxorb-0.2.tar umzubenennen. Versuchen sie in diesem Fall, die Datei mittar xvf mtxorb-0.2.tar.gz) zu entpacken.
  2. Kompilieren sie das Programm: cd mtxorb-0.2; make
  3. Erstellen sie einen (Soft-)link auf das Device, an daß das LCD Display angeschlossen ist.
    cd /dev; ln -s ttyS0 lcd      (für die erste Serielle Schnittstelle, COM1)
    cd /dev; ln -s ttyS1 lcd      (für die zweite Serielle Schnittstelle, COM2)
  4. Mtxorb geht davon aus, das sie die Geschwindigkeit des Displays auf 19200 Baud gesetzt haben. Dies ist die standard Einstellung für das BLC2021.
  5. Benutzen sie mtxorb zum initialisieren seriellen Schnittstelle:
    mtxorb /dev/lcd

Jetzt können sie ihr Display benutzen. Hier ist, als kleines Beispiel, ein Perl-Script, das einen Zähler ausgibt, der jede Sekunde erhöht wird.

#!/usr/bin/perl -w
open(LCD,">/dev/lcd")||die "ERROR: can not write to /dev/lcd\n";
$|=1;
my $i=0;
while(1){
    $i++;
    print LCD chr(0xFE),"X"; # clear the display
    print LCD "Count $i\n";
    sleep(1);
}
close LCD;
Das BLC2021 beherrscht einen kleinen Befehlssatz. Um in den Befehlsmodus zu wechseln, müssen sie das Zeichen HEX FE, gefolgt vom eigentlichen Befehlzeichen, senden. Das Befehlszeichen X löscht den Bildschirm. Alle Kommandos sind in einem kleinen Handbuch, welches mit dem Display geliefert wird, dokumentiert. Es gibt Kommandos um den Kontrast zu ändern, die Hintergrundbeleuchtung ein- bzw. auszuschalten und um eigene Sonderzeichen anzuzeigen.

Ausgabe von Informationen auf dem Display

Wie schon oben erwähnt, besteht eine Möglichkeit Informationen, wie z.B. die Auslastung des Swap-Speichers oder die Uptime, auszugeben in der Verwendung von lcdproc.

Eine weiter Möglichkeit ist es das mtxorb Programm (s.o.) zu verwenden und dann ein kleines Perl-Script zu schreiben. Die Uptime des Systems können sie aus /proc/uptime,die Auslastung des Swap-Speichers aus /proc/meminfo und die Auslastung der CPU aus /proc/loadavg auslesen. Die ist was das was das Perl-Script Lcdwriter (klicken sie hier für den download), macht. Es ist lediglich ein Script und sie önnen es recht einfach ändern, damit es andere Dinge als den Swap-Speicher, die Uptime oder die CPU Auslastung anzeigt.

Wo kann man das BLC2021 kaufen?

Matrix Orbital ist ein typisches Beispiel für eine Firma, die ein gutes Produkt aber schlechtes Markeing hat. Das LCD, das sie mir schicken wollten kam niemals an. Auf der WEB-Seite von Martix Orbital befindet sich eine Liste von Händlern, bei denen man die Display bestellen kann. In Deutschland werden diese z.B. von "elektronikladen.de" verkauft. Ich habe dort per eMail bestellt und 24 Stunden später war das Display in meinem Briefkasten - ein wirklich guter Service. Auf der Seite von Martix Orbital sind natürlich auch Händler in anderen Ländern aufgeführt. Der Preis des BLC2021 liegt knapp unter 100Euro.