Elvira Develop

Bluetooth File Transfer

Screencast

Aqui teneis un Screencast con el funcionamiento de Elvira:

6 abril 2008 Posted by | elvira | Deja un comentario

Publicado Elvira Bluetooth FTP 0.1

He publicado en la forja la primera versión de Elvira.

Descargar Elvira Bluetooth FTP 0.1

Esta versión es completamente funcional pero tiene una pega: las operaciones son bloqueantes, es decir, cuando estamos transfiriendo un fichero la interfaz queda bloqueada hasta que la operación termina. Estoy intentando solucionarlo, pero tengo problemas con los threads GDK.

Agradecería que lo probaseis y me contaseis que os parece, los fallos que pueda tener y pequeñas mejoras que podrían hacerse…

Todavía me falta un logo/icono y el diálogo «Acerca de» 😉

Os pongo algunas capturas:

elvira01_busqueda.png elvira01_principal.png elvira01_transferencia.png

Elvira usa OpenOBEX.

 

2 febrero 2008 Posted by | elvira, ficheros | 4 comentarios

Instalación de Elvira Bluetooth FTP

Elvira se distribuye en binarios (i386) y fuentes.


Para la instalación de binarios, instalar los paquetes necesarios que se explican a continuación, descargar el TAR.GZ correspondiente y descomprimirlo.Los paquetes necesarios para la ejecución son los siguientes:

  • libbluetooth (BlueZ)
  • bluez-pin
  • gnome-bluetooth
  • bluez-passkey-gnome
  • libxml2
  • gnome-bluetooth
  • libglade2

Para la instalación de estos paquetes en Ubuntu 6.10 (Edgy Eft):

$ sudo aptitude install libbluetooth2 libxml2 gnome-bluetooth libglade2-0 bluez-pin

También hay que instalar OpenObex y ObexFTP desde las fuentes:

OpenObex:

$ tar xzf openobex-1.3.tar.gz

$ cd openobex-1.3

$ ./configure –prefix=/usr

$ make

# make install

ObexFTP:

$ tar xzf obexftp-0.20.tar.gz

$ cd obexftp-0.20

$ ./configure –prefix=/usr

$ make

# make install

En la primera conexión con el dispositivo Bluetooth hay que asociarlo con el PC introduciendo la misma clave en los dos sitios. Este proceso es independiente de Elvira.


Para la compilación desde las fuentes son necesarios, aparte de los paquetes anteriores:

  • libxml2-dev
  • libbluetooth-dev
  • libglade2-dev
  • glade-2 (si queremos editar la interfaz)

Por ahora no he preparado las fuentes con autotools, el paquete contiene un proyecto eclipse.

2 febrero 2008 Posted by | elvira | Deja un comentario

Eclipse CDT: Plugin de Eclipse para C/C++

No había escrito ningún post sobre el entorno de desarrollo que estoy utilizando, pero hoy he pensado que igual alguien no sabe de la existencia de un buen IDE para programar en C o C++ en GNU/Linux.

Como sabréis, Eclipse es un entorno de desarrollo multiplataforma y multilenguaje. Está escrito en Java y se basa en plugins para soportar los distintos lenguajes.

Eclipse CDT es el plugin para Eclipse que facilita la creación de aplicaciones en C y C++. En la Wiki de CDT teneis tutoriales de instalación y uso. También hay unos screencast para aprender la funcionalidad del plugin de manera más visual.

28 diciembre 2007 Posted by | gnu/linux, programación, software | 3 comentarios

Programando GTK en C

Hay muchos manuales para programar GTK in english. El fundamental es:

Pero además aquí hay tres de ellos en Castellano:

El Widget que más trabajo exige es GtkTreeView, aquí hay un par de tutoriales específicos:

22 diciembre 2007 Posted by | bibliografia, gnu/linux, programación | 3 comentarios

Primer diseño de la Interfaz

Ya tengo hecho el primer diseño de la interfaz de la aplicación en Glade. Acepto sugerencias.

primer_disenyo.png

22 diciembre 2007 Posted by | elvira | 2 comentarios

Glade Interface Designer

Glade (o Glade Interface Designer) es una herramienta de desarrollo visual de interfaces gráficas mediante GTK/GNOME. Es independiente del lenguaje de programación y predeterminadamente no genera código fuente sino un archivo XML.

glade.png

GladeXML es un formato XML que Glade usa para almacenar los elementos de las interfaces diseñadas. Estos archivos puden emplearse para construirla en tiempo de ejecución mediante la biblioteca libglade. Algunas versiones de Glade permitían generar automáticamente el código que generaría las interfaces; pero fue desaconsejado y discontinuado.

Libglade es una librería que te permite cargar una interfaz GladeXML en tiempo de ejecución desde un programa en C, con la ventaja (frente a la generación de código) de que no es necesario recompilar el programa si modificamos la interfaz. Así es mucho más fácil por ejemplo, la traducción de la aplicación a otros idiomas, sólo se necesitaría disponer de Glade.

Libglade también permite conectar y desconectar los manejadores de eventos asociados a los widgets.

Pongo aquí un manual de Glade y otro de libglade con un título muy acertado: «Keeping your hands clean«.

21 diciembre 2007 Posted by | bibliografia, gnu/linux, programación | Deja un comentario

Libxml: XML Parser del proyecto Gnome

http://xmlsoft.org/:

Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), it is free software available under the MIT License.

Libxml2 is known to be very portable, the library should build and work without serious troubles on a variety of systems (Linux, Unix, Windows, CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, …)

Hay un tutorial disponible en la misma página:

Libxml Tutorial

21 diciembre 2007 Posted by | bibliografia, gnu/linux, programación | 2 comentarios

Asociar dispositivos Bluetooth en Gnome

Una conexión entre dos dispositivos Bluetooth para la transferencia de ficheros, requiere que los dispositivos estén asociados.

Para asociar dos dispositivos Bluetooth, se pide a las dos partes que introduzcan una contraseña (o pin)  idéntica.

Para hacer esto con BlueZ, he leido que hay que escribir el pin deseado en el fichero /etc/bluetooth/pin, y con introducirlo en el otro dispositivo bastaría. Vale… ¡pues a mí no me funciona! El dispositivo pide que introduzcamos el pin, pero hagas lo que hagas, da un error de pin incorrecto y cancela la asociación.

La solución la he encontrado en el paquete bluez-passkey-gnome que hay disponible en el repositorio de Ubuntu >= 6.10. Si se instala este paquete (reiniciar gnome después de la instalación), al intentar de nuevo la asociación, aparece una solicitud de asociación en el Escritorio, donde podemos introducir el mismo pin que en el dispositivo ¡et voilà!

17 diciembre 2007 Posted by | bluetooth, gnu/linux | Deja un comentario

Bluetooth en Gnome

La integración de Gnome con Bluetooth consiste en un páquete llamado gnome-bluetooth, que básicamente consiste en dos utilidades para enviar y recibir un fichero a/de otro dispositivo bluetooth.

Este envío se hace mediante OBEX PUSH, con lo que podemos enviar ficheros uno a uno, creando una conexión (y aceptándola) para cada fichero que queramos enviar. Eso si conseguimos hacerlo funcionar.

17 diciembre 2007 Posted by | bluetooth, gnu/linux, software | Deja un comentario