ubuntuusers.de

LC-Display

Ausbaufähige Anleitung

Dieser Anleitung fehlen noch einige Informationen. Wenn Du etwas verbessern kannst, dann editiere den Beitrag, um die Qualität des Wikis noch weiter zu verbessern.


Anmerkung: Es sollte noch eine Anleitung für LcdProc hinzugefügt werden, sowie für weitere Displays und weitere Möglichkeiten der Stromversorgung.

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Ein Terminal öffnen

  2. Einen Editor öffnen

  3. Installation von Programmen

  4. Grundlagen im Löten , optional wenn kein Selbstbau erfolgt

  5. wie man einen AVR Microcontroller flasht, optional

Wenn es darum geht einen Linuxrechner ohne Monitor, Tastatur und Maus zu betreiben, dient der SSHD oft zur Fernwartung. Aber ständig will man ja auch nicht zu dem Server, der vielleicht nebenan im Zimmer steht, verbunden sein. Also stellt sich die Frage: Wie kann man ohne den SSHD ständig Systeminformationen sehen. Eine Lösung: ein Liquid Crystal Display kurz LCD. Ein LCD kann natürlich auch als reine "Schönheitsoperation" am Rechner hängen, halt "nur so".

Ein LCD Adapter bauen

Für den parallel Port

Der Bau eines LCDs für den parallel Port ist mehr oder weniger einfach. Man sollte auf jeden Fall Vorkenntnisse in der Elektrotechnik haben. Im Detail sollte man können:

  • Löten [4]

  • Schaltpläne lesen können

Bauen kann man das Display nach dieser Anleitung 🇩🇪 . Die Anleitung beschreibt die Verdrahtung nach dem "Winamp"-Verfahren. Man braucht von dem HowTo nur den Schaltplan und den Teil bis zur Software, denn diese basiert in dem HowTo auf Windows.

Alternativ kann man auch diese Anleitung 🇩🇪 verwenden, welche steuerung der Hintergrundbeleuchtung erlaubt (etwas komplizierter).

Für den USB Anschluss

Man benötigt zusätzlich Kentnisse wie man einen AVR Mega8 Microcontroller flasht. [5] Bauhilfe (kompliziert) 🇬🇧

Außerdem eine andere Display Konfiguration in lcd4linux.conf (in der lcd4linux Wiki Seite zu LCD2USB 🇬🇧 beschrieben)

Vom Hersteller verbaute Displays

In manchen Servern, Netzwerkspeichern, oder "Gaming" Gehäusen sind Displays ab Werk verbaut. Oftmals werden diese über die Crystalfontz🇬🇧 oder serdisplib🇬🇧 Konfiguration angeprochen. Am besten schaut man in die Liste aller Display Treiber 🇬🇧 .

Die Software

Ohne die Steuersoftware wäre ein Display nutzlos, denn es würde immer nur zwei schwarze Balken anzeigen.

Installation

Als Software wird lcd4linux benutzt, welche über das folgende Paket installiert werden kann:

  • lcd4linux

Paketliste zum Kopieren:

sudo apt-get install lcd4linux 

Oder mit apturl installieren, Link: apt://lcd4linux

Konfiguration

Jetzt sollte die Konfigurationsdatei /etc/lcd4linux.conf angepasst werden. Am besten nimmt man die Konfiguration mit allen Treibern vor, dadurch erleichtert sich der Wechsel auf ein anderes Display, falls dies mal nötig sein sollte. Man öffnet also einen Editor mit Root-Rechten [2] und ersetzt den vorhandene Text durch diesen:

Achtung!

Diese Konfigurationsdatei ist nur für die parallel Port Version gültig. Ersetze die Display HD44780-ParPort { [...] } Sektion falls ein anderes verwendet wird.

#! code text
Display HD44780-ParPort {
    Driver 'HD44780'
    Model   'generic'
    UseBusy  0
    Port '/dev/parport0'
    Port '0x378'
    Bits '8'
    Size '20x4' #ACHTUNG! Bitte an das Display anpassen ([Zeichen pro Zeile]x[Zeilen insgesamt]
    asc255bug 0
    Icons 1
    Wire {
        RW        'AUTOFD'
        RS        'INIT'
        ENABLE    'STROBE'
        ENABLE2   'GND'
        BACKLIGHT 'GND'
        GPO       'GND'

    }
}

#Alles ab hier ist in der "Layout" Sektion erklärt

Widget CPU {
    class      'Text'
    expression  uname('machine')
    prefix     'CPU '
    width       9
    align      'L'
    update      tick
}

Layout Default {
    Row1 {
        Col1 'CPU'
    }
}

Variables {
   tick 500
}

Display 'HD44780-ParPort'
Layout  'Default'

Grundwissen

So gut wie alles in der Konfigurationsdatei wird als "Expression"/Ausdruck verarbeitet. Deshalb ist es wichtig, alle Texte, die als solche erscheinen sollen in Anführungszeichen zu setzen. Sollte dies nicht geschehen, werden alle Wörter als Variable oder Operation gewertet.

Beispiele

1
"Test"

wird als der Text Test gelesen, während

1
test

als den inhalt der in

1
2
Variables {
}

definierten Variable test gelesen wird

Genau so wird

1
42

sowohl als auch

1
40 + 2

als die Zahl 42 gelesen.

Für eine volle Liste dieser Operationen lese die Liste im wiki. 🇬🇧

Wer einfach etwas ausprobieren möchte kann den Befehl

lcd4linux -i 

ausführen um den Interaktiven Modus zu starten. Dort kann man Ausdrücke u.ä. eingeben um die Ausgabe zu erhalten. Nützlich zum testen.

Layout

Hinweis:

Alle Informationon in diesem Segment beziehen sich hauptsächlich auf Textbasierte Displays welche mit Zeichen statt Pixeln Arbeiten.

Das ganze Layout System von lcd4linux basiert auf "Widgets". Kleine, voreingestelle Bausteine die dann frei platziert werden können. Der grundlegende Aufbau eines Widgets basiert auf der Klasse/Art, eines Ausdrucks, und einer Update Rate in Milisekunden.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
Widget Busy {
    class 'Text' #Art des Widgets. In diesem fall Text.
    expression proc_stat::cpu('busy', 500) #Der Ausdruck der die Textausgabe bestimmt. In diesem Fall eine operation des proc_stat Plugins.
    prefix 'Busy' #Was vor dem Ausdruck geschrieben wird(optional)
    postfix '%' #Was nach dem Audruck gescrieben wird (optional)
    width 10 #Wie viele Zeichen das Widget breit ist (optional, empfohlen)
    precision 1 # Wie viele Kommastellen die Zahl aus der expression hat. (optional, nur bei Numerischen Ausdrücken)
    align 'R' # In welche Richtung die Ausabe des Ausdrucks ausgerichtet werden soll (optional)
    update tick #Wie oft das Widget aktualisiert wird in Millisekunden. In dem fall eine Variable.
}

Widget BusyBar {
    class 'Bar' #Art des Widgets. In diesem fall balken.
    expression  proc_stat::cpu('busy',   500) #Numerischer Ausdruck der die Anzeige der oberen Hälfte (falls noch expression2 eingetragen wurde) des Balken angibt. In diesem Fall eine operation des proc_stat Plugins.
    expression2 proc_stat::cpu('system', 500) #Numerischer Ausdruck der die Anzeige der unteren Hälfte des Balken angibt. In diesem Fall eine operation des proc_stat Plugins. (optional)
    length 10 #Wie viele Zeichen lang der Balken maximal werden soll.
    direction 'E' #In welche Richtung der Balken wachsen soll.
    update fast_tick #Wie oft der Balken in Millisekunden Aktualisiert wird. In dem Fall eine Variable.
}

Diese Widgets kann man nun auf dem Textdisplay platzieren. Dabei ist auf die festgelegte (oder dynamische) Breite des jeweiligen Widgets zu achten.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11

Layout meinLayout {
    Row1 { #Alle Widgets für die erste Zeile des Diplays.
        Col1  'Busy' #Ein Widget was ab dem ersten Zeichen beginnt.
        Col11 'BusyBar' #Ein Widget was ab dem elften Zeichen beginnt.
    }
    Row2 { #Alle Widgets für die zweite Zeile des Diplays.
        Col1  'Disk' #Ein Widget was ab dem ersten Zeichen beginnt.
        Col11 'DiskBar' #Ein Widget was ab dem elften Zeichen beginnt.
    }
}
1
2
Display 'meineDisplayKonfiguration'
Layout  'meinLayout'

beschreibt welche Display Konfiguration und welches Layout aktiv verwendet werden. Diese wurden zuvor mit

1
2
3
4
5
6
Layout meinLayout {
#[...]
}
Display meineDisplayKonfiguration {
#[...]
}

beschrieben. Man kann so viele definieren wie man möchte, und zwischen ihnen wechseln.

Mehr info hierzu gibt es im lcd4linux Wiki 🇬🇧

Datenquellen / Plugins

Die Liste von Erweiterungen ist lang, aber alle folgen dem gleichen Schema:

1
plugin_name(option1, option2, ...)

Wenn eine Erweiterung ordungsgemäß aufgerufen wird verhält sie sich wie als ob der Rückgabewert an ihrer Stelle stände.

Die ganze Liste an Erweiterungen gibt es im lcd4inux wiki 🇬🇧

lcd4linux steuern

Jetzt ist kann das Programm im Terminal [1] über

# Allgemein
sudo service lcd4linux {start|stop|restart|force-reload}
# Beispiel
sudo service lcd4linux restart 

gesteuert werden. Mehr dazu im Wiki unter Dienste. Wenn das Display nun etwas anzeigt, hat alles funktioniert. Alles weitere zu den Konfigurationsmöglichkeiten und allen unterstützten Displays gibt es im lcd4linux Wiki 🇬🇧 🇩🇪 .

Diese Revision wurde am 20. Januar 2021 10:23 von ubot erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Server, LCD, Anzeige, DIY, Selbstbau, Hardware