I've got the problem that I can send data via Bluetooth from the PC to the NXT but not from the NXT to the PC.
I wrote a little programm to describe my problem:
NXT:
Code: Select all
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import lejos.nxt.Button;
import lejos.nxt.LCD;
import lejos.nxt.comm.BTConnection;
import lejos.nxt.comm.Bluetooth;
import lejos.nxt.comm.NXTConnection;
public class BluetoothTest {
	public static void main(String[] args) {
		LCD.drawString("waiting for BT", 0, 0);
		BTConnection btc = Bluetooth.waitForConnection(10000,NXTConnection.RAW);
		LCD.clear();
		LCD.drawString("connected", 0, 0);
		DataInputStream dis = btc.openDataInputStream();
		DataOutputStream dos = btc.openDataOutputStream();
		LCD.drawString("read...", 0, 3);
		int i=-2;
		try {
			i = dis.readInt();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		try {
			dos.writeInt(i);
			dos.flush();
		} catch (IOException e){
			e.printStackTrace();
		}
		LCD.drawString("send", 0, 4);
		
		Button.waitForAnyPress();
	}
}
Code: Select all
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import lejos.pc.comm.NXTConnector;
public class BluetoothTest {
	public static void main(String[] args) {
		System.out.println("Connecting");
		NXTConnector conn = new NXTConnector();
		if (!conn.connectTo("btspp://"))
			System.out.println("Connection failed");
		DataInputStream dis = new DataInputStream(conn.getInputStream());
		DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
		System.out.println("send...");
		try {
			dos.writeInt(1234);
			dos.flush();
		} catch (IOException e) {
			System.out.println("error while sending");
			e.printStackTrace();
		}
		System.out.println("read...");
		try {
			int i = dis.readInt();
			System.out.println(i);
		} catch (IOException e) {
			System.out.println("error while reading");
			e.printStackTrace();
		}
	}
}
Can anybody help me please?
Thank you.