miércoles, 16 de abril de 2014

Cliente Bluetooth


Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2,4 GHz. Los principales objetivos que se pretenden conseguir con esta norma son: 
  • Facilitar las comunicaciones entre equipos móviles. 
  • Eliminar los cables y conectores entre éstos. 
  • Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de datos entre equipos personales. 
Los dispositivos que con mayor frecuencia utilizan esta tecnología pertenecen a sectores de las telecomunicaciones y la informática personal, como PDA, teléfonos móviles, computadoras portátiles, ordenadores personales, impresoras o cámaras digitales.

Propiedades

AddressesAndNames
Muestra la dirección y el nombre de los dispositivos Bluetooth vinculados con el dispositivo android.

Available
Indica si el Bluetooth está disponible en el dispositivo Android.

CharacterEncoding 
La codificación de caracteres a usar para enviar y recibir mensajes de texto.

DelimiterByte
El byte delimitador usado cuando se pasa un número negativo para el parámetro numberOfBytes en los métodos ReceiveText, ReceiveSignedBytes o ReceiveUnsignedBytes.

Enabled
Es verdadero si el bluetooth está activo

HighByteFirst
Si los números de 2 y 4 bytes deben ser enviados y recibidos con el byte más significativo primero. Esta configuración se conoce como big-endian. Consulte la documentación del dispositivo con el que su aplicación se comunicará para programar la configuración adecuada. 

IsConnected
Informa sobre si una conexión Bluetooth se ha establecido.

Secure

Para invocar SSP (Secure Pairing simple), que es compatible con dispositivos con Bluetooth v2.1 o superior. Cuando se trabaja con dispositivos Bluetooth integrados, esta propiedad se establece a False. Para Android 2.0-2.2, se ignorará esta propiedad.

Eventos

ninguno

Métodos

number BytesAvailableToReceive()
Devuelve una estimación del número de bytes que se pueden recibir sin bloqueo

boolean Connect(text address)
Conecte el dispositivo Bluetooth con la dirección especificada y el Serial Port Profile (SPP). Devuelve true (verdadero) si la conexión se ha realizado correctamente. El parámetro address puede contener caracteres adicionales después de la dirección MAC si hay un espacio inmediatamente después de la dirección MAC. Se puede pasar un elemento de la lista devuelta por la propiedad AddressesAndNames sin dividir, aparte de la dirección y el nombre.


Notas: 
  • address corresponde a la dirección MAC del dispositivo remoto. Para realizar la conexión Bluetooth, necesitará la dirección Bluetooth única del dispositivo, que está compuesta de ocho números hexadecimales de 2 dígitos separados por dos puntos (:). 
  • Según algunas fuentes, después de conectar hay que enviar una cadena de texto para afianzar la conexión. Yo, por mi experiencia, no es necesario. 



boolean ConnectWithUUID(text address, text uuid)
Conecte el dispositivo Bluetooth con la dirección y UUID especificados. Devuelve true (verdadero) cuando la conexión se ha realizado correctamente. El parámetro de dirección puede contener caracteres adicionales después de la dirección MAC si hay un espacio inmediatamente después de la dirección MAC. Se puede pasar un elemento de la lista devuelta por la propiedad AddressesAndNames sin dividir, aparte de la dirección y el nombre.

Disconnect()
Desconecta el dispositivo Bluetooth conectado.

boolean IsDevicePaired(text address)
Comprueba si el dispositivo Bluetooth con la dirección especificada (MAC) está vinculado. No es válido compararlo con la propiedad AddressesAndNames

number ReceiveSigned1ByteNumber()
Usado para recibir un entero con signo de 1 byte desde el dispositivo Bluetooth conectado.

number ReceiveSigned2ByteNumber()
Usado para recibir un entero con signo de 2 bytes desde el dispositivo Bluetooth conectado.

number ReceiveSigned4ByteNumber()
Usado para recibir un entero con signo de 4 byte desde el dispositivo Bluetooth conectado.

list ReceiveSignedBytes(number numberOfBytes)
Usado para recibir múltiples bytes con signo desde el dispositivo Bluetooth conectado. Si numberOfBytes es menor que 0 (negativo), lee bytes hasta que se recibe el byte delimitador establecido por DelimiterByte.

text ReceiveText(number numberOfBytes)
Usado para recibir mensajes de texto desde el dispositivo Bluetooth conectado. Si numberOfBytes es menor que 0 (negativo), lee bytes hasta que se recibe el byte delimitador establecido por DelimiterByte.

Ejemplo para recibir un texto a través del módulo de bluetooth:



number ReceiveUnsigned1ByteNumber()
Usado para recibir un entero sin signo de 1 byte desde el dispositivo Bluetooth conectado.

number ReceiveUnsigned2ByteNumber()
Usado para recibir un entero sin signo de 2 bytes desde el dispositivo Bluetooth conectado.

number ReceiveUnsigned4ByteNumber()
Usado para recibir un entero sin signo de 4 bytes desde el dispositivo Bluetooth conectado.

list ReceiveUnsignedBytes(number numberOfBytes)
Usado para recibir múltiples bytes sin signo desde el dispositivo Bluetooth conectado. Si numberOfBytes es menor que 0 (negativo), lee bytes hasta que se recibe el byte delimitador establecido por DelimiterByte.

Send1ByteNumber(text number)
Usado para enviar un número de 1 byte con el dispositivo Bluetooth conectado.

Send2ByteNumber(text number)
Usado para enviar un número de 2 bytes en el dispositivo Bluetooth conectado.

Send4ByteNumber(text number)
Usado para enviar un número de 4 bytes en el dispositivo Bluetooth conectado.

SendBytes(list list)
Usado para enviar una lista de valores de bytes al dispositivo Bluetooth conectado.

SendText(text text)
Usado para enviar un mensaje de texto al dispositivo Bluetooth conectado.

App

He creado una aplicación que muestra, con la ayuda de un ListPicker y otros elementos, las propiedades de una conexión Bluetooth utilizando el cliente de App Inventor 2:




Código utilizado:

Para añadir los dispositivos vinculados por bluetooth del dispositivo android:



Para conectar con el dispositivo seleccionado con el ListPicker:



Para mostrar los datos de la conexión bluetooth:


Puedes descargar las fuentes del programa aquí

Fuente: 

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.