Archivo de la categoría: Android

Instalar Raspberry pi desde windows

@cmdearcos
Grupo TIECs

Después de tantos años trabajando con él, todavía no me he encontrado con mucha gente que diga aquello que decía la niña de Parque Jurasico en 1993 (cuando yo empecé a utilizarlo): “Unix, lo conozco”.

Por desgracia no tengo un Unix en casa, si no un Linux (Linux is not Unix), pero me apaño.

Este artículo quiere ser una pequeña introducción al mundo Raspberry pi aunque ya hace algunas semanas escribí algo sobre este tema.

¿Qué sistema operativo tiene un Raspberry pi?. El sistema operativo de un Raspberry pi se llama Raspbian y, al igual que pasa con los Android, son Linux (en el caso de Raspbian es Debian).

Podéis descargaros el Raspbian de la siguiente dirección.

Y ahora viene el problema que alguno me ha planteado. ¿Necesito saber Linux para utilizar un Raspberry?. Como usuario no, al igual que ocurre con el Android, porque tienen un interface de usuario. ¿Cuántos usuarios de Windows conocen Windows?. Proporcionalmente, muy pocos.

Si por el contrario vas a instalar la Raspberry y a configurarlo es muy “conveniente” que sepas Linux.

El siguiente problema, cuando os vais a lanzar al mundo Raspbian (un entorno Linux Debian) es que me preguntáis si para instalar la Raspberry en una tarjeta SD que compráis en la tienda del barrio necesitáis tener un Linux (porque si no estaís metidos en el universo Linux no tenéis un Linux en casa). La respuesta es no. A continuación os indicó como instalar el Raspbian en una tarjeta SD desde un Windows.

El primer paso es descargaros desde la dirección que os he dado antes la versión de Raspbian que deseéis instalar. Una vez tengáis el zip en vuestro Windows hay que extraer el fichero img. Este fichero es una imagen del sistema operativo Raspbian.

La tarjeta SD tiene que tener formato FAT 32. Aunque podéis formatear vuestra tarjera con las herramientas de vuestro Windows, aquí os dejo la dirección de una aplicación para formatear tarjetas SD.

Ahora el problema es grabar la imagen en vuestra tarjeta SD. Con el programa Win32 Disk Imager podéis realizar la copiar la imagen del sistema operativo en la tarjeta SD.

Ojo, seleccionar correctamente en “Devices” la unidad donde se encuentra la tarjeta SD!!!!.

Una vez grabado, ya podéis arrancar vuestra Raspberry (con la tarjeta SD insertada, por supuesto). Y ¿cómo entro?.

Si tienes conectado una pantalla, un teclado y un ratón podrás entrar en tu Raspberry con:

  • Usuario: pi
  • Contraseña:  raspberry.

Si no tienes conectada una pantalla, un teclado y un ratón debes conectarte vía SSH al dispositivo. Puedes saber la IP en las tablas DHCP de tu router (el dispositivo se llama raspberrypi). Como estas desde un Windows y necesitas un cliente SSH, puedes descargarte el programa PuTTY para poder conectarte a tu Raspberry.

A partir de aquí a jugar con tu equipo de solo 5W de potencia.

Espero que os haya servido esta introducción básica.

@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