Hệ thống giám sát Raspberry Pi thông qua mô-đun màn hình OLED: 5 bước
Hệ thống giám sát Raspberry Pi thông qua mô-đun màn hình OLED: 5 bước
Anonim
Hệ thống giám sát Raspberry Pi thông qua mô-đun màn hình OLED
Hệ thống giám sát Raspberry Pi thông qua mô-đun màn hình OLED

Trong hướng dẫn này, tôi sẽ giải thích cách thiết lập mô-đun màn hình OLED 0,96 inch để hiển thị thông tin hệ thống của Raspberry Pi 4 Model B bằng giao diện I2C của nó.

Quân nhu

Yêu cầu phần cứng:

  • Raspberry Pi 4 Model B
  • Mô-đun màn hình OLED 128 × 64 (SSD1306)
  • Kết nối dây

Bước 1: Kết nối phần cứng

Kết nối phần cứng
Kết nối phần cứng

Dưới đây là các kết nối của mô-đun OLED với Raspberry Pi 4 Model B:

  • SDA ==> GPIO 2 (chân 3)
  • SCL ==> GPIO 3 (chân 5)
  • VCC ==> 3.3V (chân 1)
  • GND ==> GND (pin 14)

Bước 2: Kích hoạt giao diện I2C

Giao diện I2C bị tắt theo mặc định, vì vậy bạn cần phải kích hoạt nó. Bạn có thể thực hiện việc này trong công cụ raspi-config trên dòng lệnh bằng cách chạy:

sudo raspi-config

  1. Màn hình màu xanh lam sẽ xuất hiện. Bây giờ chọn tùy chọn Interfacing.
  2. Sau đó, chúng ta cần chọn tùy chọn I2C.
  3. Sau đó, chúng ta cần chọn Yes và nhấn enter rồi ok.
  4. Sau đó, chúng ta cần khởi động lại Raspberry Pi bằng cách gõ lệnh dưới đây:

khởi động lại sudo

Các thư viện sau có thể đã được cài đặt nhưng vẫn chạy các lệnh này để đảm bảo:

sudo apt-get install python-smbus

sudo apt-get install i2c-tools

Để tìm danh sách các thiết bị được kết nối với bus I2C trên Raspberry Pi, bạn có thể sử dụng lệnh sau:

sudo i2cdetect -y 1

Trên Raspberry Pi cũ hơn, nhập lệnh sau:

sudo i2cdetect -y 0

Đây là kết quả tôi thấy trên Raspberry Pi 4 Model B của mình:

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: -- -- -- -- -- -- -- --

Nó cho thấy thiết bị đã được phát hiện có địa chỉ 0x3c. Đây là địa chỉ hex mặc định cho loại thiết bị này.

Bước 3: Cài đặt Thư viện Python Adafruit cho Mô-đun màn hình OLED

Để cài đặt thư viện, chúng tôi sẽ sao chép kho lưu trữ git của Adafruit.

git clone

Sau khi hoàn tất, hãy điều hướng đến thư mục của thư viện:

cd Adafruit_Python_SSD1306

và cài đặt thư viện cho Python 2:

sudo python setup.py cài đặt

hoặc đối với Python 3:

sudo python3 setup.py cài đặt

Bước 4: Tập lệnh Python theo dõi hệ thống

Tập lệnh Python theo dõi hệ thống
Tập lệnh Python theo dõi hệ thống

Điều hướng vào thư mục ví dụ:

ví dụ cd

Trong thư mục này, bạn sẽ tìm thấy tập lệnh mẫu:

stats.py

python3 stats.py

Theo mặc định, nó hiển thị mức sử dụng bộ nhớ, mức sử dụng đĩa, tải CPU và địa chỉ ip. Ngoài ra, tiền tố b ở phía trước mỗi chuỗi có thể được nhìn thấy.

Nó sẽ được sửa đổi một chút để loại bỏ tiền tố b và thêm nhiệt độ CPU của Raspberry Pi 4 Model B.

cmd = "tên máy chủ -I | cut -d / '\' -f1"

sẽ được thay thế bằng dòng sau:

cmd = "tên máy chủ -I | cut -f 2 -d ''"

Mã này hoàn hảo khi khởi động khi bạn muốn tìm địa chỉ IP của Raspberry Pi cho SSH hoặc VNC.

Các dòng sau sẽ được thêm vào để hiển thị nhiệt độ CPU trên mô-đun màn hình OLED:

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

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

Mã bên dưới đã được sửa đổi cho phù hợp để loại bỏ ký tự 'b' khỏi màn hình 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)

Cuối cùng, bạn sẽ thấy một cái gì đó tương tự như đầu ra sau trên màn hình OLED:

Bước 5: Chạy Stats.py khi khởi động

Bạn có thể dễ dàng tạo ra nó để chương trình này chạy mỗi khi bạn khởi động Raspberry Pi.

Cách nhanh nhất và dễ nhất là đặt nó vào /etc/rc.local. Chạy lệnh dưới đây trên thiết bị đầu cuối:

sudo nano /etc/rc.local

Cuộn xuống và ngay trước dòng thoát 0, nhập thông tin sau:

sudo python /home/pi/stats.py &

  • Lưu và thoát.
  • Khởi động lại để xác minh rằng màn hình xuất hiện khi khởi động!