147 lines
3.5 KiB
Bash
Executable File

#!/bin/sh
#######################################################################################
##
## Raspberry Pi Agent script that allows to poll health data and model
## (temperature, voltage, frequency)
##
## Needed commands: vcgencmd
##
## Version 1.0 By:
## All In One - Dennis de Houx <info@all-in-one.be>
##
#######################################################################################
vcgencmd=`which vcgencmd`
if [ $? -eq 0 ]
then
CLOCK_ARM=`vcgencmd measure_clock arm | cut -d '=' -f 2`
CLOCK_CORE=`vcgencmd measure_clock core | cut -d '=' -f 2`
CLOCK_H264=`vcgencmd measure_clock h264 | cut -d '=' -f 2`
CLOCK_ISP=`vcgencmd measure_clock isp | cut -d '=' -f 2`
CLOCK_V3D=`vcgencmd measure_clock v3d | cut -d '=' -f 2`
CLOCK_UART=`vcgencmd measure_clock uart | cut -d '=' -f 2`
CLOCK_PWM=`vcgencmd measure_clock pwm | cut -d '=' -f 2`
CLOCK_EMMC=`vcgencmd measure_clock emmc | cut -d '=' -f 2`
CLOCK_PIXEL=`vcgencmd measure_clock pixel | cut -d '=' -f 2`
CLOCK_VEC=`vcgencmd measure_clock vec | cut -d '=' -f 2`
CLOCK_HDMI=`vcgencmd measure_clock hdmi | cut -d '=' -f 2`
CLOCK_DPI=`vcgencmd measure_clock dpi | cut -d '=' -f 2`
VOLTS_CORE=`vcgencmd measure_volts core | cut -d '=' -f 2 | sed 's/V/ /'`
VOLTS_SDRAMC=`vcgencmd measure_volts sdram_c | cut -d '=' -f 2 | sed 's/V//'`
VOLTS_SDRAMI=`vcgencmd measure_volts sdram_i | cut -d '=' -f 2 | sed 's/V//'`
VOLTS_SDRAMP=`vcgencmd measure_volts sdram_p | cut -d '=' -f 2 | sed 's/V//'`
TEMP=`vcgencmd measure_temp | cut -d '=' -f 2 | sed "s/'C//" | sed "s/'F//"`
MODEL=`tr -d '\0' < /sys/firmware/devicetree/base/model`
if [ -z "$CLOCK_ARM" ]; then
echo "<<<raspberrypi>>>"
echo "clock-arm: 0"
else
echo "<<<raspberrypi>>>"
echo "clock-arm: $CLOCK_ARM"
fi
if [ -z "$CLOCK_CORE" ]; then
echo "clock-core: 0"
else
echo "clock-core: $CLOCK_CORE"
fi
if [ -z "$CLOCK_H264" ]; then
echo "clock-h264: 0"
else
echo "clock-h264: $CLOCK_H264"
fi
if [ -z "$CLOCK_ISP" ]; then
echo "clock-isp: 0"
else
echo "clock-isp: $CLOCK_ISP"
fi
if [ -z "$CLOCK_V3D" ]; then
echo "clock-v3d: 0"
else
echo "clock-v3d: $CLOCK_V3D"
fi
if [ -z "$CLOCK_UART" ]; then
echo "clock-uart: 0"
else
echo "clock-uart: $CLOCK_UART"
fi
if [ -z "$CLOCK_PWM" ]; then
echo "clock-pwm: 0"
else
echo "clock-pwm: $CLOCK_PWM"
fi
if [ -z "$CLOCK_EMMC" ]; then
echo "clock-emmc: 0"
else
echo "clock-emmc: $CLOCK_EMMC"
fi
if [ -z "$CLOCK_PIXEL" ]; then
echo "clock-pixel: 0"
else
echo "clock-pixel: $CLOCK_PIXEL"
fi
if [ -z "$CLOCK_VEC" ]; then
echo "clock-vec: 0"
else
echo "clock-vec: $CLOCK_VEC"
fi
if [ -z "$CLOCK_HDMI" ]; then
echo "clock-hdmi: 0"
else
echo "clock-hdmi: $CLOCK_HDMI"
fi
if [ -z "$CLOCK_DPI" ]; then
echo "clock-dpi: 0"
else
echo "clock-dpi: $CLOCK_DPI"
fi
if [ -z "$VOLTS_CORE" ]; then
echo "volts-core: 0"
else
echo "volts-core: $VOLTS_CORE"
fi
if [ -z "$VOLTS_SDRAMC" ]; then
echo "volts-sdramc: 0"
else
echo "volts-sdramc: $VOLTS_SDRAMC"
fi
if [ -z "$VOLTS_SDRAMI" ]; then
echo "volts-sdrami: 0"
else
echo "volts-sdrami: $VOLTS_SDRAMI"
fi
if [ -z "$VOLTS_SDRAMP" ]; then
echo "volts-sdramp: 0"
else
echo "volts-sdramp: $VOLTS_SDRAMP"
fi
if [ -z "$TEMP" ]; then
echo "temp: 0"
else
echo "temp: $TEMP"
fi
if [ -z "$MODEL" ]; then
echo "model: 0"
else
echo "model: $MODEL"
fi
fi