#!/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