Screencast
Aqui teneis un Screencast con el funcionamiento de Elvira:
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:
Elvira usa OpenOBEX.
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:
$ tar xzf openobex-1.3.tar.gz
$ cd openobex-1.3
$ ./configure –prefix=/usr
$ make
# make install
$ 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.
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.
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:
Primer diseño de la Interfaz
Ya tengo hecho el primer diseño de la interfaz de la aplicación en Glade. Acepto sugerencias.
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.
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«.
Libxml: XML Parser del proyecto Gnome
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:
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à!
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.
-
Recientes
- Screencast
- Publicado Elvira Bluetooth FTP 0.1
- Instalación de Elvira Bluetooth FTP
- Eclipse CDT: Plugin de Eclipse para C/C++
- Programando GTK en C
- Primer diseño de la Interfaz
- Glade Interface Designer
- Libxml: XML Parser del proyecto Gnome
- Asociar dispositivos Bluetooth en Gnome
- Bluetooth en Gnome
- Perfiles Bluetooth
- OBEX FTP GNU/Linux Front-ends
-
Enlaces
-
Archivos
- abril 2008 (1)
- febrero 2008 (2)
- diciembre 2007 (12)
- noviembre 2007 (1)
-
Categorías
-
RSS
Entries RSS
Comments RSS