You are on page 1of 12

LabVIEW / Android comm a través de bluetooth (serie) utilizando

LabVIEW

Descripción general
Un ejemplo simple de cómo enviar cadenas a un teléfono Android desde
LabView a través de bluetooth. Se necesita un puerto COM serie para ser
asignado al adaptador bluetooth (puerto COM entrante).

Descripción
En algunos casos, WIFI no es una opción, por lo que no podemos usar las
características agradables de NI Data Dashboard, etc. Este fue el caso de
nuestro laboratorio: wifi está restringido, pero se puede usar bluetooth. Por lo
tanto, traté de encontrar una solución para recibir datos de mi aplicación
LabView en mi dispositivo Android. He encontrado un buen tutorial sobre cómo
programar bluetooth en MIT App Inventor 2 ( http://ai2.appinventor.mit.edu )
aquí: http://puravidaapps.com/btchat.php . Proporcionó un buen punto de
partida para desarrollar una aplicación de este tipo para Android.
Aquí comparto una aplicación de bluetooth simple para dispositivos Android
(probada en Nexus7 y Motorola MotoX) para poder recibir datos enviados
desde LabView utilizando VISA en serie. El reloj del cliente de Android está
configurado a 250 ms (consulte el archivo fuente de Aia), por lo que no envíe
datos desde LV a más de 500-1000 ms. No tuve tiempo para experimentar con
el ancho de banda (velocidad en baudios, etc.), para intentar una transferencia
de datos más rápida.
Este ejemplo puede extenderse para tener también comunicación de Android a
LabView, requiere programar la función de envío de bluetooth en la aplicación
de Android y la parte de lectura de VISA en el lado de LabView (funciona,
probado).

Requerimientos
Software:
LabVIEW 2012 (o compatible)

Pasos para implementar o ejecutar código

1. Ver la lista en el fragmento.

Información adicional o referencias


Diagrama de bloques VI
** Este documento se ha actualizado para cumplir con el formato requerido
actual para el intercambio de códigos de NI. **
App Inventor y el
componente Bluetooth
 Aplicaciones Pura Vida

 Fragmentos

 Tutoriales

 Extensiones

 Campo de golf

 Buscar

 Política de privacidad

 Contacto

Un simple chat de Bluetooth


con la aplicación Inventor 2
Este ejemplo de App Inventor 2 se basa en los siguientes 2 ejemplos:

 Ejemplo de chat de Bluetooth de JWTyler, revisado por Liz Looney , y


 Ejemplo de chat de Bluetooth de Shival Wolf (desafortunadamente esta página ya
no está disponible), ambas creadas con App Inventor Classic.
Ahora traté de configurar un ejemplo de App Inventor 2 tan simple como sea
posible. Como en los otros ejemplos, los módulos de cliente y servidor de bluetooth se
utilizan para crear una sesión de chat. Ambos componentes están en la misma
aplicación. El componente del cliente se utilizará para el dispositivo que inicia la
conexión, el componente del servidor se utilizará para el dispositivo que acepta la
conexión. Los dispositivos deben haber sido emparejados primero. No hay búsqueda de
clientes de chat disponibles. El ejemplo solo funciona para enviar mensajes entre 2
dispositivos.

Capturas de pantalla
Si tiene preguntas sobre App Inventor,
pregunte en el foro de App Inventor. Gracias.

App Inventor Blocks


Inicialización
Establezca el apodo en un nombre de usuario aleatorio, inicialización general.
El procedimiento de impresión imprimirá el texto actual en la etiqueta, mientras que el
texto anterior se desplazará hacia abajo.

Cliente: Connect
En el evento listpicker.BeforePicking , el listpicker se inicializará con las direcciones
MAC y los nombres de los dispositivos emparejados disponibles. Después de
seleccionar una dirección MAC, el módulo del servidor dejará de escuchar nuevas
solicitudes de conexión. En la pantalla se mostrará el título "Rol = Cliente".

El procedimiento conectado (parámetro = verdadero) habilitará el botón Enviar,


deshabilitará el selector de lista Conectar, iniciará el Reloj y habilitará el botón
Desconectar.
Servidor: conexión aceptada
Si la aplicación recibe una solicitud de conexión, la acepta. En este caso, en la pantalla
se mostrará el título "Role = Server".

Temporizador: comprobar si se han enviado nuevos


mensajes
Cada segundo será revisado, si se ha recibido algún texto. En caso afirmativo, se
mostrará en la etiqueta de resultados. Dependiendo del rol = servidor o cliente, se deben
usar diferentes bloques.

Desconectar
El procedimiento conectado (parámetro = falso) deshabilitará el botón Enviar,
habilitará el selector de lista Conectar, detendrá el componente Reloj y deshabilitará el
botón Desconectar.
Otros bloques utilizados
El bloque Screen.ErrorOccurred detecta errores y los muestra en la etiqueta de

resultado.

Prueba
Probado con éxito en HTC Desire con Android 2.2 y Samsung Galaxy Tab 10.1N con
Android 3.2.

Problemas conocidos
 Al intentar conectarse, tanto el cliente como el servidor muestran un "Error 509
Aceptar conexión: no se puede aceptar una conexión desde un dispositivo
Bluetooth". Este mensaje puede ser ignorado.
 Por lo que puedo ver, después de que el cliente o el servidor se desconectaron, no
existe la posibilidad de que el interlocutor del chat vea que la conexión se ha
ido. Por lo tanto, actualmente se mostrará un "Error 516: No se puede escribir: la
conexión restablecida por el par" después de intentar enviar un texto sin conexión.
 A veces, "Error 507: No se puede conectar. ¿Está encendido el
dispositivo?" aparece mientras intenta conectarse.

Preguntas y respuestas
P1 : Mi problema es conectar el dispositivo Android de manera que la PC piense que es
un teclado BT (tengo uno real que funciona y sé cómo emparejar dispositivos) y recibe
pulsaciones de teclas que finalmente van a los procesadores de texto, etc.
A : Vea este hilo y use PC Wedge y Datasnip serial para redireccionar en su PC con
Windows.

P2 : Necesito crear múltiples conexiones Bluetooth a múltiples dispositivos para


implementar una "sala de chat". No sé cómo hacerlo?
UNA: El componente Bluetooth de App Inventor solo ofrece comunicación entre 2
dispositivos. Podría usar varios componentes de servidor y cliente Bluetooth, pero esto
será muy engorroso. Para una sala de chat, por lo tanto, le recomiendo que use el
componente web en su lugar, vea también mi demostración de chat con App Inventor 2
y PubNub .

You might also like