Erhan Alankus
Published © MIT

Orange Pi One Temperature Monitor

A set of LEDs that light up according to the Orange Pi's SoC temperature. Controlled by a Bash script run by Cron.

IntermediateFull instructions provided1 hour1,810

Things used in this project

Hardware components

3 mm LED: Green
3 mm LED: Green
×1
3 mm LED: Red
3 mm LED: Red
×1
3 mm LED: Yellow
3 mm LED: Yellow
×1
3 mm LED: Orange
×1
Resistor 1k ohm
Resistor 1k ohm
×1

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)

Story

Read more

Schematics

Wiring Diagram

Code

Bash Script

SH
See the story section for how to use it.
#!/bin/bash

#green
gpio mode 0 out
#yellow
gpio mode 1 out
#red
gpio mode 15 out
#orange
gpio mode 16 out

#Flash each LED
gpio write 0 0
gpio write 1 0
gpio write 15 1
gpio write 16 0
sleep .25
gpio write 0 0
gpio write 1 0
gpio write 15 0
gpio write 16 1
sleep .25
gpio write 0 0
gpio write 1 1
gpio write 15 0
gpio write 16 0
sleep .25
gpio write 0 1
gpio write 1 0
gpio write 15 0
gpio write 16 0
sleep .25

#Make sure all the LEDs are turned off before checking the temperature
gpio write 0 0
gpio write 1 0
gpio write 15 0
gpio write 16 0

#Check the temperature. You may need to change the number next to "thermal_zone"
temperature=$(< /sys/devices/virtual/thermal/thermal_zone0/temp)
# echo $temperature
if [ $temperature -lt 40000 ]
then
        # echo "green"
        gpio write 0 1
        gpio write 1 0
        gpio write 15 0
        gpio write 16 0
elif [ $temperature -lt 50000 ]
then
        # echo "yellow"
        gpio write 0 0
        gpio write 1 1
        gpio write 15 0
        gpio write 16 0
elif [ $temperature -lt 60000 ]
then
        # echo "orange"
        gpio write 0 0
        gpio write 1 0
        gpio write 15 0
        gpio write 16 1
elif [ $temperature -lt 70000 ]
then
        # echo "red"
        gpio write 0 0
        gpio write 1 0
        gpio write 15 1
        gpio write 16 0
elif [ $temperature -lt 80000 ]
then
        # echo "orange red"
        gpio write 0 0
        gpio write 1 0
        gpio write 15 1
        gpio write 16 1
else
        # echo "yellow orange red"
        gpio write 0 0
        gpio write 1 1
        gpio write 15 1
        gpio write 16 1
fi

Credits

Erhan Alankus

Erhan Alankus

2 projects • 4 followers

Comments