Inhaltsverzeichnis:

Raspberry Pi-Überwachungssystem über OLED-Anzeigemodul - Gunook
Raspberry Pi-Überwachungssystem über OLED-Anzeigemodul - Gunook

Video: Raspberry Pi-Überwachungssystem über OLED-Anzeigemodul - Gunook

Video: Raspberry Pi-Überwachungssystem über OLED-Anzeigemodul - Gunook
Video: Add an OLED Stats Display to Raspberry Pi OS Bullseye 2024, Juli
Anonim
Raspberry Pi-Überwachungssystem über OLED-Anzeigemodul
Raspberry Pi-Überwachungssystem über OLED-Anzeigemodul

In diesem Tutorial erkläre ich, wie Sie ein 0,96-Zoll-OLED-Display-Modul einrichten, um Systeminformationen des Raspberry Pi 4 Model B über seine I2C-Schnittstelle anzuzeigen.

Lieferungen

Erforderliche Hardware:

  • Raspberry Pi 4 Modell B
  • 128×64 OLED-Anzeigemodul (SSD1306)
  • Anschließen von Drähten

Schritt 1: Hardwareverbindung

Hardware-Verbindung
Hardware-Verbindung

Unten sind die Anschlüsse des OLED-Moduls mit Raspberry Pi 4 Model B:

  • SDA ==> GPIO 2 (Pin 3)
  • SCL ==> GPIO 3 (Pin 5)
  • VCC ==> 3,3 V (Pin 1)
  • GND ==> GND (Pin 14)

Schritt 2: I2C-Schnittstelle aktivieren

Die I2C-Schnittstelle ist standardmäßig deaktiviert, daher müssen Sie sie aktivieren. Sie können dies im raspi-config-Tool auf der Befehlszeile tun, indem Sie Folgendes ausführen:

sudo raspi-config

  1. Ein blauer Bildschirm wird angezeigt. Wählen Sie nun die Option Schnittstelle.
  2. Danach müssen wir die I2C-Option auswählen.
  3. Danach müssen wir Ja auswählen und die Eingabetaste und dann OK drücken.
  4. Danach müssen wir Raspberry Pi neu starten, indem wir den folgenden Befehl eingeben:

sudo neu starten

Die folgenden Bibliotheken sind möglicherweise bereits installiert, führen Sie diese Befehle jedoch trotzdem aus, um sicherzustellen, dass:

sudo apt-get install python-smbus

sudo apt-get install i2c-tools

Um eine Liste der am I2C-Bus angeschlossenen Geräte auf dem Raspberry Pi zu finden, können Sie den folgenden Befehl verwenden:

sudo i2cdetect -y 1

Geben Sie auf dem älteren Raspberry Pi folgenden Befehl ein:

sudo i2cdetect -y 0

Hier ist die Ausgabe, die ich auf meinem Raspberry Pi 4 Model B sehe:

0 1 2 3 4 5 6 7 8 9 a b c d e f

00: -- -- -- -- -- -- -- -- -- -- -- -- --

10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --

40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

70: -- -- -- -- -- -- -- --

Es zeigte, dass das Gerät mit der Adresse 0x3c erkannt wurde. Dies ist die standardmäßige Hex-Adresse für diesen Gerätetyp.

Schritt 3: Installieren Sie die Adafruit Python-Bibliothek für das OLED-Display-Modul

Um die Bibliothek zu installieren, klonen wir das Adafruit-Git-Repository.

Git-Klon

Navigieren Sie nach Abschluss zum Verzeichnis der Bibliothek:

CD Adafruit_Python_SSD1306

und installieren Sie die Bibliothek für Python 2:

sudo python setup.py installieren

oder für Python 3:

sudo python3 setup.py installieren

Schritt 4: Systemmonitor-Python-Skript

Python-Skript zur Systemüberwachung
Python-Skript zur Systemüberwachung

Navigieren Sie in das Beispielverzeichnis:

CD-Beispiele

In diesem Ordner sollten Sie ein Beispielskript finden:

stats.py

python3 stats.py

Standardmäßig werden Speichernutzung, Festplattennutzung, CPU-Last und IP-Adresse angezeigt. Außerdem ist das b-Präfix vor jeder Zeichenfolge zu sehen.

Es wird leicht modifiziert, um das b-Präfix loszuwerden und auch die CPU-Temperatur des Raspberry Pi 4 Model B hinzuzufügen.

cmd = "hostname -I | cut -d\' \' -f1"

wird durch folgende Zeile ersetzt:

cmd = "Hostname -I |cut -f 2 -d ' '"

Dieser Code ist perfekt beim Booten, wenn Sie die IP-Adresse Ihres Raspberry Pi für SSH oder VNC finden möchten.

Die folgenden Zeilen werden hinzugefügt, um die CPU-Temperatur auf dem OLED-Anzeigemodul anzuzeigen:

cmd = "vcgencmd measure_temp |cut -f 2 -d '='"

temp = subprocess.check_output(cmd, shell = True)

Der folgende Code wurde entsprechend geändert, um das 'b'-Zeichen aus dem OLED-Display zu entfernen.

draw.text((x, top), "IP: " + str(IP, 'utf-8'), font=font, fill=255) draw.text((x, top+8), str(CPU, 'utf-8') + " " + str(temp, 'utf-8'), font=font, fill=255) draw.text((x, top+16), str(MemUsage, 'utf-8'), font=font, fill=255) draw.text((x, top+25), str(Disk, 'utf-8'), font=font, fill=255)

Schließlich sollten Sie auf dem OLED-Display etwas Ähnliches wie die folgende Ausgabe sehen:

Schritt 5: Ausführen von Stats.py beim Start

Sie können es ganz einfach so einstellen, dass dieses Programm jedes Mal ausgeführt wird, wenn Sie Ihren Raspberry Pi booten.

Der schnellste und einfachste Weg ist, es in /etc/rc.local abzulegen. Führen Sie den folgenden Befehl auf dem Terminal aus:

sudo nano /etc/rc.local

Scrollen Sie nach unten und geben Sie kurz vor der Zeile Exit 0 Folgendes ein:

sudo python /home/pi/stats.py &

  • Speichern und schließen.
  • Starten Sie neu, um zu überprüfen, ob der Bildschirm beim Booten angezeigt wird!

Empfohlen: