Java串口访问控制短信猫发送短信实例 .
2013-04-10 12:36
309 查看
//注意手机号码要奇偶移位 1369... -> 3196...
import gnu.io.*;
import java.util.*;
import java.io.*;
public class CommTest
{
static CommPortIdentifier portId;
static Enumeration portList;
static int bauds[] = { 9600,115200 ........};
public static void main(String[] args)
{
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements())
{
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)
{
System.out.println("Found port: " + portId.getName());
for (int i = 0; i < bauds.length; i++)
{
System.out.println("Trying at " + bauds[i] + "...");
SerialPort serialPort = null;
try
{
InputStream inStream;
OutputStream outStream;
int c;
String response;
serialPort = (SerialPort) portId.open("SMS", 2000);
serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN);
serialPort.setSerialPortParams(bauds[i], SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
inStream = serialPort.getInputStream();
outStream = serialPort.getOutputStream();
serialPort.enableReceiveTimeout(1000);
c = inStream.read();
while (c != -1) c = inStream.read();
outStream.write('A');
outStream.write('T');
outStream.write('/r');
try { Thread.sleep(1000); } catch (Exception e) {}
response = "";
c = inStream.read();
while (c != -1)
{
response += (char) c;
c = inStream.read();
}
if (response.indexOf("OK") >= 0)
{
try
{
System.out.println("Getting Info...");
outStream.write("AT+CMGF=0/r".getBytes());
getReply(inStream);
outStream.write("AT+CMGS=19/r".getBytes());
getReply(inStream);
outStream.write(("0011000D9168XXXXXXXXXXXF90008AA044F60597D"+(char)0x1a).getBytes());
getReply(inStream);
}
catch (Exception e)
{
e.printStackTrace();
}
}
else{
System.out.println("短信猫状态错误!"+response);
}
}
catch (Exception e)
{
System.out.println(" Nobody here!");
}
finally{
serialPort.close();
}
}
}
}
}
private static void getReply(InputStream inStream){
try {
String response="";
int c = inStream.read();
while (c != -1)
{
response += (char) c;
c = inStream.read();
}
System.out.println("Reply:" + response.replaceAll("/n", " "). replaceAll("/r", ""));
} catch (IOException e) {
e.printStackTrace();
}
}
}
import gnu.io.*;
import java.util.*;
import java.io.*;
public class CommTest
{
static CommPortIdentifier portId;
static Enumeration portList;
static int bauds[] = { 9600,115200 ........};
public static void main(String[] args)
{
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements())
{
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)
{
System.out.println("Found port: " + portId.getName());
for (int i = 0; i < bauds.length; i++)
{
System.out.println("Trying at " + bauds[i] + "...");
SerialPort serialPort = null;
try
{
InputStream inStream;
OutputStream outStream;
int c;
String response;
serialPort = (SerialPort) portId.open("SMS", 2000);
serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN);
serialPort.setSerialPortParams(bauds[i], SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
inStream = serialPort.getInputStream();
outStream = serialPort.getOutputStream();
serialPort.enableReceiveTimeout(1000);
c = inStream.read();
while (c != -1) c = inStream.read();
outStream.write('A');
outStream.write('T');
outStream.write('/r');
try { Thread.sleep(1000); } catch (Exception e) {}
response = "";
c = inStream.read();
while (c != -1)
{
response += (char) c;
c = inStream.read();
}
if (response.indexOf("OK") >= 0)
{
try
{
System.out.println("Getting Info...");
outStream.write("AT+CMGF=0/r".getBytes());
getReply(inStream);
outStream.write("AT+CMGS=19/r".getBytes());
getReply(inStream);
outStream.write(("0011000D9168XXXXXXXXXXXF90008AA044F60597D"+(char)0x1a).getBytes());
getReply(inStream);
}
catch (Exception e)
{
e.printStackTrace();
}
}
else{
System.out.println("短信猫状态错误!"+response);
}
}
catch (Exception e)
{
System.out.println(" Nobody here!");
}
finally{
serialPort.close();
}
}
}
}
}
private static void getReply(InputStream inStream){
try {
String response="";
int c = inStream.read();
while (c != -1)
{
response += (char) c;
c = inStream.read();
}
System.out.println("Reply:" + response.replaceAll("/n", " "). replaceAll("/r", ""));
} catch (IOException e) {
e.printStackTrace();
}
}
}
相关文章推荐
- java多线程的共享变量访问控制实例
- 利用短信猫发送短信的Java代码
- java 免费发送短信实例程序
- Java版阿里云通信短信发送API接口实例(新)
- java调用C# webservice短信猫发送短信
- 用java通过串口发送短信,并且部署到tomcat
- 用 Java 通过串口发送手机短信(一)环境安装设置
- 用 Java 通过串口发送手机短信(二)简单使用
- linux下用java通过串口连接手机或短信猫发送中文短信的方法
- java后台调用短信接口,实现发送短信验证码的控制层实现
- java发送短信实例
- 关于串口控制GTM900C模块发送短信内容与长度
- 短信猫基于HTTP协议发送短信可JAVA调用
- 用Java通过串口发送手机短信
- java实现短信猫发送短信
- Java使用短信猫发信息(向串口发送AT指令)
- java调用短信api接口发送短信demo实例
- Java串口访问控制短信猫发送短信实例
- java使用smslib连接短信猫发送短信代码分享
- Java版阿里云通信短信发送API接口实例(新)