Saturday, May 10, 2014

Why i m not receiving correctly the SMS over length of more the a page Using AT Comma


i m working on the SMS receiving using AT Commands using JAVA. i m getting the message of one page correctly using AT commands, but as i increase the size of SMS as 2, 3 or bigger pages the alphabets are converted to some thing like this


+CMGL: 0,"REC UNREAD","+923028910082",,"14/05/10,19:32:40+20"

4469616C202A3334352A393333232061757220536972662052 732E3230206D65696E20332064696E206B6120696E7465726E 65742028333030204D422920686173696C206B6172656E2120 7777772E776170747269636B2E636F6D2070657220736F6E67 73206175722067616D657320656E6A6F79206B6172656E2120 42616C616E636520636865636B206B206C7965202A39393923 206D69


whats the problem i m not getting the right text which i have sent through my mobile phone.

please help me out it very urgent


my function of receiving SMS is as follows


public void send(String cmd) {

try {

outputStream.write(cmd.getBytes());

} catch (IOException e) {

e.printStackTrace();

}

}

public void recieveMessage() throws InterruptedException, IOException{


send("AT+CMGF=1\r"); //send ok if suport txt msg

Thread.sleep(100);


send("AT+CMGL=\"REC UNREAD\"\r"); //return list mesgs received on gsm modem


byte[] readBuffer = new byte[2048];

try {


InputStream inputStrea = null;

inputStrea=serialPort.getInputStream();

int numBytes = inputStrea.read(readBuffer);


//print response message

String st=new String(readBuffer);

st=st.trim();


System.out.println(st);


setRecieveMsg(st);

} catch (IOException e) {

}

send("AT+CMGD=1,4\r");

}



No comments:

Post a Comment