Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Šioje pamokoje paaiškinsiu, kaip sukonfigūruoti 0,96 colio OLED ekrano modulį, kad būtų rodoma „Raspberry Pi 4“modelio B sistemos informacija, naudojant jos I2C sąsają.
Prekės
Reikalinga aparatūra:
- Raspberry Pi 4 B modelis
- 128 × 64 OLED ekrano modulis (SSD1306)
- Laidų prijungimas
1 žingsnis: aparatinės įrangos prijungimas
Žemiau pateikiamos OLED modulio jungtys su „Raspberry Pi 4 B“modeliu:
- SDA ==> GPIO 2 (3 kontaktas)
- SCL ==> GPIO 3 (5 kontaktas)
- VCC ==> 3.3V (1 kaištis)
- GND ==> GND (14 kaištis)
2 veiksmas: įgalinkite „I2C“sąsają
„I2C“sąsaja pagal nutylėjimą yra išjungta, todėl turite ją įjungti. Tai galite padaryti naudodami komandų eilutės raspi-config įrankį paleisdami:
sudo raspi-config
- Bus rodomas mėlynas ekranas. Dabar pasirinkite sąsajos parinktį.
- Po to turime pasirinkti I2C parinktį.
- Po to turime pasirinkti Taip ir paspausti enter, tada gerai.
- Po to turime iš naujo paleisti Raspberry Pi, įvesdami žemiau esančią komandą:
sudo perkraukite
Šios bibliotekos jau gali būti įdiegtos, tačiau vis tiek paleiskite šias komandas, kad įsitikintumėte:
sudo apt-get įdiegti python-smbus
sudo apt-get install i2c-tools
Norėdami rasti įrenginių, prijungtų prie „I2C“magistralės, sąrašą „Raspberry Pi“, galite naudoti šią komandą:
sudo i2cdetect -y 1
Senesnėje „Raspberry Pi“įveskite šią komandą:
sudo i2cdetect -y 0
Štai mano Raspberry Pi 4 B modelio išvestis:
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: -- -- -- -- -- -- -- --
Tai parodė, kad įrenginys buvo aptiktas 0x3c adresu. Tai numatytasis šio tipo įrenginio šešioliktainis adresas.
3 veiksmas: įdiekite „Adafruit Python“biblioteką OLED ekrano moduliui
Norėdami įdiegti biblioteką, mes klonuosime „Adafruit git“saugyklą.
git klonas
Baigę eikite į bibliotekos katalogą:
cd „Adafruit_Python_SSD1306“
ir įdiekite „Python 2“biblioteką:
sudo python setup.py įdiegti
arba „Python 3“:
sudo python3 setup.py įdiegti
4 veiksmas: sistemos stebėjimo „Python“scenarijus
Eikite į pavyzdžių katalogą:
cd pavyzdžiai
Šiame aplanke turėtumėte rasti scenarijaus pavyzdį:
statistika.py
python3 stats.py
Pagal numatytuosius nustatymus jis rodo atminties naudojimą, disko naudojimą, procesoriaus apkrovą ir IP adresą. Be to, prieš kiekvieną eilutę galima pamatyti b-priešdėlį.
Jis bus šiek tiek pakeistas, kad būtų pašalintas „b“priešdėlis ir pridėta „Raspberry Pi 4 Model B“procesoriaus temperatūra.
cmd = "pagrindinio kompiuterio pavadinimas -I | supjaustyti -d / '\' -f1"
bus pakeista tokia eilute:
cmd = "pagrindinio kompiuterio pavadinimas -I | supjaustyti -f 2 -d ''"
Šis kodas puikiai tinka paleidžiant, kai norite rasti „Raspberry Pi“IP adresą SSH arba VNC.
Šios eilutės bus pridėtos, kad būtų rodoma procesoriaus temperatūra OLED ekrano modulyje:
cmd = "vcgencmd meet_temp | cut -f 2 -d '='"
temp = subprocess.check_output (cmd, apvalkalas = tiesa)
Žemiau pateiktas kodas buvo atitinkamai pakeistas, kad būtų pašalintas „b“simbolis iš OLED ekrano.
draw.text ((x, viršuje), "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)
Galiausiai turėtumėte pamatyti kažką panašaus į šį išvestį OLED ekrane:
5 veiksmas: paleiskite „Stats.py“paleidžiant
Galite lengvai tai padaryti, kad ši programa veiktų kiekvieną kartą paleidus „Raspberry Pi“.
Greičiausias ir lengviausias būdas yra įdėti jį į /etc/rc.local. Paleiskite žemiau esančią komandą terminale:
sudo nano /etc/rc.local
Slinkite žemyn ir prieš pat išėjimo 0 eilutę įveskite:
sudo python /home/pi/stats.py &
- Išsaugoti ir išeiti.
- Perkraukite, kad patikrintumėte, ar ekranas pasirodo įkrovos metu!