Inhoudsopgave:

Raspberry Pi-bewakingssysteem via OLED-displaymodule - Ajarnpa
Raspberry Pi-bewakingssysteem via OLED-displaymodule - Ajarnpa

Video: Raspberry Pi-bewakingssysteem via OLED-displaymodule - Ajarnpa

Video: Raspberry Pi-bewakingssysteem via OLED-displaymodule - Ajarnpa
Video: Testing a Pi Pico with an SSD1351 OLED display 2024, Juli-
Anonim
Raspberry Pi-bewakingssysteem via OLED-displaymodule
Raspberry Pi-bewakingssysteem via OLED-displaymodule

In deze tutorial leg ik uit hoe je de 0,96 inch OLED-displaymodule instelt voor het weergeven van systeeminformatie van Raspberry Pi 4 Model B met behulp van de I2C-interface.

Benodigdheden

Benodigde hardware:

  • Raspberry Pi 4 Model B
  • 128 × 64 OLED-displaymodule (SSD1306)
  • Draden aansluiten

Stap 1: Hardwareverbinding

Hardwareverbinding
Hardwareverbinding

Hieronder staan de aansluitingen van de OLED-module met Raspberry Pi 4 Model B:

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

Stap 2: I2C-interface inschakelen

De I2C-interface is standaard uitgeschakeld, dus u moet deze inschakelen. U kunt dit doen in het hulpprogramma raspi-config op de opdrachtregel door het volgende uit te voeren:

sudo raspi-config

  1. Er verschijnt een blauw scherm. Selecteer nu de interface-optie.
  2. Hierna moeten we de I2C-optie selecteren.
  3. Hierna moeten we Ja selecteren en op enter drukken en vervolgens op ok.
  4. Hierna moeten we Raspberry Pi opnieuw opstarten door het onderstaande commando te typen:

sudo reboot

De volgende bibliotheken zijn mogelijk al geïnstalleerd, maar voer deze opdrachten toch uit om er zeker van te zijn:

sudo apt-get install python-smbus

sudo apt-get install i2c-tools

Om een lijst te vinden van de apparaten die op de I2C-bus op de Raspberry Pi zijn aangesloten, kun je het volgende commando gebruiken:

sudo i2cdetect -y 1

Typ op de oudere Raspberry Pi het volgende commando:

sudo i2cdetect -y 0

Hier is de output die ik zie op mijn Raspberry Pi 4 Model B:

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: -- -- -- -- -- -- -- --

Het toonde aan dat het apparaat was gedetecteerd met een adres van 0x3c. Dit is het standaard hexadecimale adres voor dit type apparaat.

Stap 3: Installeer Adafruit Python Library voor OLED Display Module

Om de bibliotheek te installeren, zullen we de Adafruit git-repository klonen.

git kloon

Eenmaal voltooid, navigeert u naar de directory van de bibliotheek:

cd Adafruit_Python_SSD1306

en installeer de bibliotheek voor Python 2:

sudo python setup.py installeren

of voor Python 3:

sudo python3 setup.py installeren

Stap 4: Systeemmonitor Python-script

Python-script voor systeemmonitor
Python-script voor systeemmonitor

Navigeer naar de map met voorbeelden:

cd-voorbeelden

In deze map zou je een voorbeeldscript moeten vinden:

stats.py

python3 stats.py

Standaard toont het geheugengebruik, schijfgebruik, CPU-belasting en ip-adres. Ook is het b-voorvoegsel voor elke snaar te zien.

Het zal enigszins worden aangepast om het b-voorvoegsel te verwijderen en ook de CPU-temperatuur van Raspberry Pi 4 Model B toe te voegen.

cmd = "hostnaam -I | knip -d\' \' -f1"

wordt vervangen door de volgende regel:

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

Deze code is perfect bij het opstarten als je het IP-adres van je Raspberry Pi voor SSH of VNC wilt vinden.

De volgende regels worden toegevoegd om de CPU-temperatuur op de OLED-displaymodule weer te geven:

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

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

Onderstaande code is dienovereenkomstig aangepast om het 'b'-teken van het OLED-scherm te verwijderen.

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)

Ten slotte zou u iets moeten zien dat lijkt op de volgende uitvoer op het OLED-scherm:

Stap 5: Stats.py uitvoeren bij opstarten

Je kunt het eenvoudig zo maken dat dit programma elke keer wordt uitgevoerd als je je Raspberry Pi opstart.

De snelste en gemakkelijkste manier is om het in /etc/rc.local te plaatsen. Voer de onderstaande opdracht uit op terminal:

sudo nano /etc/rc.local

Scroll naar beneden en voer net voor de exit 0-regel het volgende in:

sudo python /home/pi/stats.py &

  • Opslaan en afsluiten.
  • Start opnieuw op om te controleren of het scherm verschijnt bij het opstarten!

Aanbevolen: