# GSM Modem an Serial Port ansteuern (AT commands)



## jaco89 (20. Aug 2009)

Hallo Leute,

Folgendes:
Ich bin momentan dabei ein Java Programm zu schreiben um mit einem GSM Modem durch AT-Befehle zu kommunizieren (über eine serielle Schnittstelle -> COM3).
Letztendlich will ich dann die "Antwort" des Modems in eine .txt speichern.

Mein Code:

```
import gnu.io.*;
import java.io.*;

public class test2 {

	public static void main(String[] s) {
		try {
			CommPortIdentifier portIdentifier = CommPortIdentifier
					.getPortIdentifier("COM3");
			if (portIdentifier.isCurrentlyOwned()) {
				System.out.println("Port nicht verfügbar!");
			} else {
				System.out.println(portIdentifier.getName());

				SerialPort serialPort = (SerialPort) portIdentifier.open(
						"ListPortClass", 9600);
				int b = serialPort.getBaudRate();
				System.out.println("Baudrate=" + Integer.toString(b));
				serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8,
						SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
				OutputStream mOutputToPort = serialPort.getOutputStream();
				InputStream mInputFromPort = serialPort.getInputStream();
				String befehl = "AT#CSURV\r";
				System.out.println("Schreiben...  \r\n");
				mOutputToPort.write(befehl.getBytes());
				System.out.println("AT Befehl geschrieben \r\n");
				mOutputToPort.flush();
				System.out.println("Warten auf Antwort... \r\n");
				Thread.sleep(500);
				byte antwort[] = new byte[200];
				mInputFromPort.read(antwort);
				mInputFromPort.read(antwort);
				String value = new String(antwort);
				System.out.println("Anwort Port: " + value);
				mOutputToPort.close();
				mInputFromPort.close();
				
				String result  = new String(value);
		        BufferedWriter out = new BufferedWriter(new FileWriter("C:/File.txt"));
		        out.write(result);
		        out.close();
		         
		        serialPort.close();

			}
		} catch (Exception ex) {
			System.out.println("Exception : " + ex.getMessage());
		}

	}
}
```

Das ganze führ ich momentan durch Eclipse in Windows aus.
Mein Problem liegt jetzt daran, dass meistens unterschiedliche Ausgaben kommen.
Mal wird die Antwort des Modems gar nicht ausgegeben, mal nur eine Zeile,...:toll:

Weiß jmd von euch an was das liegen könnte?

Vielen Dank schonmal,
Matthias


----------



## javvb (2. Sep 2009)

Kannst Du mir sagen wo ich das bei Eclipse einstellen kann?


----------



## jaco89 (3. Sep 2009)

Also das Problem hab ich inzwischen gelöst; 
funktioniert alles einwandfrei 

Was genau meinst du mit einstellen?


----------

