Archivo de la etiqueta: Baterías móvil

Consumo baterías en Smartphones

@cmdearcos
Grupo TIECs

Esta es la tercera vez que hablo del tema de las baterías de dispositivos móviles (artículo1 y artículo2). Esta vez lo voy a centrar un poco más en el Sistema Operativo Android.

¿Qué es un Sistema Operativo Android?. Pues sin ser muy purista es un LINUX … y ¿qué es un LINUX?. LINUX (Linux Is Not UniX) es un sistema operativo similar al UNIX, pero que no es de pago.

Supongo que muchos no os habéis enterado nada del párrafo anterior. Otro habréis recordado viejos tiempos (o no tan viejos). Algunos venimos trabajando desde 1993 con Sistemas Operativos Linux, cuando empezamos en los laboratorios de la universidad con conceptos como semáforos, memorias compartidas, RPC, etc y tocábamos diferentes aspectos de cada una de las capas de la torre OSI de ISO (y de la capa TCP/IP).

En aquel momento éramos unos frikis que sacábamos el mayor rendimiento posible a nuestros 386 (con coprocesador matemático!!!). Ahora mismo todo el mundo (si lo tiene mi padre, podemos decir que está al alcance de todo el mundo) tiene un Linux en su terminal móvil.

Os dejo un par de link donde se habla de forma amena de la evolución del Linux hasta que nace el Android.

La ventaja que tiene un sistema operativo como el Linux (y el entorno que lo mantiene) es que un desarrollador puede acceder de forma “sencilla” a las APIs y documentación de las librerías y aplicaciones para poder utilizarlas y desarrollar nuevas mejoras o aplicaciones encima de las ya existentes.

En el universo Linux podéis encontrar mucha documentación para administradores de equipos y desarrolladores. Aquí os dejo la página de documentación del proyecto LUCAS (Linux en Castellano).

Como ha ocurrido siempre con Linux, el desarrollador de aplicaciones Android puede acceder a un gran número de librerías que le permite mejorar sus aplicaciones.

El tema del consumo de baterías (y relacionado con ello la transmisión de datos) es un “problema” que no teníamos en el desarrollo de aplicaciones en Servidores y PC. Una de las aplicaciones mas completa para la gestión de la batería es Battery Monitor Widget.

Si instaláis esta aplicación en el móvil podéis ver su potencial. Esta aplicación no ahorra, si no que da información para que podáis hacerlo. Pero un desarrollador de aplicaciones de Android pude ver con esta aplicación la gran cantidad de datos que se puede extraer del dispositivo y por ello tomar decisiones automáticas para minimizar el gasto energético de las aplicaciones. Este un ejemplo más de cómo se pueden mejorar nuevas aplicaciones (o viejas) apoyándose en el funcionamiento de otras.

Por último dos cosas. Muchas aplicaciones “gratuitastienen publicidad que consumen tanto los datos como las baterías. Es importante que los usuarios valoren este aspecto a la hora de instalar una aplicación.

Os dejo un estudio sobre el consumo de energía en aplicaciones móviles. ¿Cuánto consume Angry Birds y por qué?.

@cmdearcos
Grupo TIECs

Consumo batería en dispotivos Android

@cmdearcos
Grupo TIECs

 

Todos tenemos la percepción, por otro lado real, de que los Smartphone consumen más batería que nuestros antiguos móviles. Y aunque las baterías han mejorado en los últimos años sus prestaciones el consumo de la batería ha aumentado significativamente.

Antes se podía oír a gente decir que el tardaba 72 horas en volver a cargar la batería y ahora hay gente que con batería nueva la tiene que cargar al menos 2 veces diarias o como mucho, en el mejor de los casos cada 2 días. Los Smartphone consumen mucho más batería porque tiene más servicios y, como ya comentamos anteriormente, muchos de esos servicios se pueden optimizar para minimizar el gasto energético, pero también el usuario puede configurar su móvil para solo consumir aquello que necesita (volvemos al principio esencial de la eficiencia energética).

Existe una aplicación que permite monitorizar el consumo en mA de nuestro dispositivo android: CurrentWidget.

¿Un programador de aplicaciones Android puede conocer el consumo de sus aplicaciones?. La respuesta es y de hecho lo estamos empezando a hacer, ya que cada vez más los clientes nos piden, como requisitos de la aplicación que el usuario final no se queje de que con la instalación de la aplicación gasta mucha más batería. Hay aplicaciones que por su propia naturaleza el consumo de batería se dispara siendo técnicamente imposible minimizar dicho gasto. Sin entrar, en este artículo, en conceptos de programación de aplicaciones Android quiero demostrar que se puede controlar el consumo de las baterías por parte de los programas Android y el hecho de que existan aplicaciones como Currentwidget abalan este hecho.

Una vez instalado Currentwidget y teniendo en cuanta que lo que no se puede medir no se puede mejorar, podemos saber cuanto ahorro generamos al optimizar el funcionamiento de nuestro Smartphone.

Para ver que aplicaciones están consumiendo más energía se puede entrar en la sección batería de nuestro Android.

¿Qué cosas son optimizables (todo depende del uso)?. Entre las cosas que podemos optimizar está:

  • El brillo de la pantalla. Cuanto menor sea, menor será el consumo. En función de la luz que exista en el entorno este parámetro de debería modificar cuando se hace un uso intensivo e interactivo del móvil, reduciendo el contraste lo mas posible. En mi caso la pantalla me consume un 15%.
  • Ajustes de sincronización. La mayoría de las aplicaciones que usamos (Correo electrónico, Twitter, facebook, Gmail, etc) se pueden configurar indicándoles el tiempo que transcurre entre una sincronización u otra. Incluso hay aplicaciones como el correo electrónico que se les puede indicar de que hora a qué hora pueden actualizarse. En esos casos yo las tengo configurada de lunes a viernes de 9:00 h. a 23:00 h. y el resto del tiempo lo sincronizo a demanda (manualmente). Desde mi punto de vista, una cosa es estar conectado y otra muy diferente es estar enganchado. El correo electrónico se concebía como un sistema de comunicación no intrusivo, que se contestaba cuando se podía, a diferencia de la llamada de teléfono que era totalmente intrusiva. Aplicaciones como el Whatsapp y Line son intrusivas (y los que solemos tener varias reuniones al día lo sabemos), pero ¿cómo son las notificaciones de facebook, Gmail, correo electrónico, twitter, etc si tienen un tiempo de sincronización muy pequeño?. Cuanto mayor sea el tiempo entre sincronización menos consultas sin trafico (en una entrada anterior ya hablamos del consumo de batería en función del tráfico de datos) se realizarán y por tanto menos consumo de batería se realizará.
  • Taskiller. El uso de este tipo de aplicaciones penaliza mucho el consumo de batería. El objetivo de los Taskillers es eliminar tareas para aumentar la velocidad del sistema Android, pero interfiere con el sistema en la gestión de la memoria del dispositivo originando un consumo importante de batería. ¿Velocidad o consumo?. Pues depende del uso, siendo importante conocer cómo funcionan estos programas y decidir en cada caso que priorizar.
  • Personalizaciones de presentación. Uno de los ejemplos mas documentados es la capa HTC Sense, que tiene un aspecto muy bueno, pero que consume grandes recurso de la batería. Aquellos que estén preocupados por el consumo de sus baterías es aconsejable instalar en sus dispositivos ROMs que nos dispongan de este tipo de capas.
  • ROMs. Aquí se encuentra el Sistema Operativa del dispositivo, por lo que es importante optimizar el consumo. En mi caso el Sistema Operativo consume el 51% de mi batería. Si hemos instalado la aplicación Currentwidget podemos comprobar diferentes ROMs (sustituyendo una por otra) y analizando cual consume menos. Las diferentes ROMs proporcionan funcionalidades diferentes y nuevas por lo que la decisión de tener una u otra no solo es cuestión del consumo de batería, aunque es un parámetro mas a tener en cuenta a la hora de decidir que ROM tenemos instalada. Puede ocurrir que consumamos de repente mas batería después de instalar el firmware que nos ha indicado el dispositivo (actualización de versión). En esos casos hay que decidir si volver a la versión antigua o si es necesaria la nueva actualización para el software y las aplicaciones que usamos habitualmente.

Espero que os ayude esta entrada para optimizar vuestro móvil.

 

@cmdearcos
Grupo TIECs

Baterías móviles: programación aplicaciones

@cmdearcos
Grupo TIECs

¿Cuánto consume un teléfono móvil?. Mi Samsung galaxy SIII mini tiene una batería de Ion-Litio en la que puedo leer los siguientes datos:

  • 3,8 V
  • 5,70 Wh.

¿Qué significan estos datos?. Básicamente que cada carga de móvil consume 5,7 Wh y que puede almacenar hasta 1.500 mAh. Haciendo un cálculo rápido, sin tener en cuenta ningún tipo de perdidas en el proceso de carga y teniendo en cuenta que aunque el móvil tiene menos de dos meses tengo que cargarlo de media una vez al día, el consumo anual del móvil sería:

5,7 Wh x 365 días = 2,08 kWh al año.

El precio del TUR sin DH a fecha de 1 de abril de 2013 es de 0,138658 €/kWh. Si tomamos este precio para todo el año 2013, aunque ya sabemos que entre enero y marzo de 2013 el precio fue de 0,150938 €/kWh y que se prevén precios superiores al del segundo trimestre del año para el tercer y cuarto trimestre, el coste del consumo anual ascendería a:

2,08 x 0,138658 = 0,29 € antes de impuestos (0,36 € impuestos incluidos).

¿Esté coste justifica ser eficientes en el consumo de móvil?. Posiblemente con este número encima de la mesa la respuesta mas evidente es que no. Pero, ¿cuántos móviles hay en España?. Según la CMT existen actualmente 52.699.000 líneas de telefonía móvil.

Numero de móviles en España

El objetivo de estos cálculos es hayar un número aproximado que de un orden de magnitud de la importancia del consumo de los móviles en España, por lo que estamos realizando muchos supuestos para simplificar dichos cálculos. Si suponemos que todos los móviles consumen lo que el mío (cosa que ya sabemos que es incierto, pero utilizamos la “teoría” de las gallinas que entran por las que salen), el consumo de móviles en España es aproximadamente de:

  • 2,08 x 52.699.000 = 109,61 GWh.

En otro momento nos acercaremos al concepto de la huella de CO2 y de forma simple veremos cuando CO2 genera el parque de móviles en España.

Traducido el consumo anterior a € y partiendo de la base (falsa a priori) de que todas las cargas de móviles se realizan sobre contratos TUR a 0,138658 €/kWh:

  • 0,29 x 52.699.000 = 15.282.710 € (18.971.640 impuestos incluidos).

¿Le interesa a España reducir el consumo energética en telefónica móvil (sin entrar en otros dispositivos)?. Dejo esta pregunta en el aire para que la conteste la sociedad.

Pero si puedo decir que muchos usuarios cargamos (yo lo he hecho) los móviles personales en la oficina. En alguna entrada anterior he hablado de consumos fantasmas, consumo suelo y de solo consumir aquello que es necesario. En el caso de una oficina con 100 empleados el coste de las cargas de dispositivos personales puede ser un valor relativamente importante a lo largo del año.

En algunas oficinas que hemos auditado se ha prohibido la carga de dispositivos personales en la oficina, ya que es un consumo que paga la empresa y que no aporta valor (desde el punto de vista de la empresa en ese momento). Otras han permitido que se realicen cargas de dispositivos personales en ciertas horas, cuando la tarifa eléctrica es más barata. Alguna otra lo ha asumido como coste y se ha centrado en otros consumos ineficientes, explicando a los trabajadores que se permite la carga de dispositivos personales como un “beneficio social”. El precio que pagan las empresas por la electricidad no suele ser tarifa TUR, si no que es una tarifa de libre mercado con discriminación horaria y por tanto paga la misma electricidad a precios diferentes en diferentes franjas horarias. Sabiendo esto, siempre es conveniente cargar los dispositivos personales en las horas valle.

En otras entradas hablaremos de cómo configurar el móvil para consumir el mínimo de batería posible. Pero para cerrar esta entrada quiero centrarme un poco en la programación de aplicaciones para móviles.

Mis primeros pasos en la programación los di en la carrera. Una de las asignaturas que mas me enseño a programar fue Sistemas Operativos, ya que el objetivo de estas aplicaciones es gestionar de forma EFICIENTE los recursos hardware. Cosas tan simples como:

  • cuando en un programa en C se hace un malloc para “reservar” memoria es conveniente hacer un free cuando se deja de usar.
  • cuando se programa un demonio es más eficiente “embuclarlo” en un estructura for(;;) que while(1).

A principios del nuevo milenio, con el burbuja (no solo ha existido la burbuja del ladrillo) de las punto com en todo su esplendor, con la popularización de los servidores de aplicaciones JAVA, donde el programador ya no necesitaba controlar la memoria porque lo realizaba el sistema y con la bajada del precio de las memorias (tanto RAM como discos duros), ya no era necesario ser tan eficiente en la gestión de recursos (si nos quedábamos cortos de memoria se compraba mas) y de esa forma se conseguía minimizar el tiempo de desarrollo de aplicaciones.

Con la llegada de los Smartphone la cosa ha vuelto a cambiar. ¿Quién no ha escuchado la queja de que es necesario cargar más veces los nuevos móviles?. Con los antiguos móviles he sido capaz de estar más de 72 horas sin cargarlo. Con mi nuevo Smartphone no he pasado de las 31 horas (aunque tengo que reconocer que tengo muchas aplicaciones metidas, entre ellas el POU para mi hija).

¿En qué gasta un movil la batería?. Aquí vamos a poner algunos datos para que sirva de referencia, aunque para cada tipo de móvil estos datos pueden cambiar:

  • Modo avión: 2 mA
  • Modo espera 3G / EDGE: 5 mA
  • Modo espera WIFI: 12 mA
  • LCD normal: 90 mA
  • CPU 50% – 100%: 110 mA
  • Sensores: 80 mA GPS: 85 mA
  • 3G transferencia máxima: 150 mA
  • EDGE transferencia máxima: 250 mA
  • WIFI transferencia máxima: 275 mA

Teniendo en cuenta que mi batería es de 1.500 mAh, aquí os paso algunos cálculos que se aproximan bastante a la realidad que he podido observar:

  • Ver Youtube: 335 mA = 4,48 horas
  • Navegar por la Web usando 3G: 217 mA = 6,91 horas
  • Uso típico: 42 mA (de media) = 35,71 horas. Mi consumo típico es de 49 mA (30 horas)
  • Modo avión en espera: 2 mA = 30 días

A la hora de realizar aplicaciones para móviles es conveniente tener en cuenta al menos las siguientes cuestiones:

Una aplicación en modo espera que se despierta cada 15 minutos y actualiza los datos en 15 segundos tendría el siguiente consumo a la hora:

  • 4 veces x 15 segundos x 350 mA = 4,6 mAh
  • 3.540 segundos (3600 – 60) x 5 mA = 4,9 mAh.

En una hora se consume lo mismo en espera (3.540 segundos) que actualizando datos (60 segundos), por lo que es muy importante ver cómo se actualizan los datos.

Otro tema importante es el consumo que se realiza en función de cómo estamos conectados a internet. Por ejemplo bajar un fichero de 7MB de la red tendría el siguiente consumo en función de la conexión a internet:

  • EDGE (90 kbps): 300 mA * 10,5 minutos = 53 mAh
  • 3G (300 kbps): 210 mA * 3,2 minutos = 11,2 mAh
  • WIFI (1 Mbps): 330 mA * 56 segundos = 5,1 mAh.

¿Es posible que aquellas aplicaciones que requieren una actualización de datos grande solo se conecten a internet cuando lo hagan a través de WIFI?. Si, es posible y depende de la aplicación y de la forma de programarla. Aquí os dejo una pequeña aplicación para Android que lo que hace es detectar si hay conexión a internet y de qué tipo. Con esta pequeña aplicación quiero demostrar que es relativamente sencillo tener en cuenta a qué red estamos conectados para realizar o no una actualización de datos maxiva y con ello reducir el consumo de batería (y además el consumo de datos por la 3G). Estas son los tipos de conexiones que puede detectar:

  •  TYPE_WIFI: WIFI TYPE_BLUETOOTH: Bluetooth
  • TYPE_ETHERNET: Ethernet
  • TYPE_MOBILE: Móvil
  • TYPE_MOBILE_DUN: Móvil DUN
  • TYPE_MOBILE_HIPRI: Móvil alta prioridad
  • TYPE_MOBILE_MMS: Móvil MMS
  • TYPE_MOBILE_SUPL: Móvil SUPL
  • TYPE_WIMAX: Wimax

Otra opción interesante puede ser reducir el tráfico de datos y con ello el tiempo de descarga. Esto se consigue con una buena compresión. En próximas entradas ampliaremos otras cuestiones de programación que permiten ahorrar batería del movil y temas de configuración de los terminales para consumir solo aquello que es estrictamente necesario. En mi caso tener el POU para mi hija es estrictamente necesario.

@cmdearcos
Grupo TIECs