Tricks about Raspberry Pi


This article is a bit old and the content may be outdated, so please refer to it with caution and remember to check the latest official materials (such as documentation, etc.)

Handy tricks when playing with raspberry pi. You should know them.

Get the Temperature #

cat /sys/class/thermal/thermal_zone0/temp



And here is bash script to create temperature PS1

if [ -e /sys/class/thermal/thermal_zone0/temp ]; then
    temp=$(cat /sys/class/thermal/thermal_zone0/temp)
    if [ $temp -lt 30000 ]; then color=2
    elif [ $temp -lt 50000 ]; then color=3
    else color=1
    prompt_section $color "${temp::${#temp}-3}.${temp:${#temp}-3}"

Adding a dot is just mixing bash substrings (${string:offset[:length]}) with bash string lengths (${#string})



To get all commands, use:

vcgencmd commands

Voltage #

vcgencmd get_throttled

If voltage is okay, you will get 0x0

Else, say 0x50000, convert it to binary, and see each bit:

19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
 0  1  0  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0Under-voltage detected
1Arm frequency capped
2Currently throttled
3Soft temperature limit active
16Under-voltage has occurred
17Arm frequency capping has occurred
18Throttling has occurred
19Soft temperature limit has occurred

Generally, the 3 0s in the middle do not have specific meaning. Just need to care about the first 5 and the last 0.

Screen on / off #

When you start the Raspberry Pi with display / monitor / screen on, it will automatically turn on display power. If not, display power will never turn on even if you later connect it to a screen. So it is necessary to control the display power.

vcgencmd display_power 1

1 for on and 0 for off. bare vcgencmd display_power shows current state.

It is possible to specify a certain display ID. For more info, visit the doc above.

Leave your comments and reactions on GitHub