我在SSD1306 OLED屏幕上使用luma.OLED(在raspberry pi 4上),我正在编写一些代码来显示系统信息,如cpu负载、cpu正常运行时间和内存使用率,但我想添加cpu热量,但我不知道如何添加,如果您也能提供帮助,那也会很好
当我运行它时,会出现以下错误:
File "/home/pi/Desktop/test.py", line 61, in <module>
stats(device)
File "/home/pi/Desktop/test.py", line 50, in stats
font2 = ImageFont.truetype(font_path, 12)
File "/usr/lib/python3/dist-packages/PIL/ImageFont.py", line 280, in truetype
return FreeTypeFont(font, size, index, encoding, layout_engine)
File "/usr/lib/python3/dist-packages/PIL/ImageFont.py", line 145, in __init__
layout_engine=layout_engine)
OSError: cannot open resource```
With this code:
``` import os
import sys
import time
from pathlib import Path
from datetime import datetime
from demo_opts import get_device
from luma.core.render import canvas
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw
try:
import psutil
except ImportError:
print("The psutil library was not found. Run 'sudo -H pip install psutil' to install it.")
sys.exit()
def bytes2human(n):
"""
>>> bytes2human(10000)
'9K'
>>> bytes2human(100001221)
'95M'
"""
symbols = ('K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y')
prefix = {}
for i, s in enumerate(symbols):
prefix[s] = 1 << (i + 1) * 10
for s in reversed(symbols):
if n >= prefix[s]:
value = int(float(n) / prefix[s])
return '%s%s' % (value, s)
return "%sB" % n
# load average, uptime
uptime = datetime.now() - datetime.fromtimestamp(psutil.boot_time())
avg = os.getloadavg()
(avg, str(uptime).split('.')[0])
usage = psutil.virtual_memory()
(bytes2human(usage.used), 100 - usage.percent)
def stats(device):
# use custom font
font_path = str(Path(__file__).resolve().parent.joinpath('fonts', 'C&C Red Alert
[INET].ttf'))
font2 = ImageFont.truetype(font_path, 12)
with canvas(device) as draw:
draw.text((0, 0), (avg, str(uptime).split('.')[0]), font=font2, fill="white")
if device.height >= 32:
draw.text((0, 14), (bytes2human(usage.used), 100 - usage.percent), font=font2,
fill="white")
if device.height >= 64:
draw.text((0, 26), (bytes2human(usage.used), usage.percent), font=font2,
fill="white")
device = get_device()
stats(device)
谢谢
目前没有回答
相关问题 更多 >
编程相关推荐