Is there an option to display Raspberry Pi's internal temperature value to be able to display it into Guizero UI?

I saw this source code on GitHub, but this only displays random float numbers in the GUI.

Actually, there is an option for Terminal to see current temperature of Raspberry Pi 3 as can be seen below:

/opt/vc/bin/vcgencmd measure_temp

Is there a way using measure_temp code to put into Guizero? Furthermore, Can we run Python terminal codes onto Guizero is also important question.


Add a function to read_cpu_temp then call that function to display instead of read_sensor:

from guizero import *
import random   

def read_sensor():
    return random.randrange(3200, 5310, 10) / 100

def read_cpu_temp():
    tFile = open('/sys/class/thermal/thermal_zone0/temp')
    temp = float(tFile.read())
    return temp/1000

def update_label():
    text.value = read_cpu_temp()
    # recursive call
    text.after(1000, update_label)

if __name__ == '__main__':
    app = App(title='Sensor Display!',

    title = Text(app, 'Sensor value:', grid=[0, 0])
    text = Text(app, "xx", grid=[1, 0])

    text.after(1000, update_label)
  • Thanks, also I found an alternative: def read_sensor(): temp=os.popen("vcgencmd measure_temp").readline() return(temp.replace("temp=","")) – Bay Oct 29 '18 at 12:18

This site is temporarily in read only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .