Sommario:

Sistema di monitoraggio Raspberry Pi tramite modulo display OLED: 5 passaggi
Sistema di monitoraggio Raspberry Pi tramite modulo display OLED: 5 passaggi

Video: Sistema di monitoraggio Raspberry Pi tramite modulo display OLED: 5 passaggi

Video: Sistema di monitoraggio Raspberry Pi tramite modulo display OLED: 5 passaggi
Video: 0838: Display Universale OLED con RASPBERRY, ENCODER e PULSANTI 2024, Dicembre
Anonim
Sistema di monitoraggio Raspberry Pi tramite modulo display OLED
Sistema di monitoraggio Raspberry Pi tramite modulo display OLED

In questo tutorial spiegherò come configurare il modulo display OLED da 0,96 pollici per mostrare le informazioni di sistema di Raspberry Pi 4 Modello B utilizzando la sua interfaccia I2C.

Forniture

Hardware richiesto:

  • Raspberry Pi 4 Modello B
  • Modulo display OLED 128×64 (SSD1306)
  • Cavi di collegamento

Passaggio 1: connessione hardware

Connessione hardware
Connessione hardware

Di seguito sono riportate le connessioni del modulo OLED con 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)

Passaggio 2: abilita l'interfaccia I2C

L'interfaccia I2C è disabilitata per impostazione predefinita, quindi è necessario abilitarla. Puoi farlo all'interno dello strumento raspi-config sulla riga di comando eseguendo:

sudo raspi-config

  1. Apparirà una schermata blu. Ora seleziona l'opzione Interfaccia.
  2. Dopodiché, dobbiamo selezionare l'opzione I2C.
  3. Dopodiché, dobbiamo selezionare Sì e premere invio e poi ok.
  4. Dopodiché, dobbiamo riavviare Raspberry Pi digitando il comando seguente:

sudo reboot

Le seguenti librerie potrebbero essere già installate, ma esegui comunque questi comandi per assicurarti:

sudo apt-get install python-smbus

sudo apt-get install i2c-tools

Per trovare un elenco dei dispositivi collegati al bus I2C sul Raspberry Pi puoi utilizzare il seguente comando:

sudo i2cdetect -y 1

Sul vecchio Raspberry Pi digita il seguente comando:

sudo i2cdetect -y 0

Ecco l'output che vedo sul mio 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: -- -- -- -- -- -- -- --

Ha mostrato che il dispositivo era stato rilevato con un indirizzo di 0x3c. Questo è l'indirizzo esadecimale predefinito per questo tipo di dispositivo.

Passaggio 3: installa la libreria Python Adafruit per il modulo display OLED

Per installare la libreria cloneremo il repository git di Adafruit.

git clone

Una volta completato, vai alla directory della libreria:

cd Adafruit_Python_SSD1306

e installa la libreria per Python 2:

sudo python setup.py install

o per Python 3:

sudo python3 setup.py install

Passaggio 4: Script Python del monitor di sistema

Script Python del monitor di sistema
Script Python del monitor di sistema

Naviga nella directory degli esempi:

esempi di cd

In questa cartella dovresti trovare lo script di esempio:

stats.py

python3 stats.py

Per impostazione predefinita mostra l'utilizzo della memoria, l'utilizzo del disco, il carico della CPU e l'indirizzo IP. Inoltre, si può vedere il prefisso b davanti a ciascuna stringa.

Sarà leggermente modificato per eliminare il prefisso b e aggiungere anche la temperatura della CPU di Raspberry Pi 4 Model B.

cmd = "nome host -I | cut -d\' \' -f1"

sarà sostituito dalla seguente riga:

cmd = "nome host -I |cut -f 2 -d ' '"

Questo codice è perfetto all'avvio quando vuoi trovare l'indirizzo IP del tuo Raspberry Pi per SSH o VNC.

Le seguenti righe verranno aggiunte per mostrare la temperatura della CPU sul modulo display OLED:

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

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

Il codice sottostante è stato modificato di conseguenza per rimuovere il carattere "b" dal display 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)

Infine, dovresti vedere qualcosa di simile al seguente output sul display OLED:

Passaggio 5: eseguire Stats.py all'avvio

Puoi facilmente farlo in modo che questo programma venga eseguito ogni volta che avvii il tuo Raspberry Pi.

Il modo più semplice e veloce è metterlo in /etc/rc.local. Esegui il comando seguente sul terminale:

sudo nano /etc/rc.local

Scorri verso il basso e, appena prima della riga exit 0, inserisci quanto segue:

sudo python /home/pi/stats.py &

  • Salva ed esci.
  • Riavvia per verificare che lo schermo venga visualizzato all'avvio!

Consigliato: