Silicon Island

Categorías:

Archivos:

<Abril 2018
Lu Ma Mi Ju Vi Sa Do
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

Blogs Amigos:

rvr
juanje

Cosas de yo:

Synaptia


Get Firefox!
Use GNOME
Blogalia
Python y dbus
Aqui un pequeño ejemplo de como podemos utilizar DBus con Python para comunicarnos con el hardware gracias a HAL (Hardware Abstraction Layer).

El ejemplo básicamente lo que hace es imprimir el identificador de un dispositivo USB cuando lo enchufamos o lo desenchufamos, ésto puede utilizarse para ejecutar un comando determinado cuando enchufamos nuestro lapiz usb o algo similar.

El código completo se puede descargar desde aqui: dbus_example.py

import dbus
import dbus.glib
import gobject

#Nos conectamos a DBus y obtenemos un objeto HAL y una inteerfaz con el mismo
bus = dbus.SystemBus()
objeto_hal = bus.get_object('org.freedesktop.Hal', '/org/freedesktop/Hal/Manager')
manager = dbus.Interface(objeto_hal, 'org.freedesktop.Hal.Manager')

#Creamos dos funciones, una para conectarnos y otra para desconectarnos
def plug_callback(uid):
        print "Connected: "+uid

def unplug_callback(uid):
        print "Dissconnected: "+uid

#Conectamos las funciones a las señales enviadas por HAL
#a través de DBUS
manager.connect_to_signal('DeviceAdded', plug_callback)
manager.connect_to_signal('DeviceRemoved', unplug_callback)

#Iniciamos un bucle de eventos gobject
gobject.MainLoop().run()



arc@osl:~$ python dbus_example.py
Dissconnected: /org/freedesktop/Hal/devices/usb_device_46d_c016_noserial_if0
Dissconnected: /org/freedesktop/Hal/devices/usb_device_46d_c016_noserial
Connected: /org/freedesktop/Hal/devices/usb_device_46d_c016_noserial
Connected: /org/freedesktop/Hal/devices/usb_device_46d_c016_noserial_if0


Es necesario tener instalado Dbus y HAL (con las ultimas versions de ubuntu funciona perfectamente:


2006-03-14 17:50 | Categoría: | 2 Comentarios | Enlace

Referencias (TrackBacks)

URL de trackback de esta historia http://arclnx.blogalia.com//trackbacks/38265

Comentarios

1
De: rvr Fecha: 2006-03-15 02:40

Esto me va a venir de perlas para el problema de un chaval que al enchufar la memoria USB en Ubuntu, el automount no le rula y tiene que hacerlo a mano.



2
De: arc Fecha: 2006-03-15 10:59

ojo, tiene que tener una entrada en el fstab con la opcion user activada, aparte de eso...



Nombre
Correo-e
URL
Dirección IP: 54.224.99.70 (9d98fe0b7f)
Comentario
¿Cuánto es: mil + uno?

© 2002 - 2003 arc
Powered by Blogalia