สารบัญ:

ระบบตรวจสอบ Raspberry Pi ผ่านโมดูลแสดงผล OLED: 5 ขั้นตอน
ระบบตรวจสอบ Raspberry Pi ผ่านโมดูลแสดงผล OLED: 5 ขั้นตอน

วีดีโอ: ระบบตรวจสอบ Raspberry Pi ผ่านโมดูลแสดงผล OLED: 5 ขั้นตอน

วีดีโอ: ระบบตรวจสอบ Raspberry Pi ผ่านโมดูลแสดงผล OLED: 5 ขั้นตอน
วีดีโอ: แกะกล่อง Raspberry Pi 5 มีอะไรมาใหม่ มีอะไรเปลี่ยนไปบ้าง… 2024, พฤศจิกายน
Anonim
ระบบตรวจสอบ Raspberry Pi ผ่านโมดูลแสดงผล OLED
ระบบตรวจสอบ Raspberry Pi ผ่านโมดูลแสดงผล OLED

ในบทช่วยสอนนี้ ฉันจะอธิบายวิธีตั้งค่าโมดูลแสดงผล OLED ขนาด 0.96 นิ้วเพื่อแสดงข้อมูลระบบของ Raspberry Pi 4 Model B โดยใช้อินเทอร์เฟซ I2C

เสบียง

ฮาร์ดแวร์ที่จำเป็น:

  • Raspberry Pi 4 รุ่น B
  • โมดูลแสดงผล OLED ขนาด 128 × 64 (SSD1306)
  • สายเชื่อมต่อ

ขั้นตอนที่ 1: การเชื่อมต่อฮาร์ดแวร์

การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์

ด้านล่างนี้คือการเชื่อมต่อของโมดูล OLED กับ Raspberry Pi 4 รุ่น B:

  • SDA ==> GPIO 2 (พิน 3)
  • SCL ==> GPIO 3 (ขา 5)
  • VCC ==> 3.3V (พิน 1)
  • GND ==> GND (ขา 14)

ขั้นตอนที่ 2: เปิดใช้งานอินเทอร์เฟซ I2C

อินเทอร์เฟซ I2C ถูกปิดใช้งานโดยค่าเริ่มต้น ดังนั้นคุณต้องเปิดใช้งาน คุณสามารถทำได้ภายในเครื่องมือ raspi-config บนบรรทัดคำสั่งโดยเรียกใช้:

sudo raspi-config

  1. หน้าจอสีน้ำเงินจะปรากฏขึ้น ตอนนี้เลือกตัวเลือกการเชื่อมต่อ
  2. หลังจากนี้เราต้องเลือกตัวเลือก I2C
  3. หลังจากนี้เราต้องเลือก Yes แล้วกด Enter แล้วก็ ok
  4. หลังจากนี้เราต้องรีบูต Raspberry Pi โดยพิมพ์คำสั่งด้านล่าง:

sudo รีบูต

ไลบรารีต่อไปนี้อาจถูกติดตั้งไว้แล้ว แต่ให้รันคำสั่งเหล่านี้ต่อไปเพื่อให้แน่ใจว่า:

sudo apt-get ติดตั้ง python-smbus

sudo apt-get ติดตั้ง i2c-tools

หากต้องการค้นหารายการอุปกรณ์ที่เชื่อมต่อกับบัส I2C บน Raspberry Pi คุณสามารถใช้คำสั่งต่อไปนี้:

sudo i2cdetect -y 1

ใน Raspberry Pi รุ่นเก่าให้พิมพ์คำสั่งต่อไปนี้:

sudo i2cdetect -y 0

นี่คือผลลัพธ์ที่ฉันเห็นใน 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: -- -- -- -- -- -- -- --

แสดงว่าตรวจพบอุปกรณ์ด้วยที่อยู่ 0x3c นี่คือที่อยู่ฐานสิบหกเริ่มต้นสำหรับอุปกรณ์ประเภทนี้

ขั้นตอนที่ 3: ติดตั้ง Adafruit Python Library สำหรับ OLED Display Module

ในการติดตั้งไลบรารี เราจะทำการโคลนที่เก็บ Adafruit git

โคลน git

เมื่อเสร็จแล้วให้ไปที่ไดเร็กทอรีของห้องสมุด:

cd Adafruit_Python_SSD1306

และติดตั้งไลบรารี่สำหรับ Python 2:

sudo python setup.py ติดตั้ง

หรือสำหรับ Python 3:

sudo python3 setup.py ติดตั้ง

ขั้นตอนที่ 4: ตรวจสอบระบบ Python Script

สคริปต์ Python ตรวจสอบระบบ
สคริปต์ Python ตรวจสอบระบบ

ไปที่ไดเร็กทอรีตัวอย่าง:

ตัวอย่างซีดี

ในโฟลเดอร์นี้ คุณควรพบสคริปต์ตัวอย่าง:

stats.py

python3 stats.py

โดยค่าเริ่มต้น จะแสดงการใช้หน่วยความจำ การใช้ดิสก์ โหลด CPU และที่อยู่ IP นอกจากนี้ยังสามารถเห็นคำนำหน้า b ที่ด้านหน้าของแต่ละสตริง

จะมีการปรับเปลี่ยนเล็กน้อยเพื่อกำจัด b-prefix และเพิ่มอุณหภูมิ CPU ของ Raspberry Pi 4 Model B ด้วยเช่นกัน

cmd = "ชื่อโฮสต์ -I | cut -d\' \' -f1"

จะถูกแทนที่ด้วยบรรทัดต่อไปนี้:

cmd = "ชื่อโฮสต์ -I |cut -f 2 -d ' '"

รหัสนี้เหมาะสำหรับการบู๊ตเมื่อคุณต้องการค้นหาที่อยู่ IP ของ Raspberry Pi สำหรับ SSH หรือ VNC

บรรทัดต่อไปนี้จะถูกเพิ่มเพื่อแสดงอุณหภูมิ CPU บนโมดูลแสดงผล OLED:

cmd = "vcgencmd วัด_temp |cut -f 2 -d '='"

temp = subprocess.check_output(cmd, เชลล์ = True)

โค้ดด้านล่างได้รับการแก้ไขตามนั้นเพื่อลบอักขระ 'b' ออกจากจอแสดงผล OLED

draw.text((x, ด้านบน), "IP: " + str(IP, 'utf-8'), แบบอักษร=แบบอักษร, เติม=255) draw.text((x, บน+8), str(CPU, 'utf-8') + " " + str(temp, 'utf-8'), font=font, fill=255) draw.text((x, top+16), str(MemUsage, 'utf-8'), ฟอนต์=ฟอนต์, เติม=255) draw.text((x, บน+25), str(ดิสก์, 'utf-8'), ฟอนต์=ฟอนต์, เติม=255)

สุดท้าย คุณควรเห็นสิ่งที่คล้ายกับผลลัพธ์ต่อไปนี้บนจอแสดงผล OLED:

ขั้นตอนที่ 5: เรียกใช้ Stats.py บน Startup

คุณสามารถทำให้โปรแกรมนี้ทำงานทุกครั้งที่คุณบูท Raspberry Pi ของคุณได้อย่างง่ายดาย

วิธีที่เร็วและง่ายที่สุดคือใส่ไว้ใน /etc/rc.local รันคำสั่ง bellow บนเทอร์มินัล:

sudo nano /etc/rc.local

เลื่อนลงและก่อนถึงบรรทัด exit 0 ให้ป้อนข้อมูลต่อไปนี้:

sudo python /home/pi/stats.py &

  • บันทึกและออก.
  • รีบูตเพื่อตรวจสอบว่าหน้าจอปรากฏขึ้นเมื่อบู๊ต!

แนะนำ: