Programación bluetooth
El estudio sobre el desarrollo de JABWT (Java APIsfor Bluetooth WirelessTechnology), se dividió en tres fases, en las cuales se ahonda sobre la funcionalidad que proporcionan este tipo de aplicaciones, las fases de estudio son las siguientes:
1. Acceso al dispositivo local.
2. Descubrimiento.
* Descubrimientosimple de dispositivos.
* Descubrimiento de dispositivos por medio de búsqueda.
3. Comunicación y gestión de equipos.
Fase 1: Acceso al dispositivo local
La recuperación de información y la manipulación de un dispositivo Bluetooth local comienzan con el objeto LocalDevice que representa al dispositivo local y que será el punto de partida de prácticamente cualquier operación que vayamos allevar a cabo. La clase LocalDevice tiene un constructor privado que impide a las aplicaciones la creación de un objeto nuevo LocalDevice por su cuenta.
Para recuperar un objeto LocalDevice y poder implementarlo en la JABWT se debe lanzar una solicitud mediante el método getLocalDevice() que debe manejarse con un bloque Try Catch debido a que al llamar a este método se puede producir unaexcepción de tipo BluetoothStateExceptionque se origina en caso de que el dispositivo Bluetooth no esté disponible o no funcione correctamente., véaseCódigo 3.1 para su mayor entendimiento.
LocalDevice local = null;
try {
local = LocalDevice.getLocalDevice();
}
catch (BluetoothStateException e) {
f.append("Error al acceder al dispositivo local");
return;
}
Código 3.1 Objeto LocalDevice.Una vez que se ha recuperado el objeto LocalDevicense puede acceder a la información del dispositivo Bluetooth local llamando a los distintos métodos de la clase LocalDevice que devuelvenla dirección Mac, el nombre del dispositivo, el tipo de descubrimiento, etc.la tabla 3.1 muestra los métodos para la extracción de información y los valores que devuelven.
Método | Descripción | Valor quedevuelve |
LocalDevice.getBluetoothAddress() | Solicita la dirección Mac del dispositivo local Bluetooth. | Cifra Hexadecimal de 12 dígitos. |
LocalDevice.getFriendlyName() | Recupera el nombre descriptivo del dispositivo. | Cadena de caracteres. |
LocalDevice.getDiscoverable() | Muestra la forma de descubrimiento del dispositivo. | Agente de descubrimiento para el dispositivo local. |LocalDevice.getProperty("bluetooth.api.version") | Versión de JABWT soportada por el dispositivo. | Versión actual de JABWT |
LocalDevice.getProperty("bluetooth.master.switch") | ¿Permite cambios entre dispositivo Esclavo y Maestro? | "true" or "false" |
LocalDevice.getProperty("bluetooth.sd.attr.retrievable.max") | Número máximo de atributos recuperados para el registro de servicios | Unentero base 10 |
LocalDevice.getProperty("bluetooth.connected.devices.max") | Número máximo de dispositivos conectados simultáneamente. | Un entero base 10 |
LocalDevice.getProperty("bluetooth.l2cap.receiveMTU.max") | Número máximo en bytes de recepciones MTU (MaximumTransmitUnit) | Un entero base 10 |
LocalDevice.getProperty("bluetooth.sd.trans.max") | Número máximo de transacciones dedescubrimiento concurrentes. | Un entero base 10 |
LocalDevice.getProperty("bluetooth.connected.inquiry.scan") | ¿Puede el dispositivo local responder una solicitud de búsqueda mientras ha establecido un vínculo a otro dispositivo? | "true" or "false" |
LocalDevice.getProperty("bluetooth.connected.page.scan") | ¿Puede el dispositivo local aceptar una conexión desde un dispositivo remoto nuevo si yaestá conectado a otro dispositivo remoto? | "true" or "false" |
LocalDevice.getProperty("bluetooth.connected.inquiry") | ¿Puede el dispositivo local iniciar una búsqueda mientras está conectado a otro dispositivo? | "true" or "false" |
LocalDevice.getProperty("bluetooth.connected.page") | ¿Puede el dispositivo local establecer una conexión con un dispositivo remoto cuando el dispositivo local...
Regístrate para leer el documento completo.