Red de conocimiento informático - Espacio del host - Cómo implementar el programa J2ME del teléfono móvil para comunicarse con el módulo Bluetooth a través del protocolo. Es decir, utiliza tu teléfono para enviar datos al módulo Bluetooth y luego al microcontrolador. Sin puntos

Cómo implementar el programa J2ME del teléfono móvil para comunicarse con el módulo Bluetooth a través del protocolo. Es decir, utiliza tu teléfono para enviar datos al módulo Bluetooth y luego al microcontrolador. Sin puntos

Utilice j2me para implementar el protocolo SPP para conectar, emparejar y enviar datos. El módulo Bluetooth se conecta al microcontrolador a través del puerto serie.

importar java.io.DataInputStream;

importar java.io.DataOutputStream

importar java.io.IOException; java.util.

importar java.util.

importar javax.microedition.lcdui.*;

importar javax.microedition.midlet.MIDletStateChangeException

p>

la clase pública BtSppMid extiende MIDlet implementa Runnable, CommandListener, ItemCommandListener {

cliente público StreamConnection = null

//flujo de datos Bluetooth SPP

public DataInputStream dis = null;

public DataOutputStream dos = null

public boolean running //hilo en ejecución

visualización de visualización pública; = null;

ejecución booleana pública; // indicador de ejecución del hilo

pantalla pública display = null

p>

formulario público = nuevo formulario; ("JB00 Bluetooth suite");

Comando privado cmdSalir = nuevo Comando("Salir", Comando. SALIR,

Comando privado cmdSalir = nuevo Comando("Salir"); , Command.SCREEN, 1); //Detener la búsqueda de dispositivos Bluetooth

comando privado cmdOK = new Command("OK", Command.OK, 1 //Conectarse al servicio SPP del dispositivo); después de encontrar el dispositivo

comando público cmdConnect = new Command("Connect", Command.ITEM, 1 public void sendDataToBluetooth(String data)

{

pruebe

{

dos.write(data.getBytes());

dos.flush()

} captura. (IOException e)

{

e.printStackTrace()

}

}

}

}

}

// Descubrimiento de dispositivos Bluetooth y procesamiento de descubrimiento de servicios

clase MyDiscoveryListener implementa DiscoveryListener {

Midlet BtSppMid;

MyDiscoveryListener público (midlet BtSppMid) {

this.midlet = midlet;

}

public MyDiscoveryListener(BtSppMid midlet) {

this.

dispositivo vacío público descubierto (RemoteDevice btDevice, DeviceClass cod) {

String name = null;

Después de mostrarlo como StringItem en la pantalla, agregue el comando y guárdelo en el vector

tmpItem = new StringItem(null, nombre);

midlet.

midlet.devItem.addElement(tmpItem);

midlet.form.append(( ( StringItem)midlet.devItem.lastElement());

midlet.devices.addElement(btDevice);

}

consulta de anulación pública completada (int discType) {

for(int i=0; ilt; midlet.devices.size(); i )

{

StringItem si = (StringItem)midlet. addElement (adr);

} catch (IOException e) {

}

si.setText(name); //Establece StringItem como nombre del dispositivo< / p>

}

midlet.form.append("/nBúsqueda completa./n");

for(int i=0; ilt; midlet.devItem. tamaño (); i )tamaño(); i )

{

StringItem si = (StringItem)midlet.devItem.elementAt(i);

si . setDefaultCommand(midlet.cmdConnect); //agrega comandos de conexión para cada dispositivo

si.

public void servicesDiscovered(int transID, ServiceRecord[] servRecord) {

if (servRecord.length gt; -1)

{

for(int i = 0; i lt; servRecord.

{

midlet.services.addElement(servRecord [i]);

midlet.form.append(servRecord[i].toString() "/n");

}

}

else{

midlet.form.append("¡No se encontró ningún servicio! /n");

}

}

pub

lic void serviceSearchCompleted(int transID, int ResponseCode) {

midlet.form.append( ResponseCode " es el resultado de la búsqueda./n");

}

}

}

}

}