树莓派获取cpu温度并显示在0.96oled上实时显示
程序员文章站
2022-04-24 11:09:51
...
买的一个0.96存的显示屏吃灰了,最近翻出来以前做智能家居的好多东西。想着连接到树莓派上用,但是只能静态显示文字,查了好多资料都没有适用的解决方案,最后自己研究出来一个方案,因为是编程小白,有些没用的东西也写了,但是效果是可以的
接线部分:
屏幕 GND------GND
屏幕 VCC------ 3V3
屏幕 SDA ----- SDA1
屏幕 SCL------- SCL1
软件部分:
1 开启iic接口
sudo rasoi-config
2安装icctools
sudo apt-get install i2c-tools
3安装SSD1306库
sudo pip3 install Adafruit-SSD1306
4安装pip3
sudo apt-get install python3-pip
5.安装PIL库
sudo apt-get install python3-pil
安装好依赖以后在树莓派桌面创建test.py文件,代码如下
import Adafruit_SSD1306
import os
import time
import Adafruit_GPIO.SPI as SPI
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw
#根据具体接线订
DC = 23
RST = 24
SPI_PORT = 0
SPI_DEVICE = 0
disp = Adafruit_SSD1306.SSD1306_128_32(rst=RST)
#开始画图
disp.begin()
#清理画布
disp.clear()
#循环显示温度
while True:
#初始化
disp.display()
width = disp.width
height = disp.height
image = Image.new('1', (width, height))
draw = ImageDraw.Draw(image)
#字体
font = ImageFont.load_default()
#获取cpu温度
cpu_wendu = os.popen("vcgencmd measure_temp").readline()
#显示cpu温度
draw.text((2,12),cpu_wendu, font=font, fill=255)
#画出
disp.image(image)
disp.display()
#延迟一秒重新运行
time.sleep(1)
运行便能看到效果