JAVA开发包功能简介
TerrySMS for Java 是用JAVA控制GSM Modem实现短信收发功能的开发包。利用TerrySMS可以实现跨平台的短信发送,目前支持windowsXP、2000、2003、Linux等操作系统。是实现业务系统和短信系统嫁接的理想工具。
JAVA开发包功能介绍
1、目前主要支持Wavecom系列和Simemens系列产品,
支持M1206B、 M1306B、WMOD2 Wismo、 MC35i、M35、 M50、 M65、 C45、TC35i、 C65
2、同时支持PDU和TEXT协议。
3、支持短信发送和短信接收。
4、支持7bit, 8bit and UCS2 (Unicode) 短信编码格式。
5、支持超长短信。
6、支持闪信。
7、支持WAP PUSH 发送。
8、支持状态报告。
9、支持 GSM Modem设备状态显示
10、可同时支持多个不同或者相同GSM Modem设备,在多个设备之间可以自动均衡路由发送。
11、支持短信优先级设定。
12、通过短信队列支持同步、异步接收和发送短信。
使用介绍
1、下载JDK1.4.2 或者更高版本进行安装。
2、解压缩TerrySMS 压缩软件包:
Jar是运行所需要的所有的jar文件。
Terrysms-3.1-RC1.jar:短信开发调用API
comm.jar :串口调用
commons-net-1.4.1.jar:网络API
log4j-1.2.15.jar :log API
RXTXcomm.jar : linux 系统 串口调用API
Lib 目录下:
Win32com.dll : windows下的串口驱动
javax.comm.properties:? 串口驱动属性文件
LibrxtxSerial.so : linux 下的串口驱动
Zip目录下:
2个串口驱动zip压缩包。如果您的操作系统不是windows或者linux,请从中选取合适的驱动。
CommTest.java:GSM设备串口连接测试。主要看连接到哪个串口,连接速率检测。
ReadMessages.java:读取SIM上所有收到的短信。
SendMessage.java:发送短信。
TerrySMS开发包在Windows系统上的安装步骤:
TerrySMS-v3.1.zip 可以解压到任何一个目录下。以下以解压到C:\为例。
1、把jar目录下的文件包全部复制到 jdk1.4.2\jre\lib\ext目录下。
2、把lib 目录下的文件win32comm.dll复制到 jdk1.4.2\jre\bin目录下。
3、把lib目录下的文件javax.comm.properties复制到 jdk1.4.2\jre\lib目录下。
4、在系统环境变量中设置PATH路径,加入 jdk1.4.2\bin。
5、运行端口测试程序 。
TerrySMS开发包在linux系统上的安装步骤:
把lib 目录下的文件LibrxtxSerial.so复制到 jdk1.4.2\jre\lib\i386目录下。其它步骤参考windows安装步骤。
示例代码(以下是连接COM口及发送短信的部分代码)
// SendMessage.java - Sample application.
//
// This application shows you the basic procedure for sending messages.
// You will find how to send synchronous and asynchronous messages.
//
// For asynchronous dispatch, the example application sets a callback
// notification, to see what's happened with messages.
package examples.modem;
import org.smslib.*;
import org.smslib.modem.*;
public class SendMessage
{
public void doIt() throws Exception
{
Service srv;
OutboundMessage msg;
OutboundNotification outboundNotification = new OutboundNotification();
System.out.println("Example: Send message from a serial gsm modem.");
System.out.println(Library.getLibraryDescription());
System.out.println("Version: " + Library.getLibraryVersion());
srv = new Service();
SerialModemGateway gateway = new SerialModemGateway("modem.com4", "COM4", 9600, "SIEMENS", "TC35");
gateway.setInbound(true);
gateway.setOutbound(true);
gateway.setSimPin("0000");
gateway.setOutboundNotification(outboundNotification);
srv.addGateway(gateway);
srv.startService();
System.out.println();
System.out.println("Modem Information:");
System.out.println(" Manufacturer: " + gateway.getManufacturer());
System.out.println(" Model: " + gateway.getModel());
System.out.println(" Serial No: " + gateway.getSerialNo());
System.out.println(" SIM IMSI: " + gateway.getImsi());
System.out.println(" Signal Level: " + gateway.getSignalLevel() + "%");
System.out.println(" Battery Level: " + gateway.getBatteryLevel() + "%");
System.out.println();
// Send a message synchronously.支持长短信
msg = new OutboundMessage("13798361236", "消息称,这一系列户籍管理制度改革措施,集中解决了三线艰苦地区和部分特殊行业干部职工长期两地分居问题,实行了农民自理口粮进入集镇落户,改革了暂住人口登记管理办法,启动并全面推进了小城镇户籍管理制度改革;调整了大中城市和西部地区的户口迁移政策,强化了农村户口城市化管理。同时,按照“公平对待,搞好服务,合理引导,完善管理”的原则,不断强化流动人口治安管理、权益保护和服务工作。这改变了长期以来颁发场所治安许可证和特种行业许可证的工作模式,把管理的重点从事前审批调整为事中监督和事后查处并重");
msg.setEncoding(MessageEncodings.ENCUCS2);
srv.sendMessage(msg);
System.out.println(msg);
System.out.println("Now Sleeping - Hit <enter> to terminate.");
System.in.read();
srv.stopService();
}
public class OutboundNotification implements IOutboundMessageNotification
{
public void process(String gatewayId, OutboundMessage msg)
{
System.out.println("Outbound handler called from Gateway: " + gatewayId);
System.out.println(msg);
}
}
public static void main(String args[])
{
SendMessage app = new SendMessage();
try
{
app.doIt();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}