31 lines
1.0 KiB
Bash
31 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# UNO Monitor Sender
|
|
# kidacro@archamedis.net
|
|
#
|
|
|
|
# TTY Device to use
|
|
TTY="/dev/ttyACM0"
|
|
##########################################################
|
|
|
|
# Stats
|
|
# we are limited to 2 lines and 16 chars per line so, light stats & no labels
|
|
CLOAD=$(mpstat | awk '$3 ~ /CPU/ { for(i=1;i<=NF;i++) { if ($i ~ /%idle/) field=i } } $3 ~ /all/ { printf("%d%%",100 - $field) }')
|
|
CTEMP=$(sensors | grep TSI0_TEMP: | tr '°+' ' ' | awk '{print $2}' | paste -sd ', ')
|
|
MFREE=$(free -h | grep Mem | awk '{print $4}' | paste -sd ', ')
|
|
RFREE=$(df -h | grep /dev/nvme0n1p3 | awk '{print $4}' | paste -sd ', ')
|
|
LFREE=$(df -h | grep /dev/sda1 | awk '{print $4}' | paste -sd ', ')
|
|
SFREE=$(df -h | grep /dev/mapper/store0-lvol1 | awk '{print $4}' | paste -sd ', ')
|
|
|
|
# setup device
|
|
stty -F $TTY ispeed 9600 ospeed 9600 -ignpar cs8 -cstopb -echo -hupcl
|
|
|
|
# Line 1
|
|
LINE1="#1$CLOAD $CTEMP $MFREE@"
|
|
/usr/bin/echo "$LINE1" > $TTY # -ne
|
|
echo Sending to $TTY: $LINE1
|
|
|
|
# line 2
|
|
LINE2="#2$RFREE $LFREE $SFREE@"
|
|
/usr/bin/echo "$LINE2" > $TTY
|
|
echo Sending to $TTY: $LINE2
|