domingo, 26 de noviembre de 2006

KAddressBook y teléfono móvil Sharp GX15

A la hora de pasar los datos de KAddressBook al móvil debemos ser conscientes de como se relaciona cada campo de una entrada de la agenda de KAddressBook con una entrada de la agenda del móvil. En la siguiente tabla se muestra dicha relación:

KAddressBookGX15
NombreNombre
ApellidosApellidos
Teléfono MóvilTel móvil privado
Teléfono del trabajoTel oficina
Teléfono del domicilioTel privado
Correo ElectrónicoCorreo electr prvado (solo guarda una única entrada de este tipo que es la última de las contenidas en KAddressBook)
CalleDirección
NotaInformación
FotografíaImagen

Lo primero que debemos hacer es exportar la agenda en KAddressBook como vCard 2.1 seleccionando "Exportar en varios archivos". El móvil solo soporta recibir ficheros que contengan información únicamente de un contacto. O lo que es lo mismo, no soporta una vCard que contenga varios contactos.

Existen algunas incompatibilidades que solventar. Para ello utilizamos el siguiente script guardándolo en un fichero con nombre "kaddressbook_vcf_to_gx15_vcf.sh".

#!/bin/sh

if [[ "$1" == "" || "$2" == "" ]] ; then
echo Usage: $0 input_file.vcf output_file.vcf
echo ""
else
if [ ! -r "$1" ] ; then
echo \""$1"\" file does not exists
else
# replace "ENCODING=b" with "ENCODING=BASE64"
sed 's/ENCODING=b/ENCODING=BASE64/g' "$1" > "$1_aux_1"

# replace "TYPE=image/jpeg" with "TYPE=JPEG"
sed 's/TYPE=image\/jpeg/TYPE=JPEG/g' "$1_aux_1" > "$1_aux_2"

# inserts a blank line after image data
awk '/^ / { image=1 } !/^ / && image > 0 { print "" ; image = 0 } { print }' "$1_aux_2" > "$2"

# delete temp files
rm "$1_aux_1"
rm "$1_aux_2"
fi
fi

Deberemos pasar este script a cada uno de los ficheros que exportemos. Por ejemplo, para pasar el script a todos los ficheros vCard contenidos en un directorio ejecutaremos lo siguiente:

for j in *.vcf ; do ./kaddressbook_vcf_to_gx15_vcf.sh $j $j ; done

Para enviar por Bluetooth del PC al móvil los ficheros VCF generados, podemos usar KBluetooth. En el explorador de ficheros Konqueror seleccionamos los ficheros a enviar y en el menú del botón derecho de ratón, dentro de "Acciones", tenemos la opción "Enviar por Bluetooth...". El problema de tener que hacerlo así es que en el móvil vamos a tener que aceptar cada contacto de la agenda.

Es posible que queramos eliminar del móvil todos los contactos antes de pasar los del PC. Para ello vamos a "Contactos" -> "Lista" -> "Opciones" -> "Avanzado" y seleccionamos "Borrar todas entr.". Nos pedirá un código de bloqueo que en mi caso tenía el valor por defecto "0000".

Enlaces de interés del teléfono móvil Sharp GX15

http://www.comunidad-sharp.net
http://gx15.sourceforge.net
http://www.sharp-phone.com
http://cihar.com/gammu/wammu/

Emparejamiento de dispositivos Bluetooth en Debian Testing

A partir de cierta versión del paquete "bluez-utils", cuando un dispositivo externo introduce la contraseña para emparejarse con el ordenador se produce un error. En el fichero "/var/log/syslog" se obtiene el mensaje "call_passkey_agent(): no agent registered".

En las siguientes páginas he encontrado información relativa a como tratar este problema: enlace 1, enlace 2.

El problema parece ser debido a que falta el binario "passkey-agent" en el paquete "bluez-utils".

Como solución temporal a este problema se puede editar el fichero "/etc/bluetooth/hcid.conf" y poner el valor "auto" a la variable "security". Tras este cambio se debe ejecutar el comando "/etc/init.d/bluetooth restart". De esta forma, el ordenador usará siempre el pin definido en el fichero "hcid.conf".