欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

树莓派获取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)

运行便能看到效果