Elvira Develop

Bluetooth File Transfer

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 Publicado por | 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 Publicado por | bibliografia, gnu/linux, programación | 3 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 Publicado por | bibliografia, gnu/linux, programación | Dejar 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 Publicado por | 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 Publicado por | bluetooth, gnu/linux | Dejar 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 Publicado por | bluetooth, gnu/linux, software | Dejar un comentario

OBEX FTP GNU/Linux Front-ends

En la página del proyecto OpenObex enlazan con tres front-ends del subproyecto ObexFtp hechas por usuarios, pero los resultados no son todo lo bueno que deberían ser.

  • ObexTool: GUI file management tool written in Tcl/Tk using ObexFTP

    ObexTool

    Entre las pegas está el aspecto gráfico muy poco cuidado, la necesidad de TK instalado en tu sistema junto con algunos complementos dificiles de obtener, el hecho importante de que no permite la busqueda de dispositivos y como extensión la necesidad también de conocimientos sobre las herramientas de openobex en línea de comandos… Además parece utilizar el comando obexftp y capturar sus salidas para hacer el trabajo, lo que provoca la creación de una nueva sesión y una incomoda pregunta de seguridad en el dispositivo por cada accion que queremos realizar.

  • ObexFTP Front-end: Java Swing Gui for ObexFTP

    ObexFTP Front-end

    Las pegas son parecidas a las de ObexTool. Necesitas tener la ultima version del j2re de java instalada en tu sistema y no dispone de búsqueda de dispositivos, con lo que necesitas saber detalles como la dirección mac de tu dipositivo bluetooth y para ello debes usar otra herramienta como las utilidades en linea de comando de BlueZ. También parece utilizar el comando obexftp de OpenObex para hacer su trabajo, con lo que surge el mismo problema que con ObexTool.

  • Cs-ObexFtp: C# ObexFTP GUI (under development).

    C# ObexFTP GUI

    Aquí sí tenemos busqueda de dispositivos, pero es una aplicación todavía en desarrollo. Además seguimos teniendo necesidad de tener alguna implementación para GNU/Linux del framework .NET 2.0 y conocimientos sobre Bluetooth. La instalación es muy complicada, de hecho, no he conseguido hacerlo funcionar.

15 diciembre 2007 Publicado por | bluetooth, gnu/linux, software | Dejar un comentario

OBEX en GNU/Linux

Existe una implementación libre para GNU/Linux del protocolo OBEX (OBject EXchange): OpenObex

The overall goal of this project is to make an open source implementation of the Object Exchange (OBEX) protocol. OBEX is a session protocol and can best be described as a binary HTTP protocol.

Documentación del API de OpenObex.

Dentro del mismo proyecto existe otra implementación libre de OBEX FTP: ObexFtp

The main goal of this project is to make mobile devices that feature the OBEX protocol and that adhere to the OBEX FTP standard accessible using an open source implementation.

No busqueis la documentación del API de ObexFtp porque no existe.

Así que… ¡a mirar código!

15 diciembre 2007 Publicado por | bibliografia, bluetooth, gnu/linux | Dejar un comentario

Bluetooth Stack en GNU/Linux

La pila Bluetooth oficial de GNU/Linux es BlueZ

The overall goal of this project is to make an implementation of the Bluetooth™ wireless standards specifications for Linux. The code is licensed under the GNU General Public License (GPL) and is now included in the Linux 2.4 and Linux 2.6 kernel series.

Como se lee en la página, BlueZ viene incluida en el kernel Linux 2.4 y 2.6.

Existe una WIKI del proyecto con información sobre desarrollo.

Como curiosidad, existe otra pila Bluetooth para GNU/Linux llamada Affix, pero Elvira utilizará BlueZ.

15 diciembre 2007 Publicado por | bibliografia, gnu/linux | Dejar un comentario

   

Seguir

Get every new post delivered to your Inbox.