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
uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, process; // process debes agregar. procedure TForm1.Button1Click(Sender: TObject); var Proc: TProcess; begin Proc := TProcess.Create(nil); Proc.CommandLine := 'buscardisp '; // Proc.CommandLine := 'python buscardisp.py '; en windows se puede ejecutar directamente el programa en python. Proc.Options := Proc.Options + [poWaitOnExit, poUsePipes]; PRoc.Execute; Proc.free; Sleep(5000); Memo1.Lines.LoadFromFile('respuesta.dat'); end;
-------------------------0------------------------------
En python se debe agregar las librerias necesaria para trabajar con bluetooth en linux se la instala con el siguiente comando:
delphi
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
