Ir al contenido


Foto

Mostrar dispositivos bluetooth cercanos, con lazarus y python.


  • Por favor identifícate para responder
No hay respuestas en este tema

#1 martinartaza

martinartaza

    Advanced Member

  • Miembros
  • PipPipPip
  • 159 mensajes
  • LocationArgentina, Tucuman

Escrito 17 agosto 2011 - 08:12

Hola, por fin me di tiempo de postear esto.
Lo que voy a poner sirve para que desde lazarus se puedan detectar dispositivos bluetooth y obtener su mac.
El código que usaremos seran 3, 1 en lazarus, otro en python y otro en c++ (si estás en windows no es necesario el de c++, llama directamente a python).

Pruebas realizadas con ubuntu 10.04, lazarus 9.30, y python 2.6.5

En lazarus crear un formulario con un boton y un memo, el código en el evento onclick es el siguiente:



delphi
  1. uses
  2.   Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  3.   StdCtrls, process;  // process debes agregar.
  4.  
  5. procedure TForm1.Button1Click(Sender: TObject);
  6. var Proc: TProcess;
  7. begin
  8.   Proc := TProcess.Create(nil);
  9.   Proc.CommandLine := 'buscardisp '; 
  10. //      Proc.CommandLine := 'python buscardisp.py ';  en windows se puede ejecutar directamente el programa en python.
  11.  
  12.   Proc.Options := Proc.Options + [poWaitOnExit, poUsePipes];
  13.   PRoc.Execute;
  14.   Proc.free;
  15.   Sleep(5000);
  16.   Memo1.Lines.LoadFromFile('respuesta.dat');
  17.  
  18. end;             



-------------------------0------------------------------
En python se debe agregar las librerias necesaria para trabajar con bluetooth en linux se la instala con el siguiente comando:



delphi
  1. aptitude install bluetooth bluez bluez-firmware bluez-utils python-bluez


en windows se debe buscar e instalar, etc...

el programa buscardisp.py es el siguiente:

[c]
import bluetooth

lista = bluetooth.discover_devices(lookup_names = True)
listaarchivo =[]
print 'Lista de Dispositivos Bluetooth'
print 'Se encontraron %d' % len(lista)

file = open('respuesta.dat', "w")

for hwaddr, nombre in lista:
  listaarchivo.append(" %s - %s\n" % (hwaddr,nombre))


file = open('respuesta.dat', "w")
file.writelines(listaarchivo)
file.close()
[/c]

Y el programa en c, que llama al programa en python es:
buscardisp.cpp
[c]
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    system("clear");
    string s("python buscardisp.py ");

    system(s.c_str());
    return EXIT_SUCCESS;
}
[/c]

Se compila con
[asm]g++ buscardisp.cpp -o buscardisp[/asm]

Bueno eso es todo, si uds, conectan cualquier adaptador usb-bluetooth en linux y luego aprietan conectar (el botón de proyecto de lazarus) en el memo aparecerán los datos del dispositivo bluetooth, su mac y modelo.

Bueno, espero que le sirva a alguien  :cool: , ahora estoy enrredado con otras cosas, pero luego veré como establezco una conexión serie con el dispositivo, para usar ya un componente de lazarus para enviar datos y poder enviar sms.





  • 0




IP.Board spam blocked by CleanTalk.