Pular para o conteúdo

Verificar status de carga da bateria do notebook

De férias do trampo e sem ter muito o que fazer por enquanto :), criei esse simples Shell Script que mostra o status da carga da bateria do notebook, em forma de barra, porcentagem e tempo estimado restante para o fim total de carga da mesma. Não é lá essas coisas, mas funciona! Sugestões e melhorias serão bem-vindas. ;)
Sandro Marcell smarcell
Hits: 15.224 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

De férias do trampo e sem ter muito o que fazer por enquanto :), criei esse simples Shell Script que mostra o status da carga da bateria do notebook, em forma de barra, porcentagem e tempo estimado restante para o fim total de carga da mesma. Não é lá essas coisas, mas funciona! Sugestões e melhorias serão bem-vindas. ;)
Download battery_status Enviar nova versão

Versões atualizadas deste script

Esconder código-fonte

#!/bin/bash
#
#  Copyright 2013 Sandro Marcell <smarcell@myopera.com>
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#  MA 02110-1301, USA.
#
PATH='/bin:/usr/bin:/usr/local/bin'

bateria='BAT0'

# Codigo UTF-8 para 'seta para cima' e 'seta para baixo'
seta_cima='\u2191'
seta_baixo='\u2193'

exec 3< /sys/class/power_supply/${bateria}/energy_now; read -u3 capacidade_restante; exec 3<&-
exec 3< /sys/class/power_supply/${bateria}/energy_full; read -u3 capacidade_total; exec 3<&-
exec 3< /sys/class/power_supply/${bateria}/status; read -u3 estado_bateria; exec 3<&-
exec 3< /sys/class/power_supply/${bateria}/power_now; read -u3 taxa_bateria; exec 3<&-

((carga = capacidade_restante * 100 / capacidade_total))

# Tempo restante estimado de carga
((taxa_bateria == 0)) && taxa_bateria=1 # POG!!! :P 100% de carga
horas=$(bc <<< "(1.0 * $capacidade_restante) / (1.0 * $taxa_bateria)")
minutos=$(bc <<< "(60.0 * $capacidade_restante) / $taxa_bateria - ($horas * 60)")

case "$estado_bateria" in
   'Full')
      status_bateria="\033[1m==\033[0m"
      info='Bateria recarregada';;
   'Charging')
      status_bateria="\033[1m${seta_cima}${seta_cima}\033[0m"
      info='Bateria carregando...';;
   'Discharging')
      status_bateria="\033[1m${seta_baixo}${seta_baixo}\033[0m"
      info="Tempo restante estimado = ${horas}h:${minutos}m"
esac

cor=32 # Codigo ANSI para cor verde
if ((carga < 15)); then
   cor=31 # Vermelho
elif ((carga <= 50)); then
   cor=33 # Amarelo
fi

# Mostra a barra
while ((i++ < carga)); do
   (($i % 2 == 0)) && echo -ne "\033[7;${cor}m \033[0m"
done

echo -e " \033[1;${cor}m${carga}%\033[0m\n$status_bateria $info"

Ubuntu - Removendo kernels antigos

Duelo das Cartas Mágicas

Apt-fast melhorado

Instalando MPlayer no slackware

Front para o slackpkg em dialog

#1 Comentário enviado por rrafael em 07/10/2013 - 15:23h
Show.. funciona 100%
#2 Comentário enviado por smallboy em 07/10/2013 - 15:40h
Para executar preciso dar permissão chmod +x nome_arquivo ? no meu não fungo, abriu executou rapidamente e fechou.
#3 Comentário enviado por rrafael em 07/10/2013 - 16:11h
No meu tive que mudar no script

touch bateria.sh
chmof 744 bateria.sh
vi bateria.sh
alterei a linha;
bateria='BAT0'
para
bateria='BAT1'

savei;

para ver se tem mais algum erro use;
sh -x bateria.sh

Abraço.
#4 Comentário enviado por /bin/laden em 13/03/2014 - 09:56h
Legal! =)

Contribuir com comentário

Entre na sua conta para comentar.