Gefällt dir dieser Artikel?

Raspberry Pi: Systemstatus auf HD44780 Display

erschienen in der Kategorie Technik, am 01.05.2013
Schnatterente
Blogleser Reinhard kontaktierte mich vor einigen Tagen und bat um Hilfe bei der Erstellung eines Python Skripts. Er hatte zuvor die Schaltung mit dem HD44780 Display nachgebaut und wollte nun erreichen, dass sein Display immer aktuelle Systeminformationen anzeigt.

Letzten Endes habe ich ihm nur ein paar Tipps gegeben, er hat alles alleine entwickelt und mir erlaubt, sein Skript hier zu veröffentlichen.

Reinhard hat einen WLAN-Adapter an seinen Raspberry Pi angeschlossen und benutzt diesen als Hotspot. Wer kein WLAN an seinem Pi hat und das Skript benutzen möchte, muss gegebenenfalls die nicht benötigten Sachen auskommentieren.

Das Python Skript zeigt folgende Informationen im 5 Sekunden Takt an:
  • Uptime
  • freier RAM Speicher
  • CPU-Temperatur und -frequenz
  • System Load
  • eth0: Gesendete / Empfangene Daten (in MB)
  • wlan0: Gesendete / Empfangene Daten (in MB)

Hier könnt ihr das Skript herunterladen.

Danke, Reinhard!



Weitere Artikel in Sachen Raspberry Pi und HD44780-Display:

Geschnatter

11 Kommentare, selbst mitschnattern << < Seite 2/2 > >>
Kevin, am 19.03.2015 um 00:23 Uhr
Super Anleitung hat auf anhieb funktioniert eine frage hätte ich noch kann man das Datum und die Uhrzeit noch mit einbinden ?

corvintaurus, am 07.08.2015 um 05:42 Uhr
Huhu Schnatterente.
Neugierig geworden, habe ich mir auch einen Raspberry A+ zugelegt. Klasse Teil !! Jetzt möchte ich, deiner Anleitung folgend, das besagte Display ansteuern.

Wie implementiere ich die Funktion, das dich die Hintergrundbeleuchtung nach Zeit x abschaltet??
Also, kann ich das in deinem Script ergänzen, das ein Ausgang entsprechend einer Zeitangabe auf lo geht?

Mit Gruß aus Berlin.
Alex
Antwort:

Hallo Alex,
prinzipiell sollte das kein Problem sein. Anstatt die Anode der LED-Beleuchtung direkt an einen Spannungs-Pin zu hängen, kannst du sie an einen freien GPIO-Pin anschließen.

Mit der GPIO-Library kannst du das Ganze dann in Python sehr einfach an- und ausschalten:
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)

LED_BLUE = 7     # GPIO-Pin 7
GPIO.setup(LED_BLUE, GPIO.OUT)

GPIO.output(LED_BLUE, True)     # LED an
GPIO.output(LED_BLUE, False)     # LED aus


Damit kannst du dir im allereinfachsten Fall zwei kleine Pythonskripte basteln - eines zum Anschalten, das andere zum Ausschalten.
Um das Schalten zu einer bestimmten Uhrzeit vorzunehmen, kannst du den Aufrufbefehl einfach in die Crontab deines Linux-Systems schreiben (die bearbeitest du als root mit dem Befehl: # crontab -e).
MaRioHo, am 03.04.2016 um 19:29 Uhr
Hallo Schnatterente,

ich kannst das Script, gut als Basis für mein weiteres Projekt nutzen ;-)

Im Script hat sich ein kleiner eingeschlichen:

lcd_byte(DISPLAY_LINE_1, DISPLAY_CMD)
lcd_string('Eth0 send/rec.')

lcd_byte(DISPLAY_LINE_2, DISPLAY_CMD)
lcd_string(str(rx_bytes)+'/'+str(tx1_bytes)+' MB')

Da dieser Absatz für eth0 gedacht ist muss es tx_bytes und nicht tx1_bytes heissen. Wäre mir auch nicht aufgefallen, hab aber kein WLAN dran und musste so einiges auskommentieren.

Danke nochmals und weiter so.
Kevin, am 01.12.2016 um 01:00 Uhr
Super Idee!

die Initialisierung

GPIO.setmode(GPIO.BCM)
GPIO.setup(DISPLAY_E, GPIO.OUT)
GPIO.setup(DISPLAY_RS, GPIO.OUT)
GPIO.setup(DISPLAY_DATA4, GPIO.OUT)
GPIO.setup(DISPLAY_DATA5, GPIO.OUT)
GPIO.setup(DISPLAY_DATA6, GPIO.OUT)
GPIO.setup(DISPLAY_DATA7, GPIO.OUT)

display_init()

kannst du komplett vor die while Schleife setzen, spart Rechenzeit.

Ansonsten, tolle Arbeit! :)