Suse 11.2

Enviar archivo a travez de bluetooth y python en linux ubuntu

Primero que nada para empezar a trabajar ocupamos las herramientas, para eso necesitamos tener instalado la librería lightblue para python esto lo podemos lograr con

sudo apt-get install lightblue

también hay otras librerias que se necesitan pero seguramente ya las tienes instaladas.

Ahora ya solo corre la consola de python, abre una terminal escribe python y listo.

import lightblue
lightblue.finddevices()
# devolverá la mac y nombre de los dispositivos detectados
lightblue.findservices()
#devolverá la mac, canal y protocolo de comunicacion disponibles de los dispositivos,  yo usé el canal 9 que dice OBEX Object Push
cliente = lightblue.obex.OBEXClient('00:1A:DC:8C:51:2D',9)
#creamos la variable con la direccion mac y el canal del dispositivo
cliente.connect()
#nos conectamos al dispositivo nos aparecerá una respuesta como esta 
#<OBEXResponse reason='OK' code=0x20 (0xa0) headers={}>
putresponse = cliente.put({"name": "b.txt"}, file("b.txt", 'rb'))
#especificamos que le enviamos al cliente
cliente.disconnect()

Y listo con eso abremos enviado un archivo de nota al teléfono en mi caso ya estaba como amistoso, desconozco si se puede con dispositivos desconocidos o como será la respuesta.

Talvez te interese leer

15 comments to Enviar archivo a travez de bluetooth y python en linux ubuntu

  • juan

    no lo envia, me tira

    module>
    putresponse = cliente.put({“name”: “b.txt”}, file(“b.txt”,”rb”))
    IOError: [Errno 2] No such file or directory: ‘b.txt’

    b.txt se encuentra en el mismo directorio, podrias ser mas especifico sobre lo que hace cada funcion =?
    gracias

  • OK Juan
    Segun leo no tieners un archivo llamado b.txt ese archivo debe estar localizado en la carpeta del usuario en mi caso /home/punksolid/b.txt prueba poniendo la dirección exacta de tu archivo.

  • elmicrochip

    existe manera de importar lightblue a python en windows?

  • Supongo que si se puede o si no, talvez se pueda con pyBlue.

  • Con lightblue no se puede es solo para linux, mac y series 60, pero con pyblue si se puede.

  • elmicrochip

    lo has hecho alguna ves con pyblue¿ yo solo he logrago escanear (y me funciona muy bien) pero quiero q envie un archivo .jpg o .gif

  • No todavia no he intentado con pyBlue ni he visto las ventajas, me parece que era de desarrollo reciente y por eso no me decidí por probarlo, mas adelante tal vez lo haga.

  • elmicrochip

    si yo te donara algunos dolaritos via paypal, me ayudarias a desarrollarlO¿?

  • Esta bien, dime nada mas que quieres hacer, y las condiciones.

  • elmicrochip

    solo quiero desarrollar un .exe q necesite de algun archivo “.dll” (o de otro tipo) q uno esconda en “X” sitio del disco (c:\windows\system32\llave.dll por ej) para q no lo puedan copiar(3)

    Lo principal seria 1) Escanear bluetooths al rededor
    2) Hacer q mande un archivo .jpg o .gif cada 2 minutos por ejemplo (incluyendo a los moviles q ya se les haya enviado, un reenvio pues)

    Como t dije tengo el code de Escaneo en python y funciona bien CHEVERE, te lo puedo facilitar, y tb tengo documentacion de como hacer ejecutables en python ^_^

    un adelanto no? solo faltaria eso, los 3 pasitos.

    si quieres te puedo ir adelantando Code a algun email q me suministres, o por msn o q se yo, como tu lo prefieras :)

  • Ok yo por mi cuenta. mi correo es como esta pagina pero en gmail.com por si tienes alguna duda.

  • Disculpen, alguien sabe como puedo conseguir la documentación de la librería lightblue, es que no la encuentro por ningún lado, gracias

  • Hola @eddie aqui está la documentacion official y en la que yo me basé.

    http://lightblue.sourceforge.net/doc/lightblue.obex.html

  • victor alarcon

    Hola amigo encontre por casualidad tu post, bueno el caso esque estamos haciendo un programa que envie archivos de texto plano
    pero me devuelve el siguente error al ejecutarlo:

    Traceback (most recent call last):
    File “/home/ubuntu/jjk.py”, line 8, in
    cliente.connect()
    File “/var/lib/python-support/python2.6/lightblue/_obex.py”, line 60, in connect
    self.__setUp()
    File “/var/lib/python-support/python2.6/lightblue/_obex.py”, line 150, in __setUp
    raise OBEXError(str(e))
    OBEXError: (112, ‘Host is down’)

    si sabes algo relacionado al error porfavor avisame

  • Victor, tengo la sospecha de que no hiciste el import lighblue, puedes pegar el codigo en http://www.pastebin.com y pasarme el link, para analizarlo.

    Si no quieres que sea publico el codigo puedes mandarme el enlace a mi correo punksolid en gmail.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">