2may/0917
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
Comentarios (17)
Trackbacks (0)
( suscribirse a los comentarios de esta entrada )
Aún no hay trackbacks.
4 mayo, 2009 - 21:18
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
6 mayo, 2009 - 17:05
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.
15 mayo, 2009 - 00:06
existe manera de importar lightblue a python en windows?
15 mayo, 2009 - 08:07
Supongo que si se puede o si no, talvez se pueda con pyBlue.
15 mayo, 2009 - 08:13
Con lightblue no se puede es solo para linux, mac y series 60, pero con pyblue si se puede.
15 mayo, 2009 - 08:25
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
15 mayo, 2009 - 13:42
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.
15 mayo, 2009 - 20:58
si yo te donara algunos dolaritos via paypal, me ayudarias a desarrollarlO¿?
16 mayo, 2009 - 15:37
Esta bien, dime nada mas que quieres hacer, y las condiciones.
16 mayo, 2009 - 22:26
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
17 mayo, 2009 - 16:07
Ok yo por mi cuenta. mi correo es como esta pagina pero en gmail.com por si tienes alguna duda.
6 julio, 2009 - 15:01
Disculpen, alguien sabe como puedo conseguir la documentación de la librería lightblue, es que no la encuentro por ningún lado, gracias
7 julio, 2009 - 18:43
Hola @eddie aqui está la documentacion official y en la que yo me basé.
http://lightblue.sourceforge.net/doc/lightblue.obex.html
9 julio, 2009 - 10:17
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
9 julio, 2009 - 18:45
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.
10 septiembre, 2011 - 14:29
grcias por la ayuda, probe el codigo en diferentes telefonos (alcatel, motorola, nokia) y funciona perfectamente para el envio de archivos e imagenes, la unica limitante es que para poder recibir en un telefono alcatel es necesario darle la longitud del archivo o imagen para que este la reciba ya que en los que lo probe no tiene explicitamente el protocolo OBEX pero funciona perfectamente.
23 octubre, 2011 - 16:01
Hola he intentado hacer un scipt en python utilizando este codigo y me lanza el siguiente mensaje de error:
lightblue._obexcommon.OBEXError: (114, ‘Operation already in progress’)