WRTlcd - LCD am WRT54GL

FIXME Hier dokumentiere ich, wie man ein 20×4-LC-Display an den WRT54GL frickelt.

Hardware

Software

Übel zusammengehackt, aber funktioniert. ;)

#!/bin/sh
myinterface=ppp0
rx=1
tx=1
starttime=`date +%s`
actualip=`ifconfig ${myinterface} | grep inet | cut -d: -f2 | awk '{ print $1}'`

while true; do
        oldrx=$rx
        oldtx=$tx
        rx=`cat /proc/net/dev | grep br-lan | awk '{print $2}'`
        tx=`cat /proc/net/dev | grep br-lan | awk '{print $10}'`
        ip=`ifconfig ${myinterface} | grep inet | cut -d: -f2 | awk '{ print $1}'`

        if [ "${actualip}" != ${ip} ]; then
                starttime=`date +%s`
                actualip=$ip
        fi
 
        actualtime=`date +%s`
        myuptime=$((${actualtime}-${starttime}))
        mymods=$((${myuptime} % 60))            
        mymodm=$((((${myuptime}-${mymods}) % 3600)/60))
        mymodh=$((((${myuptime}-${mymodm}) % 86400)/3600))
        mydate=`date +%d.%m.%y`                           
        mytime=`date +%k:%M`   
        avrx=$(((${rx}-${oldrx})/1024/10))
        avtx=$(((${tx}-${oldtx})/1024/10))
        printf "%s       %sIP up: %02dh %02dm %02ds  IP: %s%$((16-${#ip}))sIN:%3dkbs OUT:%3dkbs" ${mydate} ${mytime} ${mymodh} ${mymodm} ${mymods} ${ip} " " ${avrx} ${avtx} > /dev/tts/1

        sleep 10
done
Anmelden