Gammu

4
La herramienta en línea de comandos Gammu lee y modifica nuestra agenda de teléfonos, calendario o configuraciones del teléfono. La interfaz gráfica Wammu ofrece al usuario un adecuado front-end para las funciones más importantes. POR CARSTEN SCHNOBER Administrar nuestro teléfono móvil con Gammu y Wammu SERVICIOS DE DIRECTORIO Administrar nuestro teléfono móvil con Gammu y Wammu SERVICIOS DE DIRECTORIO 17 Gammu y Wammu • PORTADA 17 Número 11 WWW.LINUX-MAGAZINE.ES 017-020_GammuLinux11 07.10.2005 16:13 Uhr Página 17

Transcript of Gammu

La herramienta en línea de comandos Gammu lee y modifica nuestra agenda de

teléfonos, calendario o configuraciones del teléfono. La interfaz gráfica Wammu

ofrece al usuario un adecuado front-end para las funciones más importantes.

POR CARSTEN SCHNOBER

Administrar nuestro teléfono móvil con Gammu y Wammu

SERVICIOS DEDIRECTORIO

Administrar nuestro teléfono móvil con Gammu y Wammu

SERVICIOS DEDIRECTORIO

17

Gammu y Wammu • PORTADA

17Número 11W W W . L I N U X - M A G A Z I N E . E S

017-020_GammuLinux11 07.10.2005 16:13 Uhr Página 17

datos de una extensa selección de teléfo-nos móviles, sin importar si usamos uncable de datos, conexión por infrarrojoso Bluetooth. Wammu [2] proporcionauna interfaz intuitiva que hace el trabajosucio a la hora de usar Gammu.

InstalaciónSuse incluye tanto Gammu como sufront-end Wammu. Los usuarios de Susepueden ejecutar Yast para instalar ambospaquetes. Los usuarios de otras distribu-ciones pueden verificar las fuentes enInternet habituales, donde encontrare-mos el código fuente, así como paquetesRPM y Debian.

Comenzamos descargando el paqueteGammu desde su página web, y luegotecleamos rpm -Uvhgammu-1.01.11-1.te.i386.rpm o dpkg -ilibgammu0_1.01.11-0_i386.debgammu_1.01.11-0_i386 en el caso deDebian. Necesitaremos bien las libreríasbluezlib (RPM), o bien libbluetooth1(caso de Debian) para dar soporteBuetooth para ambos paquetes.

Wammu requiere tambiénpython-gammu [3]. Ejecutamos -xjfpython-gammu-0.8.tar.bz2 para descom-primir el archivo en el disco duro y nossituamos en el directoriopython-gammu-0.8. Tecleamos lassiguientes órdenes para instalar elpaquete: python setup.py build y pythonsetup.py install. Después de completareste paso, continuamos con Wammucuyo procedimiento es completamentesimilar.

WammuPodemos ahora teclear wammu para lan-zar la interfaz gráfica. La primera vezque se ejecuta no tenemos un archivo deconfiguración personal de Wammu ennuestro directorio de usuario. Esto haceaparecer un cuadro de diálogo. Si tene-mos un archivo /.gammurc, Wammuobtendrá los valores por defecto desdeese archivo. En caso contrario pregunta-rá si deseamos ejecutar la autodetección.

Si Wammu no es capaz de autodetec-tar nuestro teléfono, tendremos que aña-dir estos datos de manera manual enWammu | Settings (véase Figura 1).Debemos rellenar el cuadro Device con elnombre de la interfaz, que será/dev/ircomm0 para infrarrojos,/dev/ircomm0 para Bluetooth y/dev/ttyS1 si se trata de un cable de

datos USB. En función de cómo adminis-tre la configuración nuestra distro, estasrutas pueden variar ligeramente. Paramás información referente a la interfazinfrarrojos, véase el cuadro titulado“Teléfono Móvil con Interfaz deInfrarrojos”. El artículo titulado “En cual-quier sitio, en cualquier lugar: Internetmóvil con GPRS” (en este mismo núme-ro) tiene un cuadro relativo a configurarla interfaz Bluetooth.

Seguidamente definimos el protocoloen Connection. Existe una lista de teléfo-nos y tipos de conexión soportados porGammu en [4]. Seleccionamos Phone |Connect para indicarle a Wammu que seconecte al terminal. La barra de estadoen la parte inferior de la ventana muestrael estado de la batería, hora del sistema ypotencia de la señal.

El menú Retrieve sirve para descargardatos del teléfono. No todos los teléfonossoportan todas las funciones. De nuevo,nos remitimos a la base de datos en [4]para más información. El menú Infomuestra los detalles del teléfono, comoel número de serie, modelo y versión delfirmware.

En Contacts tendremos acceso a loscontactos de nuestra agenda, que pue-den organizarse en dos grupos: contac-tos en la tarjeta SIM y contactos en lamemoria del teléfono. Si seleccionamosCalls veremos las llamadas entrantes ysalientes, Messages para los mensajesSMS, Todos para la lista de tareas yCalendar para los datos del calendario.

Las funciones para subir datos noestán completamente soportadas entodos los teléfonos en la versión Wammu0.8. En nuestro laboratorio fuimos inca-paces de crear nuevos contactos o citasdel calendario. Las tareas nuevas provo-caban un mensaje de error, lo cual noimpedía que se guardasen en la memoriadel teléfono. Lo mismo ocurría con eleditor de SMS mostrado en la Figura 2. Apesar del mensaje de error, el SMS real-mente llegaba a destino.

Copia de SeguridadUna adecuada copia de seguridad delteléfono puede salvarnos de perder todala información en caso de pérdida o robodel aparato . El menú Backup nos ayudaa salvar todo o una selección de losdatos del teléfono. SeleccionamosBackup | Save para abrir un exploradordonde podemos especificar el formato a

En esta “Era de la Movilidad” en laque vivimos, el teléfono móvil seha convertido en una importante

fuente de información. Los terminales dehoy en día guardan información dedirecciones y citas, y es habitual sincro-nizarlos con nuestro ordenador.

La herramienta en línea de comandosGammu [1] nos permite administrar los

PORTADA • Gammu y Wammu

18 Número 11 W W W . L I N U X - M A G A Z I N E . E S

01 $ <b>gammu --monitor<b>02 Press Ctrl+C to break...03 Entering monitor mode...0405 Enabling info about incoming

SMS : Enabling info aboutincoming SMS : %s

0607 Enabling info about incoming

CB : Enabling info about inco-ming CB : %s\n

08 Enabling info about calls :Enabling info about calls :%s\n

09 Enabling info about USSD :Enabling info about USSD :%s\n\n

1011 SIM phonebook : Used 017, Free

23312 Dialled numbers : Used 020,

Free -0813 Received numbers : Used 010,

Free 00214 Missed numbers : Used 266,

Free -25415 Own numbers : Used 000, Free

00516 Phone phonebook : Used 109,

Free 19117 ToDos : Used 218 Calendar : Used 4719 Battery status : 100 percent20 Network level : 100 percent21 SIM SMS Status : 8 used, 0

unread, 40 locations22 Phone SMS status : 15 used, 0

unread, 150 locations, 20 tem-plates

23 Network reception: Home net-work

24 Network : 262 07 (Network :%s(%s", Germany), LAC C75F,CID 7563

25 Name in phone : "o2 - de"

Listado 1: Gammu en ModoMonitor

017-020_GammuLinux11 07.10.2005 16:14 Uhr Página 18

exportar en la parte inferior de la lista.Podemos bien seleccionar Gammu

backup [all data] para guardar toda lainformación en formato Gammu, o bienpodemos almacenar un subconjunto delos datos en los formatos extendidosLDIF o VCF. Prácticamente cualquieraplicación de agenda tiene soporte paraal menos uno de estos formatos. Para losterminales Nokia, podemos incluso usarel formato de contactos propietario deNokia. Wammu procesa también lainformación del calendario para poderusarla con otros programas, guardandolos archivos en formato iCal de Apple oen el formato vCal estándar.

GammuWammu no soporta todas las funcionali-dades del teléfono móvil, pero la herra-mienta en línea de comandos Gammuviene a rellenar este hueco. Gammu per-mite al usuario acceder al sistema dearchivos del teléfono móvil y a las fun-cionalidades especiales de control, comoradios o cámaras integradas. Podemosincluso ejecutar tests para verificar laalarma vibratoria y la luz del teclado o lapantalla.

Gammu se configura editando el archi-vo .gammurc de nuestro directorio deusuario, o bien en /etc/gammurc paratodos los usuarios. Si hemos instalado elRPM Gammu la configuración globalestará localizada bajo /etc/. El paqueteDebian tiene un archivo de ejemplo com-primido en/usr/share/doc/gammu/examples/con-fig/gammurc.gz. Copiamos este archivoa nuestro directorio de usuario, ejecuta-

bién referir un contacto especificando sunúmero. Por ejemplo, la orden siguientecaptura los contactos de la agenda del 1al 100:

gammu --getmemory ME 1 100

gammu --getmemory DC 1 - 10 usa unatécnica similar para acceder a las llama-das realizadas, desde la posición 1 a la10. Si especificamos MC en lugar de DC,obtendremos las llamadas perdidas,mientras que con RC accedemos a las lla-madas recibidas. gammu --getmemory

Gammu y Wammu • PORTADA

19Número 11W W W . L I N U X - M A G A Z I N E . E S

mos gunzip gam-murc.gz para descom-primirlo y renombra-mos el archivo con mvgammurc.gammurc.

Para usar nuestroteléfono, podemosbien entrar como rooty editar el archivo deconfiguración global,o bien editar sólonuestra configuraciónpersonal. Los aparta-dos port y connectionen la sección [gammu]son importantes. Unaalmohadilla (#) indicaa Gammu que ignorela línea. Podemos

introducir los mismos datos que en lasección Wammu anteriormente vista, ousar los datos de [4], esto es, /dev/ttyS1para port, /dev/rfcomm0 para una cone-xión Bluetooth o >/dev/ttyACM0 paraun cable de datos. Asimismo copiamosla entrada connection desde Wammu.

La herramienta gammu --help muestrauna enorme lista de opciones Gammu,algunas de las cuales son especificasdependiendo del dispositivo. Para unainformación más detallada de los puntosimportantes podemos teclear algo comogammu --help filesystem, por ejemplo. Elparámetro identify nos indica si Gammusoporta nuestro terminal.

$ gammu --identifyManuf. : NokiaModel : 6610 (NHL-4U)Firmware : 4.74 C (14-04-03)Hardware : 0640

Gammu nos ofrece todas las funcionali-dades de Wammu y muchas más.gammu --getallcalendar lee las anotacio-nes del calendario y las muestra comotexto. El resultado que obtenemos de laagenda depende de las funcionalidadesque soporte nuestro teléfono: algunosteléfonos envían la agenda completacuando tecleamos gammu --getallcate-gory PHONEBOOK y el primer contactoal ordenarle gammu --getcategory PHO-NEBOOK 1.

Con otros teléfonos es necesario espe-cificar --getmemory, además de un espe-cificador del tipo de memoria: ME hacereferencia a la agenda interna del termi-nal y SM a la tarjeta SIM. Podemos tam-

Muchos portátiles tienen un puerto deinfrarrojos, y existen adaptadores infra-rrojos para el puerto USB. En contrastecon un cable específico de datos, unadaptador por infrarrojos tiene la venta-ja de servirnos para múltiples dispositi-vos. (Existen aún muchos teléfonos yordenadores que no tienen soporte paraBluetooth, que es la otra gran alternativaal puerto de infrarrojos).

Comenzamos por instalar el paqueteirda. Algunas distribuciones llaman aeste paquete irda-utils. Si tenemos queconectar un adaptador USB, no debe-mos olvidar reiniciar el sistema de infra-rrojos tecleando /etc/init.d/irda restart.Tendremos que hacer esto último comoroot.

La mayoría de las distros denominanpor defecto a la interfaz infrarroja como/dev/ttyS1 por defecto. Si disponemosde un adaptador FIR (“Fast Infrared”)con soporte para Linux, tendremos quecambiar en el archivo de configuración/dev/ttyS1 por el nombre del dispositivo,que podría ser algo como stir4200, porejemplo. El archivo de Suse que admi-nistra toda esta configuración se deno-mina /etc/sysconfig/irda. Pero otrasdenominaciones como etc/irda o/etc/default/irda-utils (Debian) son bas-tante comunes.

El siguiente paso es introducir el puertoespecificado en nuestra configuraciónde infrarrojos como Port en la configura-ción de Gammu y Wammu, es decir,/dev/ttyS1 o el nombre del dispositivoque hayamos configurado. Añadimos,por último, una entrada para la conexiónal teléfono en Connection.Generalmente es irdaphonet, aunquepodría ser también algo como infrared,fbusirda o irdaat.

Cuadro 1:Móviles conInterfaz Infrarrojos

Figura 1: La interfaz gráfica Wammu ofrece al usuario acceso a

los datos de contactos y citas guardados en el teléfono.

017-020_GammuLinux11 07.10.2005 16:14 Uhr Página 19

SMS entrantes. El coman-do gammu -monitormuestra una lista de even-tos a intervalos regulares,como se muestra en elListado 1. En caso de quellegue un mensaje o entreuna llamada, el monitormuestra el número delemisor o llamante.Podemos escribir unscript Bash para leer losdatos, convertirlos en unarchivo log y evaluar elresultado si tenemos unosligeros conocimientos deprogramación. Los des-arrolladores de Wammu olos desarrolladores decualquier otro front-end

que surja,podrían usar

este tipo de scripten el futuro para

mejorar la interfazgráfica de usuario.En función del tipo

de teléfono (y de acceso-rios que tengamos),

Gammu tiene un amplio aba-nico de funciones adicionales.

El comando nokia --nokiamakecameras-hoot dispara la cámara digital de nuestromóvil Nokia, obviamente suponiendoque el teléfono tiene cámara integrada, ycon gammu --nokiatuneradio activamosla radio.

El programa parece funcionar mejorcon los móviles Nokia. Esto puededeberse al hecho de que el proyectopredecesor, Gnokii, estaba centrado enlos terminales Nokia. De momento, laherramienta en línea de comandoscarece de un front-end adecuado a suenorme abanico de funcionalidades. Eluso de la herramienta requiere conoci-mientos más que básicos, en según quéocasiones, por parte del usuario.Aunque Wammu cubre la mayor paredel las funcionalidades comunes, otrasno están convenientemente soporta-das. Dicho esto, merece la pena dedi-carle un rato a probar ambas herra-mientas. Si no desistimos, Gammupuede ayudarnos a acceder práctica-mente a cualquier cosa que almacene-mos en nuestro teléfono móvil. �

ON 1 muestra nuestro propio número yVM lista los mensajes enviados desdenuestra bandeja de salida. Para todasestas funciones, obviamente, necesita-mos un terminal que soporte el tipo dememoria al que queremos acceder.

Podemos hacer una búsqueda en elsistema de archivos del teléfono teclean-do gammu --getfilesystem. Con esto mos-tramos todos los archivos guardados enel teléfono ordenados por directorio.Podemos ahora transferir una archivo aldisco duro especificando su número:

gammu --getfiles 63

gammu --help nokia y gammu --help sie-mens, por ejemplo, nos muestra másdetalles de los terminales de estos dosfabricantes. Una vez más: no todos losterminales soportan todos los comandos.Por ejemplo, cuando intentamos leer elcódigo de seguridad tecleando gammu-nokiasecuritycode, obtuvimos 12345 envarias ocasiones.

Si estamos interesados en cargar o des-cargar tonos desde o hacia el terminal,deberíamos echarle un vistazo a gammu--help ringtone para comprobar losparámetros adecuados de Gammu.Si tecleamos gammu --getringto-neslist obtendremos una listacompleta de los tonos almace-nados en el teléfono. Congammu --getringtone 51 ring-tone, por ejemplo, transferi-mos el tono almacenadoen la posición 51 a unarchivo llamado ringtoneen nuestro disco duro.El formato dependeráde nuestro terminal.

MonitorizarLlamadasEntrantesGammu nos per-mite monitori-zar las lla-madas ymensa-jes

PORTADA • Gammu y Wammu

20 Número 11 W W W . L I N U X - M A G A Z I N E . E S

Figura 2: Podemos usar el Editor de SMS para componer

mensajes cortos sin tener que usar el teclado del móvil.

[1] Gammu: http://www.gammu.net

[2] Wammu: http://www.cihar.com/gammu/wammu

[3] Python Gammu: http://www.cihar.com/gammu/python

[4] Base de datos de terminales paraGammu: http://www.cihar.com/gammu/phonedb

RECURSOS

017-020_GammuLinux11 07.10.2005 16:14 Uhr Página 20