Postem aqui seu Script modificado para o lcdstats. [INACTIVE]

Discussão sobre assuntos variados, não relacionados com o BrazilFW

Postem aqui seu Script modificado para o lcdstats.

Mensagempor IceMan - Brazil » Ter Jul 18, 2006 12:38 am

Para todos que tem um LCD em seu BFW. Usem este tópico para postar scripts modificados.



Para editar o script do lcdstats:

Pelo terminal de o comando:
Código: Selecionar todos
edit /usr/bin/lcdstats


Pelo webadministrador:
Arquivos de configurações/Editar Qualquer Arquivo
coloque:
/usr/bin/lcdstats


Comandos úteis:
\033 = envia o ESC, (Todo comando especial começa com um ESC).
[A = Move o cursor up one row.
[B = Move the cursor down one row.
[C = Move the cursor right one position.
[D = Move the cursor left one position.
[H = Move the cursor home, to the upper left corner (position 0,0)
[J = Erase everything, does NOT move the cursor home!
[K = Erase to end of line, does NOT move the cursor home!
[M = Map character (haven't tried this one)
[Y = Direct access to position
[R = CGRAM Select (haven't tried this one)
[V = Linewrap ON
[W = Linewrap OFF
[b = Toggle backlight ON/OFF <Veja>echo -ne "\033[H\033[J" > /dev/lcd



Por favor, não postem duvidas aqui.
Abra um tópico novo em Off-Topics, que tentaremos ajuda-lo...:)
Não dou suporte via MP ou MSN.Favor usar o fórum.

"Estreita é a porta da salvação e larga a da tentação"
"A calcinha não é a melhor coisa do mundo. Mas esta bem perto..."
Avatar do usuário
IceMan - Brazil
BFW Senior
 
Mensagens: 3211
Registrado em: Qui Ago 25, 2005 7:10 pm
Localização: São Paulo
BrazilFW Box: BFW 3.x
DELL Latitude 110 - LAN USB + on-board
ADDON: Tcptrack
Conexão: NET Virtua 10mb

Mensagempor IceMan - Brazil » Ter Jul 18, 2006 12:44 am

Script criado por André R.V. (Valeu André):

Código: Selecionar todos
#!/bin/sh
#tela de apresentação
h=`date +%H`
dia=`date +%d/%m/%Y`
hms=`date +%H:%M:%S`
echo -ne "\033[H\033[J" > /dev/lcd
h=`date +%H`
if [ $h -lt "12" ] ; then
memo=" Bom dia!"
elif [ $h -lt "20" ] ; then
memo="Boa tarde!"
else
memo="Boa noite!"
fi

echo -ne " ${memo}\r\n" > /dev/lcd
echo -ne "-=Coyote Linux=-" > /dev/lcd
sleep 8
#mostrar IP's
. /etc/coyote/coyote.conf
interno=$LOCAL_IPADDR
externo=$IPADDR
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "I:${interno}\r\n" > /dev/lcd
echo -ne "E:${externo}" > /dev/lcd
sleep 3
#dia
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "Data:${dia}\r\n" > /dev/lcd
echo -ne "Hora:${hms}" > /dev/lcd
sleep 3

while [ 1 ] ; do
BW_IN=DOWN
BW_OUT=DOWN

LOADAVG_1MIN=`cat /proc/loadavg | cut -f 1 -d ' '`
MEMTOTAL=`free | grep Mem | sed s/\ */#/g | cut -f 3 -d '#'`
MEMUSED=`free | grep Mem | sed s/\ */#/g | cut -f 4 -d '#'`
PERCUSED=$((MEMUSED*100/MEMTOTAL))

. /tmp/netsubsys.state
if [ "$INET_UP" = "UP" ] ; then
if [ -e /tmp/bwmon.log ] ; then
bwstats > /tmp/bwstats.log
if [ $? = 0 ] ; then
if [ -e /tmp/bwstats.log ] ; then
. /tmp/bwstats.log
BW_IN=$BW_CUR_DOWN_K
BW_OUT=$BW_CUR_UP_K
fi
fi
fi
fi
hm=`date +%H:%M` #hora e minutos
# And send it to the LCD

h=`date +%H%M`
if [ $h = "0000" ] ; then
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "Iniciando Backup\r\n" > /dev/lcd
echo -ne "Automatico..." > /dev/lcd
. /usr/sbin/lrcfg.back
sleep 2
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "Desligando o HD!\r\n" > /dev/lcd
echo -ne "Aguarde..." > /dev/lcd
hdparm -y /dev/hda
sleep 3
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne " Backup\r\n" > /dev/lcd
echo -ne "Bem Sucedido..." > /dev/lcd
sleep 10
fi

#mostra a taxa de download e upload na primeira linha
#na segunda linha mostra o consumo de memória, load processor, e a hora
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "DL:${BW_IN} UL:${BW_OUT} ${x}\r\n" > /dev/lcd
echo -ne "M:$PERCUSED% $LOADAVG_1MIN ${hm}" > /dev/lcd
# Wait a bit
sleep 1
done


Comentários:

echo -ne "\033[H\033[J" > /dev/lcd -> Limpa toda a tela do LCD.
echo -ne "DL:${BW_IN} UL:${BW_OUT}\r\n" > /dev/lcd -> Mostra DL and UL ,retorna o cursor (r)
e pula para a segunda linha(n)
Sleep 3 -> para computadores mais lentos, você pode aumentar ou diminuir este tempo.
Editado pela última vez por IceMan - Brazil em Ter Jul 18, 2006 6:53 pm, em um total de 1 vez.
Não dou suporte via MP ou MSN.Favor usar o fórum.

"Estreita é a porta da salvação e larga a da tentação"
"A calcinha não é a melhor coisa do mundo. Mas esta bem perto..."
Avatar do usuário
IceMan - Brazil
BFW Senior
 
Mensagens: 3211
Registrado em: Qui Ago 25, 2005 7:10 pm
Localização: São Paulo
BrazilFW Box: BFW 3.x
DELL Latitude 110 - LAN USB + on-board
ADDON: Tcptrack
Conexão: NET Virtua 10mb

Mensagempor Marcelo - Brazil » Ter Jul 18, 2006 1:26 pm

O meu é uma variação do André.

Código: Selecionar todos
#!/bin/sh
#configuracao
config() {
##########configuracao para saudacao##########
h=`date +%H`
dia=`date +%d/%m/%Y`
hms=`date +%H:%M:%S`
h=`date +%H`
if [ $h -lt "12" ] ; then
memo=" Bom dia!"
elif [ $h -lt "18" ] ; then
memo="Boa tarde!"
else
memo="Boa noite!"
fi
##########configuracao para mostrar IP's##########
. /etc/coyote/coyote.conf
interno=$LOCAL_IPADDR
externo=$IPADDR
##########configuracao taxa de download e upload, consumo de memória, load processor##########
BW_IN=DOWN
BW_OUT=DOWN
LOADAVG_1MIN=`cat /proc/loadavg | cut -f 1 -d ' '`
MEMTOTAL=`free | grep Mem | sed s/\ */#/g | cut -f 3 -d '#'`
MEMUSED=`free | grep Mem | sed s/\ */#/g | cut -f 4 -d '#'`
PERCUSED=$((MEMUSED*100/MEMTOTAL))
##########configuracao placa de rede up down##########
. /tmp/netsubsys.state
if [ "$INET_UP" = "UP" ] ; then
if [ -e /tmp/bwmon.log ] ; then
bwstats > /tmp/bwstats.log
if [ $? = 0 ] ; then
if [ -e /tmp/bwstats.log ] ; then
. /tmp/bwstats.log
BW_IN=$BW_CUR_DOWN_K
BW_OUT=$BW_CUR_UP_K
fi
fi
fi
fi
}

########## lcd menu 1 ##########
menu1() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne " Carregando... \r\n" > /dev/lcd
echo -ne " \n" > /dev/lcd
echo -ne "    BrazilFW    \n" > /dev/lcd
echo -ne "Firewall  Router" > /dev/lcd
sleep 2
}

######### lcd menu 2 ###########
menu2() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "Brecho Informat.\n" > /dev/lcd
echo -ne "Seja Bem Vindo !" > /dev/lcd
sleep 2
}

########## lcd menu 3 ##########
menu3() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne " ${memo}\r\n" > /dev/lcd
echo -ne "\n" > /dev/lcd
echo -ne "Hora:  ${hms}\n" > /dev/lcd
echo -ne "Data: ${dia}" > /dev/lcd
sleep 2
}

########## lcd menu 4 ##########
menu4() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "LAN: ${interno}\r\n" > /dev/lcd
echo -ne "WAN: ${externo}\n" > /dev/lcd
echo -ne "Dw:${BW_IN} Mem:$PERCUSED%\n" > /dev/lcd
echo -ne "Up:${BW_OUT} CPU:$LOADAVG_1MIN%" > /dev/lcd
sleep 1
}

# Aqui e so colocar na ordem  q quiser q aparecera no lcd, no meu caso o menu1 so aparece na hr q a maquina e ligada
#o menu2 e menu3 fica em lup cada linha equivale um segundo com refresh das informacoes por isso q tem 4 menu2 e 5 menu3
# nao apague a linha "while [ 1 ]; do" e a "done" tudo q ficar entre estas 2 linhas fica em lup definitivo e nao usa precesame
menu1
while [ 1 ]; do
menu1
menu2
menu3
menu4
menu4
menu4
menu4
menu4
menu4

done
exit
BFW não é meu hobby, é meu router !
Não dou suporte.

"Nem sim, nem não, mas muito pelo contrário, não sou contra nem à favor,
porque em matéria de certas coisas o mais importante é o principalmente,
aliás inclusive, não resta a menor dúvida".
De algum politico brasileiro...
Avatar do usuário
Marcelo - Brazil
BFW Founder
BFW Manager
BFW Beneméritos
 
Mensagens: 3187
Registrado em: Qua Ago 24, 2005 10:40 pm
Localização: Campinas - São Paulo
BrazilFW Box: Hp Proliant ML30 Gen 9, Intel® Xeon® E3-1200 v5 3,0 Ghz, 8 Gb ram DDR4, 1 Tb HD, Links 120x12 mb/s cabo + 100x100 mb/s fibra. Addon: Unifi, 50 clientes lan + 50 cliente wireless.

Mensagempor m4d3 » Sex Nov 03, 2006 8:12 am


Autor: m4d3




então tae, só não vale falar que copiei, hehe, pq copiei mesmo, adicionei o que eu necessito, ainda precisa de muitas melhorias, isso é evidente pelo código sujo que fiz, to postando como está rodando.

Ainda tem BUG? tem sim, mas é bem interessante você acompanhar pelo LCD a 'econômia' que o proxy cache do squid proporciona.
Pessoal que é fera no assunto, se puderem corrigir os erros, melhorar a performance do script e limpar a confusão que fiz, sintam-se a vontade para postar os resultados aqui mesmo.
Nota: o squid cache esta em /dev/hda2 e você deve adaptar para o seu caso se isso se fizer necessário.


Meu LCD é 16x2
16 caracteres
2 linhas, e fiz seguindo o tutorial encontrado aqui no site mesmo.

Se postei no lugar errado, e acho que estou, me desculpe.

Nesta imagem o lcdstas é o original baixado do site só pra terem uma idéia de como ficou o trabalho na cpu, ao lado esquerdo do LCD (dificil de enxergar nessa foto), tem 2 leds, que estão conectado a eth1(LAN), estou esperando um mini-gabinete para finalizar o trabalho. Logo postarei outras imagens, fiz um Display LCD de 20x4, utilizando o gabinete de um HUB encore, ficou interessante.
Imagem

Segue o lcdstats modificado para mostrar mais informações.
###############INICIO DO lcdstats##############
#!/bin/sh
#configuration
config() {
########## welcome configuration ##########
h=`date +%H`
dia=`date +%d/%m/%Y`
hms=`date +%H:%M:%S`
h=`date +%H`
if [ $h -lt "12" ] ; then
memo="Bom dia!"
elif [ $h -lt "18" ] ; then
memo="Boa tarde!"
else
memo="Boa noite!"
fi
#### showing I.P. configuration##########
. /etc/coyote/coyote.conf
interno=$LOCAL_IPADDR
externo=$IPADDR
####download, upload, memory usage and load processor######
BW_IN=DOWN
BW_OUT=DOWN

#LOADAVG_1MIN=`cat /proc/loadavg | cut -f 1 -d ' '`
#rcli-eint
ECLI=`ifconfig eth0 |grep "RX b"|cut -f 2 -d '('|cut -f 1 -d'i'`
RCLI=`ifconfig eth0 |grep "RX b"|cut -f 3 -d '('|cut -f 1 -d'i'`
EINT=`ifconfig eth1 |grep "RX b"|cut -f 2 -d '('|cut -f 1 -d'i'`
RINT=`ifconfig eth1 |grep "RX b"|cut -f 3 -d '('|cut -f 1 -d'i'`
VRL=`ifconfig eth0 |grep "RX b"|cut -f 3 -d '('|cut -f 1 -d'.'`
VRW=`ifconfig eth1 |grep "RX b"|cut -f 2 -d '('|cut -f 1 -d'.'`
VRE=$((VRL-VRW))
SQP=`df -m|grep /dev/hda2|cut -c53-55`
SQP1=`df -m|grep /dev/hda2|cut -c53-54`
SQF=$((100-SQP1))
SQO=`df -m|grep /dev/hda2|cut -c37-40`
SQL=`df -m|grep /dev/hda2|cut -c47-50`
ECOE=`($((VEL))-$((VEW)))`
HORA=`date +"%H:%M"`
DATAT=`date +"%d/%m/%Y"`

TIMEUP=`uptime |cut -f 1 -d ',' |cut -c14-30`
LOADAVG_1MIN=`cat /proc/loadavg | cut -c3-4`
MEMTOTAL=`free | grep Mem | sed s/\ */#/g | cut -f 3 -d '#'`
MEMUSED=`free | grep Mem | sed s/\ */#/g | cut -f 4 -d '#'`
PERCUSED=$((MEMUSED*100/MEMTOTAL))

########## network adapter up down##########
. /tmp/netsubsys.state
if [ "$INET_UP" = "UP" ] ; then
if [ -e /tmp/bwmon.log ] ; then
bwstats > /tmp/bwstats.log
if [ $? = 0 ] ; then
if [ -e /tmp/bwstats.log ] ; then
. /tmp/bwstats.log
BW_IN=$BW_CUR_DOWN_K
BW_OUT=$BW_CUR_UP_K
fi
fi
fi
fi
}

########## lcd menu SAU ##########
#echo -ne "\033[H\033[J" > /dev/lcd
#echo -ne " ${memo}\r\n" > /dev/lcd
#echo -ne "RXT:${TOTRXKB}MB\n" > /dev/lcd
#echo -ne "TXT:EM DES."> /dev/lcd

menuSAU() {
config
echo -ne "\n" > /dev/lcd
echo -ne " PCRAM FiRo 0.1 \n" > /dev/lcd
echo -ne " $memo " > /dev/lcd
sleep 3
}

######### lcd menu VER ###########
menuVER() {
config
echo -ne "\n" > /dev/lcd
echo -ne " PCRAM FiRo 0.1 \n" > /dev/lcd
echo -ne " Ver. 271006.1A " > /dev/lcd
sleep 3
}

########## lcd menu DHORA ##########
menuDHORA() {
config
echo -ne "\n" > /dev/lcd
#echo -ne "Hora: ${hms}\n" > /dev/lcd
#echo -ne "Data: ${dia}" > /dev/lcd
echo -ne "Hora: $HORA\n" > /dev/lcd
echo -ne "Data: $DATAT" > /dev/lcd
sleep 2
}

########## lcd menu CPUMEM##########
menuCPUMEM() {
config
echo -ne "\n" > /dev/lcd
echo -ne "RC:${BW_IN}Kb MEM:$PERCUSED%\n" > /dev/lcd
echo -ne "EN:${BW_OUT}Kb CPU:$LOADAVG_1MIN%" > /dev/lcd
sleep 3
}

########## lcd menu TLIGA ##########
menuTLIGA() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "-=TEMPO LIGADO=-\n" > /dev/lcd
echo -ne "${TIMEUP}"> /dev/lcd
sleep 2
}

########## lcd menu VLAN ##########
menuVLAN() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "RXL: ${RCLI}b\n" > /dev/lcd
echo -ne "EXL: ${ECLI}b" > /dev/lcd
sleep 3
}

########## lcd menu IP ##########
menuIP() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "\n" > /dev/lcd
echo -ne "L:${interno}\n"> /dev/lcd
echo -ne "W:${externo}" > /dev/lcd
sleep 6
}

########## lcd menu VWAN ##########
menuVWAN() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "RXW: ${EINT}b\n" > /dev/lcd
echo -ne "EXW: ${RINT}b" > /dev/lcd
sleep 3
}

########## lcd menu ECO ##########
menuECO() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne " ECOLINK ATIVO! \n" > /dev/lcd
echo -ne " ATUAL: ${VRE} Mb" > /dev/lcd
sleep 4
}

########## lcd menu CACHE ##########
menuCACHE() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "SQUID:${SQO}Mb $SQP\n" > /dev/lcd
echo -ne "LIVRE:${SQL}Mb $SQF%" > /dev/lcd
sleep 4
}

menuSAU
menuVER
menuIP
while [ 1 ]; do
menuDHORA
menuCPUMEM
menuVLAN
menuVWAN
menuECO
menuCACHE
menuTLIGA
done
exit

###############FIM DO lcdstats##############

Espero estar contribuindo










Novas fotos do LCD

Uso do Squid:
Imagem

Velocidade atual de Recebimento/Envio, uso da Memória e CPU:
Imagem

Bytes transferidos pela interface LAN:
Imagem

Bytes transferidos pela interface WAN:
Imagem

Economia de download proporcionada pelo cache do Squid ECOLINK:
Imagem

E viva a FUJI, kkk
m4d3
 

Mensagempor Claudio » Sex Nov 03, 2006 8:20 am

:aplause: :aplause: :aplause: :aplause:

Você é muito bom de script!!!!
Não dou suporte via mensagem privada e e-mail.
Por favor, não insista.
Avatar do usuário
Claudio
BFW Founder
BFW Beneméritos
 
Mensagens: 7553
Registrado em: Qui Ago 25, 2005 9:10 am
Localização: Vitória - ES - Brasil
BrazilFW Box:

Mensagempor mcsj » Sex Nov 03, 2006 8:44 am

m4d3, muito bom o seu trabalho! Antigamente tinha um tópico exclusivo para LCDs, só não sei aonde que foi parar. :P

De qualquer jeito, ainda tem esse tópico com alguns scripts.

OFF.: Pq o http://www.brazilfw.com.br/lcd está fora do ar?
mcsj
 

Mensagempor CoyoteX » Sex Nov 03, 2006 11:35 am

Gracias andrefellows :D como seria en portuguez? muito brigado? jeje

SaludeteX
CoyoteX
 

Mensagempor Marcelo - Brazil » Ter Nov 07, 2006 9:47 am

Putz !!!
Parabéns !!! :D :aplause:
Muito, mas muito bom mesmo !!!


mcsj escreveu:m4d3OFF.: Pq o http://www.brazilfw.com.br/lcd está fora do ar?

PQ foi pro knowledg base.
Dentro do que desejamos de organização, pretendemos "conter" tudo e o máximo possivel DENTRO de PHP, e salvo excessões (integradores e altivore) em html.
BFW não é meu hobby, é meu router !
Não dou suporte.

"Nem sim, nem não, mas muito pelo contrário, não sou contra nem à favor,
porque em matéria de certas coisas o mais importante é o principalmente,
aliás inclusive, não resta a menor dúvida".
De algum politico brasileiro...
Avatar do usuário
Marcelo - Brazil
BFW Founder
BFW Manager
BFW Beneméritos
 
Mensagens: 3187
Registrado em: Qua Ago 24, 2005 10:40 pm
Localização: Campinas - São Paulo
BrazilFW Box: Hp Proliant ML30 Gen 9, Intel® Xeon® E3-1200 v5 3,0 Ghz, 8 Gb ram DDR4, 1 Tb HD, Links 120x12 mb/s cabo + 100x100 mb/s fibra. Addon: Unifi, 50 clientes lan + 50 cliente wireless.

Mensagempor m4d3 » Qua Nov 08, 2006 2:11 am

E usando o LCD4Linux eu consegui desenhar o TuX no LCD. Não é um picasso, mas é o que dá pra fazer com LCD de 2x16.


Ainda em construção, encontrei bug's no LCD4Linux que não deixavam mostrar toda a imagem do TuX:
Imagem

Meu TuX no L.C.D:
Imagem

Imagem

Imagem

Imagem

Nem queiram saber o trabalhão que deu... kkkkk

Segue o código pra quem quiser aproveitar então lá vai:
edit /etc/lcd4linux.conf
Código: Selecionar todos
Display HD44780 {
    Driver 'HD44780'
    Model 'generic'
    Port '/dev/parport0'
    Icons 6
    Size '16x2'
    Wire {
        RW      'AUTOFD'
        RS      'INIT'
        ENABLE  'STROBE'
        ENABLE2 'GND'
        GPO     'GND'
    }
}

Widget OS {
    class 'Text'
    expression '*** '.uname('sysname').' '.uname('release').' ***'
    width 20
    align 'M'
    speed 100
    update tick
}

Widget CPU {
    class  'Text'
    expression  uname('machine')
    prefix 'CPU '
    width  9
    align  'L'
    update tick
}


Widget RAM {
    class  'Text'
    expression meminfo('MemTotal')/1024
    postfix ' MB RAM'
    width  11
    precision 0
    align  'R'
    update tick
}

Widget Busy {
    class 'Text'
    expression proc_stat::cpu('busy', 500)
    prefix 'Busy'
    postfix '%'
    width 10
    precision 1
    align 'R'
    update tick
}

Widget BusyBar {
    class 'Bar'
    expression  proc_stat::cpu('busy',   500)
    expression2 proc_stat::cpu('system', 500)
    length 10
    direction 'E'
    update tack
}

Widget CPUBar {
    class 'Bar'
#    expression  proc_stat::cpu('busy',   500)
    expression  proc_stat::cpu('busy', 100)
    expression2  proc_stat::cpu('system', 100)
    length 10
    direction 'E'
    update tack
}
                     
Widget SYSBar {
     class 'Bar'
     expression  proc_stat::cpu('system', 500)
     length 10
     direction 'E'
     update tack
}     
                                               
Widget Load {
    class 'Text'
    expression loadavg(1)
    prefix ''
    postfix loadavg(1)>1.0?'!':' '
    width 10
    precision 1
    align 'R'
    update tick
}

Widget LoadBar {
    class 'Bar'
    expression  loadavg(1)
    max 2.0
    length 10
    direction 'E'
    update tack
}


Widget Disk {
    class 'Text'
    # disk.[rw]blk return blocks, we assume a blocksize of 512
    # to get the number in kB/s we would do blk*512/1024, which is blk/2
    # expression (proc_stat::disk('.*', 'rblk', 500)+proc_stat::disk('.*', 'wblk', 500))/2
    # with kernel 2.6, disk_io disappeared from /proc/stat but moved to /proc/diskstat
    # therefore you have to use another function called 'diskstats':
    expression diskstats('hd.', 'read_sectors', 500) + diskstats('hd.', 'write_sectors', 500)
    prefix 'disk'
    postfix ' '
    width 10
    precision 0
    align 'R'
    update tick
}

Widget DiskBar {
    class 'Bar'
    #expression  proc_stat::disk('.*', 'rblk', 500)
    #expression2 proc_stat::disk('.*', 'wblk', 500)
    # for kernel 2.6:
    expression  diskstats('hd.', 'read_sectors',  500)
    expression2 diskstats('hd.', 'write_sectors', 500)
    length 14
    direction 'E'
    update tack
}

#Widget Eth0 {
#    class 'Text'
#    expression (netdev('eth0', 'Rx_bytes', 500)+netdev('eth0', 'Tx_bytes', 500))/1024
#    prefix 'e'
#    postfix ' '
#    width 10
#    precision 0
#    align 'R'
#    update tick
#}

Widget Eth0Up {
    class 'Text'
    expression (netdev('eth0', 'Tx_bytes', 500))/1024
    prefix ''
    postfix ' '
    width 4
    precision 0,0
    align 'R'
    update tick
}
                               
Widget Eth0Dw {
    class 'Text'
    expression (netdev('eth0', 'Rx_bytes', 500))/1024
    prefix ''
    postfix ' '
    width 4
    precision 0,0
    align 'R'
    update tick
}

#Widget Eth0Bar {
#    class 'Bar'
#    expression  netdev('eth0', 'Rx_bytes', 500)
#    expression2 netdev('eth0', 'Tx_bytes', 500)
#    length 14
#    direction 'E'
#    update tack
#}

Widget UpBar {
    class 'Bar'
    expression  netdev('eth0', 'Tx_bytes', 500)
    length 11
    direction 'E'
    update tick
}

Widget DwBar {
    class 'Bar'
    expression  netdev('eth0', 'Rx_bytes', 500)
    length 11
    direction 'E'
    update tick
}

Widget PPP {
    class 'Text'
    expression (ppp('Rx:0', 500)+ppp('Tx:0', 500))
    prefix 'PPP'
    width 9
    precision 0
    align 'R'
    update tick
}

Widget Temp {
    class 'Text'
    expression i2c_sensors('temp_input3')*1.0324-67
    prefix 'Temp'
    width 9
    precision 1
    align 'R'
    update tick
}

Widget TempBar {
    class 'Bar'
    expression  i2c_sensors('temp_input3')*1.0324-67
    min 40
    max 80
    length 10
    direction 'E'
    update tack
}


Widget Uptime {
    class 'Text'
    expression uptime('%d days %H:%M:%S')
    width 20
    align 'R'
    prefix 'Up '
    update 1000
}


Widget BarTest {
    class 'Bar'
    # test::bar(barno,maxval,startval,delta) - move a test value between 0 and max.
    # delta= step to change value by each time it's read.
    # barno - ten different test bar values can be set up, with barno=0..9
    # if delta=0, just returns the value of bar n instead of changing it.
    expression test::bar(0,30,25,1)
    expression2 test::bar(1,30,0,1)
    length 6
    max 50
    direction 'E'
    update 10
}

Widget BarTestVal {
    class 'Text'
    expression test::bar(0,100,50,0)
    prefix 'Test '
    width 9
    update 200
}

Widget LightningTest {
    class 'icon'
    speed 500
    visible test::onoff(0)
    bitmap {
        row1 '...***'
        row2 '..***.'
        row3 '.***..'
        row4 '.****.'
        row5 '..**..'
        row6 '.**...'
        row7 '**....'
        row8 '*.....'
    }
}


# Icons

Widget Heartbeat {
    class 'Icon'
    speed 800
    Bitmap {
        Row1 '.....|.....'
        Row2 '.*.*.|.*.*.'
        Row3 '*****|*.*.*'
        Row4 '*****|*...*'
        Row5 '.***.|.*.*.'
        Row6 '.***.|.*.*.'
        Row7 '..*..|..*..'
        Row8 '.....|.....'
    }
}

Widget EKG {
    class 'Icon'
    speed 800
    Bitmap {
        Row1 '.....|.....|.....|.....|*****|.....|.....|.....|.....'
        Row2 '.....|.....|.....|*****|*****|*****|.....|.....|.....'
        Row3 '.....|.....|*****|*****|*****|*****|*****|.....|.....'
        Row4 '.....|*****|*****|*****|*****|*****|*****|*****|.....'
        Row5 '.....|*****|*****|*****|*****|*****|*****|*****|.....'
        Row6 '.....|.....|*****|*****|*****|*****|*****|.....|.....'
        Row7 '.....|.....|.....|*****|*****|*****|.....|.....|.....'
        Row8 '.....|.....|.....|.....|*****|.....|.....|.....|.....'
    }
}
Widget Karo {
    class 'Icon'
    speed 200
    Bitmap {
        Row1 '.....|.....|.....|.....|..*..|.....|.....|.....'
        Row2 '.....|.....|.....|..*..|.***.|..*..|.....|.....'
        Row3 '.....|.....|..*..|.***.|*****|.***.|..*..|.....'
        Row4 '.....|..*..|.***.|*****|*****|*****|.***.|..*..'
        Row5 '.....|.....|..*..|.***.|*****|.***.|..*..|.....'
        Row6 '.....|.....|.....|..*..|.***.|..*..|.....|.....'
        Row7 '.....|.....|.....|.....|..*..|.....|.....|.....'
        Row8 '.....|.....|.....|.....|.....|.....|.....|.....'
    }
}
Widget Heart {
    class 'Icon'
    speed 250
    Bitmap {
        Row1 '.....|.....|.....|.....|.....|.....'
        Row2 '.*.*.|.....|.*.*.|.....|.....|.....'
        Row3 '*****|.*.*.|*****|.*.*.|.*.*.|.*.*.'
        Row4 '*****|.***.|*****|.***.|.***.|.***.'
        Row5 '.***.|.***.|.***.|.***.|.***.|.***.'
        Row6 '.***.|..*..|.***.|..*..|..*..|..*..'
        Row7 '..*..|.....|..*..|.....|.....|.....'
        Row8 '.....|.....|.....|.....|.....|.....'
    }
}
Widget Blob {
    class 'Icon'
    speed 250
    Bitmap {
        Row1 '.....|.....|.....'
        Row2 '.....|.....|.***.'
        Row3 '.....|.***.|*...*'
        Row4 '..*..|.*.*.|*...*'
        Row5 '.....|.***.|*...*'
        Row6 '.....|.....|.***.'
        Row7 '.....|.....|.....'
        Row8 '.....|.....|.....'
    }
}
#Widget Wave {
#    class 'Icon'
#    speed 800
#    Bitmap {
#        Row1 '..**.|.**..|**...|*....|.....|.....|.....|.....|....*|...**'
#        Row2 '.*..*|*..*.|..*..|.*...|*....|.....|.....|....*|...*.|..*..'
#        Row3 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
#        Row4 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
#        Row5 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
#        Row6 '.....|.....|....*|...*.|..*..|.*..*|*..*.|..*..|.*...|*....'
#        Row7 '.....|.....|.....|....*|...**|..**.|.**..|**...|*....|.....'
#        Row8 '.....|.....|.....|.....|.....|.....|.....|.....|.....|.....'


Widget Up {
    class 'Icon'
    speed 600
    Bitmap {
        Row1 '.....|.....|.....|.....|.....|.....|.....|..*..'
        Row2 '.....|.....|.....|.....|.....|.....|..*..|.***.'
        Row3 '.....|.....|.....|.....|.....|..*..|.***.|*****'
        Row4 '.....|.....|.....|.... |..*..|.***.|*****|.***.'
        Row5 '.....|.....|.....|..*..|.***.|*****|.***.|.***.'
        Row6 '.....|.....|..*..|.***.|*****|.***.|.***.|.***.'
        Row7 '.....|..*..|.***.|*****|.***.|.***.|.***.|.***.'
        Row8 '..*..|.***.|*****|.***.|.***.|.***.|.***.|.***.'                                                                         
    }
}

Widget Up1 {
    class 'Icon'
    speed 1000
    Bitmap {
        Row1 '..*..'
        Row2 '.***.'
        Row3 '*****'
        Row4 '.***.'
        Row5 '.***.'
        Row6 '.***.'
        Row7 '.***.'
        Row8 '.....'
        }
}

Widget Dw {
    class 'Icon'
    speed 600
    Bitmap {
    Row1 '..*..|.***.|*****|.***.|.***.|.***.|.***.|.***.'
    Row2 '.....|..*..|.***.|*****|.***.|.***.|.***.|.***.'
    Row3 '.....|.....|..*..|.***.|*****|.***.|.***.|.***.'
    Row4 '.....|.....|.....|..*..|.***.|*****|.***.|.***.'
    Row5 '.....|.....|.....|.....|..*..|.***.|*****|.***.'
    Row6 '.....|.....|.....|.....|.....|..*..|.***.|*****'
    Row7 '.....|.....|.....|.....|.....|.....|..*..|.***.'
    Row8 '.....|.....|.....|.....|.....|.....|.....|..*..'
  }
  }
                                                                               
Widget Dw1 {
    class 'Icon'
    speed 1000
    Bitmap {
    Row1 '.....'
    Row2 '.***.'
    Row3 '.***.'
    Row4 '.***.'
    Row5 '.***.'
    Row6 '*****'
    Row7 '.***.'
    Row8 '..*..'
    }
}


Widget Squirrel {
    class 'Icon'
    speed 100
    Bitmap {
        Row1 '.....|.....|.....|.....|.....|.....'
        Row2 '.....|.....|.....|.....|.....|.....'
        Row3 '.....|.....|.....|.....|.....|.....'
        Row4 '**...|.**..|..**.|...**|....*|.....'
        Row5 '*****|*****|*****|*****|*****|*****'
        Row6 '...**|..**.|.**..|**...|*....|.....'
        Row7 '.....|.....|.....|.....|.....|.....'
        Row8 '.....|.....|.....|.....|.....|.....'
    }
}

Widget Lightning {
    class 'icon'
    speed 100
    visible cpu('busy', 500)-50
    bitmap {
        row1 '...***'
        row2 '..***.'
        row3 '.***..'
        row4 '.****.'
        row5 '..**..'
        row6 '.**...'
        row7 '**....'
        row8 '*.....'
    }
}

Widget Rain {
    class 'icon'
    speed 200
    bitmap {
        row1 '...*.|.....|.....|.*...|....*|..*..|.....|*....'
        row2 '*....|...*.|.....|.....|.*...|....*|..*..|.....'
        row3 '.....|*....|...*.|.....|.....|.*...|....*|..*..'
        row4 '..*..|.....|*....|...*.|.....|.....|.*...|....*'
        row5 '....*|..*..|.....|*....|...*.|.....|.....|.*...'
        row6 '.*...|....*|..*..|.....|*....|...*.|.....|.....'
        row7 '.....|.*...|....*|..*..|.....|*....|...*.|.....'
        row8 '.....|.....|.*...|....*|..*..|.....|*....|...*.'
    }
}

Widget Test {
    class 'Text'
    expression '1234567890123456789012345678901234567890'
    #expression '|'
    width 40
}

Widget LR1 {                                                                                     
    class 'icon'
    speed 1000
    bitmap {
    row1 '*....'
    row2 '*....'
    row3 '*....'
    row4 '***..'
    row5 '..**.'
    row6 '..*.*'
    row7 '..**.'
    row8 '..*.*'
    }
}

Widget Tux11 {
    class 'icon'
    speed 1000
    bitmap {
    row1 '.....'
    row2 '.....'
    row3 '.....'
    row4 '.....'
    row5 '.....'
    row6 '.....'
    row7 '....*'
    row8 '....*'
    }
}

Widget Tux12 {
    class 'icon'
    speed 1000
    bitmap {
    row1 '.***.'
    row2 '*****'
    row3 '*.*.*'
    row4 '*****'
    row5 '*..**'
    row6 '*.*.*'
    row7 '**...'
    row8 '.....'
    }
}

Widget Tux13 {
    class 'icon'
    speed 1000
    bitmap {
    row1 '.....'
    row2 '.....'
    row3 '.....'
    row4 '.....'
    row5 '.....'
    row6 '*....'
    row7 '**...'
    row8 '.**..'
    }
}

Widget Tux21 {
    class 'icon'
    speed 1000
    bitmap {
    row1 '...**'
    row2 '..**.'
    row3 '..**.'
    row4 '.**.*'
    row5 '.*...'
    row6 '*....'
    row7 '**...'
    row8 '..***'
    }
}

Widget Tux22 {
    class 'icon'
    speed 1000
    bitmap {
    row1 '.....'
    row2 '.....'
    row3 '.....'
    row4 '.....'
    row5 '*....'
    row6 '*....'
    row7 '.****'
    row8 '*....'
    }
}

Widget Tux23 {
    class 'icon'
    speed 1000
    bitmap {
    row1 '.**..'
    row2 '.***.'
    row3 '.***.'
    row4 '.***.'
    row5 '.*.*.'
    row6 '*..*.'
    row7 '...*.'
    row8 '***..'
    }
}
Layout L16x2 {
    Row1 {
#    Col1  'Up1'
    Col2  'Eth0Dw'
    Col10 'CPUBar'
    Col7  'Tux11'
    Col8  'Tux12'
    Col9  'Tux13'
   }
    Row2 {
#    Col1  'Dw1'
    Col2  'Eth0Up'
    Col10 'BusyBar'
    Col9  'Tux23'
    Col8  'Tux22'
    Col7  'Tux21'
   }
}
Display 'HD44780'

Layout 'L16x2'

Variables {
tick 500
tack 100
minute 60000
}

m4d3
 

Mensagempor pedrovigia » Dom Mai 06, 2007 3:12 am

Compro LCD já pronto com o campo e o visor já feito, meu E-Mail: pedrovigia@gmail.com

Francisco Pedro da Costa Filho
pedrovigia
 

Re: Postem aqui seu Script modificado para o lcdstats.

Mensagempor zico_s28 » Dom Fev 17, 2008 6:15 pm

Montei dois displays de 4x16 como tá no tutorial, mas não achei como se configura pra sair imagem nos dois lcds, só aparece no primeiro!!!
zico_s28
 

Re: Postem aqui seu Script modificado para o lcdstats.

Mensagempor lvr » Qua Jul 02, 2008 4:07 pm

hola mis amigos tengo una duda ,no entiendo nada de linux pero pude montar mi lcd aca esta la foto ,Imagem
bien mi duda es ¿como modifico el archivo LCDSTATS.TGZ ? ya trate con
Código: Selecionar todos
 edit /usr/bin/lcdstats
modifico todo lo guardo "control Q Y " reinicio y nada ninguna modificacion en el codigo de lcdstats esto lo hago desde putty en una maquina remota "alguna sugerencia ?
ok saludos y suerte
lvr
 

Re: Postem aqui seu Script modificado para o lcdstats.

Mensagempor Marcelo - Brazil » Qui Jul 03, 2008 2:19 pm

Backup...


"modifico todo, lo guardo "control Q Y ", backup , reinicio ...
BFW não é meu hobby, é meu router !
Não dou suporte.

"Nem sim, nem não, mas muito pelo contrário, não sou contra nem à favor,
porque em matéria de certas coisas o mais importante é o principalmente,
aliás inclusive, não resta a menor dúvida".
De algum politico brasileiro...
Avatar do usuário
Marcelo - Brazil
BFW Founder
BFW Manager
BFW Beneméritos
 
Mensagens: 3187
Registrado em: Qua Ago 24, 2005 10:40 pm
Localização: Campinas - São Paulo
BrazilFW Box: Hp Proliant ML30 Gen 9, Intel® Xeon® E3-1200 v5 3,0 Ghz, 8 Gb ram DDR4, 1 Tb HD, Links 120x12 mb/s cabo + 100x100 mb/s fibra. Addon: Unifi, 50 clientes lan + 50 cliente wireless.

Re: Postem aqui seu Script modificado para o lcdstats.

Mensagempor lvr » Sex Jul 04, 2008 8:11 pm

hey marcelo gracias por la pronta respuesta te cuent o ok ahora el archivo queda modificado el unico problema es que no funciona, buena gracias igual por la respuesta .por ahora necesito leer mucho mas saludos y buena suerte :!:
lvr
 

Re: Postem aqui seu Script modificado para o lcdstats.

Mensagempor Marcelo - Brazil » Sex Jul 04, 2008 8:57 pm

mostre aqui seu script para podermos ajudar.
BFW não é meu hobby, é meu router !
Não dou suporte.

"Nem sim, nem não, mas muito pelo contrário, não sou contra nem à favor,
porque em matéria de certas coisas o mais importante é o principalmente,
aliás inclusive, não resta a menor dúvida".
De algum politico brasileiro...
Avatar do usuário
Marcelo - Brazil
BFW Founder
BFW Manager
BFW Beneméritos
 
Mensagens: 3187
Registrado em: Qua Ago 24, 2005 10:40 pm
Localização: Campinas - São Paulo
BrazilFW Box: Hp Proliant ML30 Gen 9, Intel® Xeon® E3-1200 v5 3,0 Ghz, 8 Gb ram DDR4, 1 Tb HD, Links 120x12 mb/s cabo + 100x100 mb/s fibra. Addon: Unifi, 50 clientes lan + 50 cliente wireless.

Re: Postem aqui seu Script modificado para o lcdstats.

Mensagempor lvr » Sex Jul 04, 2008 10:29 pm

te cuento marcelo solo estoy testeando los que estan arriba
Script criado por André R.V. (Valeu André):
Código: Selecionar todos
#!/bin/sh
#tela de apresentação
h=`date +%H`
dia=`date +%d/%m/%Y`
hms=`date +%H:%M:%S`
echo -ne "\033[H\033[J" > /dev/lcd
h=`date +%H`
if [ $h -lt "12" ] ; then
memo=" Bom dia!"
elif [ $h -lt "20" ] ; then
memo="Boa tarde!"
else
memo="Boa noite!"
fi

echo -ne " ${memo}\r\n" > /dev/lcd
echo -ne "-=Coyote Linux=-" > /dev/lcd
sleep 8
#mostrar IP's
. /etc/coyote/coyote.conf
interno=$LOCAL_IPADDR
externo=$IPADDR
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "I:${interno}\r\n" > /dev/lcd
echo -ne "E:${externo}" > /dev/lcd
sleep 3
#dia
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "Data:${dia}\r\n" > /dev/lcd
echo -ne "Hora:${hms}" > /dev/lcd
sleep 3

while [ 1 ] ; do
BW_IN=DOWN
BW_OUT=DOWN

LOADAVG_1MIN=`cat /proc/loadavg | cut -f 1 -d ' '`
MEMTOTAL=`free | grep Mem | sed s/\ */#/g | cut -f 3 -d '#'`
MEMUSED=`free | grep Mem | sed s/\ */#/g | cut -f 4 -d '#'`
PERCUSED=$((MEMUSED*100/MEMTOTAL))

. /tmp/netsubsys.state
if [ "$INET_UP" = "UP" ] ; then
if [ -e /tmp/bwmon.log ] ; then
bwstats > /tmp/bwstats.log
if [ $? = 0 ] ; then
if [ -e /tmp/bwstats.log ] ; then
. /tmp/bwstats.log
BW_IN=$BW_CUR_DOWN_K
BW_OUT=$BW_CUR_UP_K
fi
fi
fi
fi
hm=`date +%H:%M` #hora e minutos
# And send it to the LCD

h=`date +%H%M`
if [ $h = "0000" ] ; then
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "Iniciando Backup\r\n" > /dev/lcd
echo -ne "Automatico..." > /dev/lcd
. /usr/sbin/lrcfg.back
sleep 2
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "Desligando o HD!\r\n" > /dev/lcd
echo -ne "Aguarde..." > /dev/lcd
hdparm -y /dev/hda
sleep 3
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne " Backup\r\n" > /dev/lcd
echo -ne "Bem Sucedido..." > /dev/lcd
sleep 10
fi

#mostra a taxa de download e upload na primeira linha
#na segunda linha mostra o consumo de memória, load processor, e a hora
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "DL:${BW_IN} UL:${BW_OUT} ${x}\r\n" > /dev/lcd
echo -ne "M:$PERCUSED% $LOADAVG_1MIN ${hm}" > /dev/lcd
# Wait a bit
sleep 1
done


variação do André. por marcelo
Código: Selecionar todos
 
#!/bin/sh
#configuracao
config() {
##########configuracao para saudacao##########
h=`date +%H`
dia=`date +%d/%m/%Y`
hms=`date +%H:%M:%S`
h=`date +%H`
if [ $h -lt "12" ] ; then
memo=" Bom dia!"
elif [ $h -lt "18" ] ; then
memo="Boa tarde!"
else
memo="Boa noite!"
fi
##########configuracao para mostrar IP's##########
. /etc/coyote/coyote.conf
interno=$LOCAL_IPADDR
externo=$IPADDR
##########configuracao taxa de download e upload, consumo de memória, load processor##########
BW_IN=DOWN
BW_OUT=DOWN
LOADAVG_1MIN=`cat /proc/loadavg | cut -f 1 -d ' '`
MEMTOTAL=`free | grep Mem | sed s/\ */#/g | cut -f 3 -d '#'`
MEMUSED=`free | grep Mem | sed s/\ */#/g | cut -f 4 -d '#'`
PERCUSED=$((MEMUSED*100/MEMTOTAL))
##########configuracao placa de rede up down##########
. /tmp/netsubsys.state
if [ "$INET_UP" = "UP" ] ; then
if [ -e /tmp/bwmon.log ] ; then
bwstats > /tmp/bwstats.log
if [ $? = 0 ] ; then
if [ -e /tmp/bwstats.log ] ; then
. /tmp/bwstats.log
BW_IN=$BW_CUR_DOWN_K
BW_OUT=$BW_CUR_UP_K
fi
fi
fi
fi
}

########## lcd menu 1 ##########
menu1() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne " Carregando... \r\n" > /dev/lcd
echo -ne " \n" > /dev/lcd
echo -ne "    BrazilFW    \n" > /dev/lcd
echo -ne "Firewall  Router" > /dev/lcd
sleep 2
}

######### lcd menu 2 ###########
menu2() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "Brecho Informat.\n" > /dev/lcd
echo -ne "Seja Bem Vindo !" > /dev/lcd
sleep 2
}

########## lcd menu 3 ##########
menu3() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne " ${memo}\r\n" > /dev/lcd
echo -ne "\n" > /dev/lcd
echo -ne "Hora:  ${hms}\n" > /dev/lcd
echo -ne "Data: ${dia}" > /dev/lcd
sleep 2
}

########## lcd menu 4 ##########
menu4() {
config
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "LAN: ${interno}\r\n" > /dev/lcd
echo -ne "WAN: ${externo}\n" > /dev/lcd
echo -ne "Dw:${BW_IN} Mem:$PERCUSED%\n" > /dev/lcd
echo -ne "Up:${BW_OUT} CPU:$LOADAVG_1MIN%" > /dev/lcd
sleep 1
}

# Aqui e so colocar na ordem  q quiser q aparecera no lcd, no meu caso o menu1 so aparece na hr q a maquina e ligada
#o menu2 e menu3 fica em lup cada linha equivale um segundo com refresh das informacoes por isso q tem 4 menu2 e 5 menu3
# nao apague a linha "while [ 1 ]; do" e a "done" tudo q ficar entre estas 2 linhas fica em lup definitivo e nao usa precesame
menu1
while [ 1 ]; do
menu1
menu2
menu3
menu4
menu4
menu4
menu4
menu4
menu4

done
exit

me paso que reinicio y no me reconoce la placa de internet apago todo ,y cuando predo funciona todo bien menos el lcd
es como si c corrompiera el lcdstats.tgz tengo que borrarlo y copiarlo otra vez para que arranque bien
:!: Seguro estoy haciendo algo mal pero bueno soy nuebo en esto y "el que no hace no se equivoca" :!:
saludos y buena suerte
lvr
 

Re: Postem aqui seu Script modificado para o lcdstats.

Mensagempor lvr » Sáb Jul 05, 2008 5:30 pm

:!: Hey marcelo te comento solo despues de hacer una traducion de como montar el lcd me di cuenta de que mi mayor error fue que tenia instalado el lcdstats.tgz y el lcd4linx.tgz y que no se deben instalar los 2 ahora lo se . bueno despues de desinstalar el lcd4linx.tgz listo todo normal pude modificar el lcdstats.tgz con normalidad ahora solo queda empezar a testear algunas cosas para realizar un buen script a mi medida gracias por las respuestas y las ganas que le ponen a este foro y proyecto
saludos y buena suerte :!:
lvr
 

Re: Postem aqui seu Script modificado para o lcdstats.

Mensagempor ABJunior » Seg Set 29, 2008 11:42 am

Olá a todos, encontrei um script muito bacana para mostrar o tempo que o roteador está ligado... vejam só como ele funciona... é bem interessante, e o limite máximo é de 999 dias ligados... mais de 2 anos e meio... tá bom né !?

Encontrei em um site americano, mas esqueci de guardar a url dele, portanto não fui eu que criei... ok?!

Apenas fiz uns ajustes para caber centralizado em 16 colunas os máximos de cada mensagem...

59 segundos
59 minutos 59seg
23 horas 59m 59s
999 dias 23h 59m
#
############# Tempo Ligado #############
#
TimeUP() {
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "- Tempo Ligado -\n" > /dev/lcd
up_sec=`cut -f1 -d' ' /proc/uptime | cut -f1 -d.`
if [ $up_sec -ge 60 ] ; then
up_min=$(($up_sec / 60))
up_sec=$(($up_sec % 60))
if [ $up_min -ge 60 ] ; then
up_hour=$(($up_min / 60))
up_min=$(($up_min % 60))
if [ $up_hour -ge 24 ] ; then
up_day=$(($up_hour / 24))
up_hour=$(($up_hour % 24))
echo -ne "${up_day}dias ${up_hour}h ${up_min}m" > /dev/lcd
else
echo -ne "${up_hour} horas ${up_min}m ${up_sec}s" > /dev/lcd
fi
else
echo -ne "${up_min} minutos ${up_sec}seg" > /dev/lcd
fi
else
echo -ne "${up_sec} segundos" > /dev/lcd
fi
sleep 5
}
######

Espero ter colaborado de forma construtiva, acho que ainda dá para melhorar e/ou modificar o script !

Valeu a todos que contribuiram por esse tópico, ele me ajudou muito a fazer funcionar o LCD de meu internet server.

Abraços !
ABJunior
 


Voltar para Outros Assuntos (Off Topics)

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 23 visitantes

cron