본문 바로가기

코딩/파이썬과 라즈베리파이

[Raspberry Pi] 라즈베리 파이 + 파이썬 코딩 024. psutil 라이브러리로 CPU 로드에 따라 RGB LED의 적색/녹색 밝기 제어

psutil 파이썬 라이브러리

라즈베리 파이 OS Full 버전을 설치하면 기본적으로 포함되어 있는 psutil 파이썬 라이브러리는 이름이 python system and process utilities를 의미하는 라이브러리로 실행중인 프로세스나 CPU 로드, 메모리, 디스크 등 시스템 정보를 확인하고자 할 때 사용할 수 있다.

 

아래와 같이 터미널 창에서 pip3 list를 입력하여 설치되어 있는 psutil의 버전 정보를 확인하였다.

 

 

psutil에 대한 추가 정보는 psutil.readthedocs.io 에서 확인 가능하다.

 

LED 제어를 위한 회로의 구성은 이전 글의 구성을 따른다.

2021.05.28 - [학습노트/Raspberry Pi] - [Raspberry Pi] 라즈베리 파이 + 파이썬 코딩 023. gpiozero의 RGBLED 클래스로 3개 LED 제어

psutil.cpu_percent() 로 CPU 로드 정보 얻기

psutil.cpu_percent()는 CPU 로드를 소수값으로 반환한다. 예로 15.5 값이 반환되었다면 해당 시점의 CPU 로드는 15.5%이다.

 

CPU 로드가 낮으면 녹색이, CPU 로드가 높으면 붉은색이 더 밝게 빛난다.

 

from gpiozero import RGBLED
from time import sleep
import psutil

rgb_led = RGBLED(14, 15, 18)

for n in range(300):
    cpu = psutil.cpu_percent()
    print('CPU load :', cpu, '%')
    red = cpu / 100.
    green = (100 - cpu)/100.
    blue = 0
    rgb_led.color = (red, green, blue)
    sleep(0.1)

rgb_led.color = (0, 0, 0)  # led off

 

Thonny 프로그램으로 파이썬 코드를 작성한 후 실행시키면 보통 CPU 부하는 20% 이하이나, 동시에 유튜브 동영상을 실행하니 CPU 로드가 확 증가한다. 그 결과 붉은색이 무척이나 빛난다.