Cuprins:

Sistem de monitorizare Raspberry Pi prin modul de afișare OLED: 5 pași
Sistem de monitorizare Raspberry Pi prin modul de afișare OLED: 5 pași

Video: Sistem de monitorizare Raspberry Pi prin modul de afișare OLED: 5 pași

Video: Sistem de monitorizare Raspberry Pi prin modul de afișare OLED: 5 pași
Video: Smart science IoT kit - Hai sa monitorizam calitatea aerului pe care il respiram 2024, Iulie
Anonim
Sistem de monitorizare Raspberry Pi prin intermediul modulului de afișare OLED
Sistem de monitorizare Raspberry Pi prin intermediul modulului de afișare OLED

În acest tutorial voi explica cum să configurați modulul de afișare OLED de 0,96 inch pentru afișarea informațiilor de sistem ale Raspberry Pi 4 Model B utilizând interfața sa I2C.

Provizii

Hardware necesar:

  • Raspberry Pi 4 Model B.
  • Modul de afișaj OLED 128 × 64 (SSD1306)
  • Conectarea firelor

Pasul 1: Conexiune hardware

Conexiune hardware
Conexiune hardware

Mai jos sunt conexiunile modulului OLED cu Raspberry Pi 4 Model B:

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

Pasul 2: Activați interfața I2C

Interfața I2C este dezactivată implicit, deci trebuie să o activați. Puteți face acest lucru în instrumentul raspi-config de pe linia de comandă executând:

sudo raspi-config

  1. Va apărea un ecran albastru. Acum selectați opțiunea Interfață.
  2. După aceasta, trebuie să selectăm opțiunea I2C.
  3. După aceasta, trebuie să selectăm Da și să apăsăm Enter și apoi OK.
  4. După aceasta, trebuie să repornim Raspberry Pi tastând comanda de mai jos:

sudo reboot

Este posibil ca următoarele biblioteci să fie deja instalate, dar rulați oricum aceste comenzi pentru a vă asigura:

sudo apt-get install python-smbus

sudo apt-get install i2c-tools

Pentru a găsi o listă a dispozitivelor conectate la magistrala I2C pe Raspberry Pi puteți utiliza următoarea comandă:

sudo i2cdetect -y 1

Pe Raspberry Pi mai vechi tastați următoarea comandă:

sudo i2cdetect -y 0

Iată rezultatul pe care îl văd pe 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: -- -- -- -- -- -- -- --

A arătat că dispozitivul a fost detectat cu o adresă de 0x3c. Aceasta este adresa hexagonală implicită pentru acest tip de dispozitiv.

Pasul 3: Instalați Adafruit Python Library pentru modulul de afișare OLED

Pentru a instala biblioteca vom clona depozitul git Adafruit.

git clone

După finalizare, navigați la directorul bibliotecii:

cd Adafruit_Python_SSD1306

și instalați biblioteca pentru Python 2:

sudo python setup.py instalare

sau pentru Python 3:

sudo python3 setup.py instalare

Pasul 4: Monitor de sistem Python Script

Script de Python de monitorizare a sistemului
Script de Python de monitorizare a sistemului

Navigați în directorul de exemple:

exemple cd

În acest dosar ar trebui să găsiți un exemplu de script:

stats.py

python3 stats.py

În mod implicit, arată utilizarea memoriei, utilizarea discului, încărcarea procesorului și adresa IP. De asemenea, poate fi văzut prefixul b din fața fiecărui șir.

Acesta va fi ușor modificat pentru a scăpa de prefixul b și pentru a adăuga temperatura procesorului Raspberry Pi 4 Model B.

cmd = "nume gazdă -I | tăiat -d / '\' -f1"

va fi înlocuit cu următoarea linie:

cmd = "nume gazdă -I | tăiat -f 2 -d ''"

Acest cod este perfect la pornire atunci când doriți să găsiți adresa IP a Raspberry Pi pentru SSH sau VNC.

Următoarele linii vor fi adăugate pentru a afișa temperatura procesorului pe modulul de afișare OLED:

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

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

Codul de mai jos a fost modificat corespunzător pentru a elimina caracterul „b” de pe afișajul OLED.

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)

În cele din urmă, ar trebui să vedeți ceva similar cu următoarea ieșire pe afișajul OLED:

Pasul 5: Rularea Stats.py la pornire

O puteți face cu ușurință, astfel încât acest program să ruleze de fiecare dată când porniți Raspberry Pi.

Cel mai rapid și mai simplu mod este să-l introduceți în /etc/rc.local. Rulați comanda de mai jos pe terminal:

sudo nano /etc/rc.local

Derulați în jos și, chiar înainte de linia de ieșire 0, introduceți următoarele:

sudo python /home/pi/stats.py &

  • Salvează și ieși.
  • Reporniți pentru a verifica dacă ecranul apare la pornire!

Recomandat: