¡Esta es una revisión vieja del documento!




Bluetooth


Funcionalidades Implementadas Descripción
Buscar Dispositivos Busca los dispositivos disponibles para conectar.
Seleccionar Dispositivo Permite seleccionar dispositivo para conectar, devuelto por bluetoothSerial.getDiscoverableBluetoothDevices() y mostrado en lista de dispositivos disponibles.
Conectar y escribir en puerto serie. Permite escribir en puerto serie del dispositivo previamente conectado.
Conectar y leer en puerto serie. Permite leer en puerto serie del dispositivo previamente conectado.
Conectar y leer en puerto serie. Recordar dispositivo Conecta sin parámetros, permite leer y recordará el último dispositivo que se seleccionó.
Conectar y escribir en puerto serie. Recordar dispositivo Conecta sin parámetros, permite escribir y recordará el último dispositivo que se seleccionó.
Conectar Chat Permite conexión simulando Chat entre dispositivos conectado por bluetooth
Desconectar Chat Cierra Chat previamente inicializado por bluetooth.
Enviar texto Envía diálogo, cadena de texto entre dispositivos conectados por el bluetooth simulando Chat


Ejemplos de funciones y uso:

function buscarDispositivos() {
	ui.showWaitDialog();
	try {
		let lstDevices = bluetoothSerial.getDiscoverableBluetoothDevices();
		if (lstDevices === null) {
			ui.showToast("No se encontraron dispositivos Bluetooth visibles");
		} else {
			let sMessage = "";
			for (let i = 0; i < lstDevices.length;i++) {
				let bluetoothDevice = lstDevices[i];
				if (i !== 0) {
				    sMessage = sMessage + "\n";
				}
				sMessage = sMessage + bluetoothDevice.getDeviceName() + " " + bluetoothDevice.getMacAddress() + " " + bluetoothDevice.getRssi() + "dBm";
			}
			ui.msgBox(sMessage, "Mensaje", 0);
		}
	} finally {
		ui.hideWaitDialog();
	}
}
 
function seleccionarDispositivo() {
	ui.showWaitDialog();
	try {
		bluetoothSerial.selectBluetoothDevice();
	} finally {
		ui.hideWaitDialog();
	}
}
 
function escribirPuertoSerie() {
	ui.showWaitDialog();
	try {
		let bluetoothDevice = null;
		let lstDevices = bluetoothSerial.getDiscoverableBluetoothDevices();
		if (lstDevices === null) {
			ui.showToast("No se encontraron dispositivos Bluetooth visibles");
		} else {
			for (let i = 0; i < lstDevices.length;i++) {
				bluetoothDevice = lstDevices[i];
				if (bluetoothDevice.getDeviceName() == "zebramz") {
					break;
				} else {
					bluetoothDevice = null;
				}
			}
		}
		if (bluetoothDevice === null) {
			throw "No se encontró el dispositivo zebra";
		}
		bluetoothSerial.connect(bluetoothDevice.getMacAddress());
		bluetoothSerial.write("hola que tal");
		bluetoothSerial.disconnect();
	} finally {
		ui.hideWaitDialog();
	}
}
 
function leerPuertoSerie() {
	ui.showWaitDialog();
	try {
		let bluetoothDevice = null;
		let lstDevices = bluetoothSerial.getDiscoverableBluetoothDevices();
		if (lstDevices === null) {
			ui.showToast("No se encontraron dispositivos Bluetooth visibles");
		} else {
			for (let i = 0; i < lstDevices.length;i++) {
				bluetoothDevice = lstDevices[i];
				if (bluetoothDevice) {
					if (bluetoothDevice.getDeviceName() == "zebramz") {
						break;
					} else {
						bluetoothDevice = null;
					}
				}
			}
		}
		if (bluetoothDevice === null) {
			throw "No se encontró el dispositivo zebra";
		}
		bluetoothSerial.connect(bluetoothDevice.getMacAddress());
		bluetoothSerial.write("! U1 getvar \"appl.date\"\r\n");
		bluetoothSerial.sleep("300");
		let buffer = bluetoothSerial.read(10);
		bluetoothSerial.disconnect();
		ui.showToast("El buffer vale: " + buffer);
	} finally {
		ui.hideWaitDialog();
	}
}
 
function leerPuertoSerieRecordarDispositivo() {
	ui.showWaitDialog();
	try {
		//Connect sin parámetros recordará el último dispositivo que se seleccionó
		bluetoothSerial.connect();
		bluetoothSerial.write("! U1 getvar \"appl.date\"\r\n");
		bluetoothSerial.sleep("300");
		let buffer = bluetoothSerial.read(10);
		bluetoothSerial.disconnect();
		ui.showToast("El buffer vale: " + buffer);
	} finally {
		ui.hideWaitDialog();
	}
}
 
function escribirPuertoSerieRecordarDispositivo() {
	ui.showWaitDialog();
	try {
		//Connect sin parámetros recordará el último dispositivo que se seleccionó
		bluetoothSerial.connect();
		bluetoothSerial.write("hola que tal");
		bluetoothSerial.sleep("3000");
		bluetoothSerial.disconnect();
	} finally {
		ui.hideWaitDialog();
	}
}
 
function connectChat() {
    ui.showWaitDialog("Conectando...");
    try {
        bluetoothSerial.setTimeout(10000);
    	bluetoothSerial.connect();
    	ui.showSnackbar("Conectado");
    } finally {
		ui.hideWaitDialog();
	}
}
 
function disconnectChat() {
    ui.showWaitDialog("Desconectando...");
    try {
    	bluetoothSerial.disconnect();
    	ui.showSnackbar("Desconectado");
    } finally {
		ui.hideWaitDialog();
	}
}
 
function sendChat() {
    if (!self.MAP_TEXTO) {
        return;
    }
    ui.showWaitDialog("Enviando...");
    try {
        bluetoothSerial.write(self.MAP_TEXTO);
        let sResponse = bluetoothSerial.read();
        if (!sResponse) {
            throw "No hubo respuesta";
        }
        self.MAP_CHAT = self.MAP_CHAT + "\n" + sResponse;
        ui.refreshValue("MAP_CHAT");
    } finally {
		ui.hideWaitDialog();
	}
}

Más referencias:BluetoothSerialPort