Cuprins:
- Provizii
- Pasul 1: Conexiune hardware
- Pasul 2: Activați interfața I2C
- Pasul 3: Instalați Adafruit Python Library pentru modulul de afișare OLED
- Pasul 4: Monitor de sistem Python Script
- Pasul 5: Rularea Stats.py la pornire
Video: Sistem de monitorizare Raspberry Pi prin modul de afișare OLED: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Î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
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
- Va apărea un ecran albastru. Acum selectați opțiunea Interfață.
- După aceasta, trebuie să selectăm opțiunea I2C.
- După aceasta, trebuie să selectăm Da și să apăsăm Enter și apoi OK.
- 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
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:
Monitorizare curentă prin Arduino Nano (I2C): 5 pași
Monitorizare curentă prin Arduino Nano (I2C): Bună ziua, Salutări bune .. Aici eu (Somanshu Choudhary), în numele întreprinderilor tehnologice Dcube, voi monitoriza curentul folosind Arduino nano, este una dintre aplicațiile protocolului I2C pentru a citi analogice date ale senzorului de curent TA12-200
Creați-vă propriul sistem de urmărire a securității prin SMS prin GPS: 5 pași (cu imagini)
Asigurați-vă propriul sistem de urmărire a securității prin SMS GPS: În acest proiect vă voi arăta cum să combinați un modul SIM5320 3G cu un Arduino și un traductor piezoelectric ca senzor de șoc pentru a crea un sistem de urmărire a securității care vă va trimite locația dvs. vehicul prețios prin SMS când
Afișare / monitorizare a camerei IP utilizând un Raspberry Pi: 4 pași
Afișare / monitorizare a camerei IP utilizând un Raspberry Pi: În timp ce evaluam opțiunile NVR adecvate, am dat peste depozitul camerelor de afișare, care vă permite să afișați mai multe fluxuri video ale camerei de rețea. De asemenea, acceptă comutarea între mai multe ecrane și vom folosi acel proiect pentru acest b
Arduino autonom 3.3V W / ceas extern de 8 MHz programat de la Arduino Uno prin ICSP / ISP (cu monitorizare serială!): 4 pași
Arduino autonom 3.3V W / ceas extern de 8 MHz Programat de la Arduino Uno prin ICSP / ISP (cu monitorizare serială!): Obiective: Construirea unui Arduino independent care rulează pe 3.3V de pe un ceas extern de 8 MHz. Pentru a-l programa prin ISP (cunoscut și sub numele de ICSP, programare serială în circuit) de pe un Arduino Uno (care rulează la 5V) Pentru a edita fișierul de încărcare și a arde
Automatizare și monitorizare casnică controlate prin voce / internet folosind ESP8266 și Google Home Mini: 6 pași
Automatizare și monitorizare casnică controlate prin voce / internet folosind ESP8266 și Google Home Mini: Hei! După o lungă pauză sunt aici, deoarece toți trebuie să facem ceva plictisitor (treabă) de câștigat. După toate articolele HOME AUTOMATION pe care le-am scris de la BLUETOOTH, IR, WIFI local, Cloud adică cele dificile, * ACUM * cel mai ușor, dar cel mai eficient