Script python para avisar de manera sonora batería agotada de la laptop

Lo siguiente es un sencillo script que hice con la intención de que me avise cuándo la batería de mi portátil o laptop está por agotarse, debido a que a veces las alertas visuales no son tan llamativas cuando uno está concentrado en el trabajo o si uno está lejos de la portátil.

#!/usr/bin/env python

import os, sys, subprocess, re

dir_sounds = "/usr/share/sounds/gnome/default/alerts/"
file_sound = "glass.ogg"
acpi_tool = subprocess.check_output('acpitool -b', shell=True)
mplayer_cmd = 'mplayer -vo fbdev2 --volume=200'

if acpi_tool:
    acpi_result = acpi_tool.split(',')
    if float(acpi_result[1].strip().replace('%','')) < 8 and 'Discharging' in acpi_result[0]:
        for i in range(0, 12):
            os.system(mplayer_cmd+' '+dir_sounds+file_sound)

El script lo llamé check_battery, lo copié en el directorio /usr/local/bin/ y le di permisos 755 de ejecución para que funcione desde cualquier path y con cualquier usuario. Este script verifica el estatus de la batería, si está desconectado el cargador y si está por debajo del 8% de carga, entonces se disparará un ciclo que sonará 12 veces una campana.

La intención básicamente es usar los recursos acpi del sistema y verificar periódicamente mediante un cron el estatus de la batería.

El otro recurso utilizado es mplayer para que ejecute el sonido del sistema, tomé un sonido que viene por defecto para alertas en Gnome.

El cron lo dejé de la siguiente manera:

*/5 * * * /usr/local/bin/check_battery

El tiempo de cron y porcentaje de carga se pueden cambiar dependiendo de la necesidad.

Estuve buscando una manera de usar clases propias de python para ejecutar el sonido, usar acpi u otras opciones, pero lo que conseguí fueron basadas para Windows, al final decidí usar comandos base de la shell apoyándome con la clase os de python, quizás más adelante implemente clases daemon para que funcione como demonio y no mediante un cron.

Advertisements

About felixurbina

Humano con todos los defectos y virtudes que vienen de fábrica.
This entry was posted in Debian, Linux, Python. Bookmark the permalink.

One Response to Script python para avisar de manera sonora batería agotada de la laptop

  1. Andres Niño says:

    Esta muy interesante el tema, necesito crear una aplicación sencilla en Python que me permita ver el estado de la batería de mi pc en windows, me podrías colaborar con algún ejemplo(scripts) o decirme que módulos podría utilizar para hacer el scripts.

    Muchas gracias de antemano.

    Este es mi email: andres_garcia1996@hotmail.com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s