|
JAVA例子安装说明文档
如何安装
串口包使用的是 RxTx
包,支持
Unix / Linux / Solaris / MacOS
等操作系统。
备注:白色狗要和JAVA包同时使用
前提:
请先正确的配置JAVA工作系统,设置好JAVA环境变量。JDKDIR
为
环境变量中JAVA_HOME中设置的目录文件配置部分:(以WINDOWS系统为例)
1)
复制文件
RXTXcomm.jar
到
JDKDIR/jre/lib/ext/.
2)
复制文件
rxtx-2.1-7-bins-r2\rxtx-2.1-7-bins-r2\Windows\i368-mingw32中的rxtxSerial.dll
到
JDKDIR/jre/lib/.
3)
复制文件
JET99AI20.dll和FT_ET99_API.dll到系统目录下(windows/system32)
4)复制文件
log4j.jar和SZHTOGsm.jar文件,到
JDKDIR/jre/lib/ext/.
4)
如不需要系统日志,请将smslib-log.conf拷贝到classpath中,这个文件符合log4j标准配置,可以根据自己需要调整.
程序应用部分:(以Eclipse为例)
1)
新建一个Project:
File -> new ->
project ->选Java
Project后点Next
->
输入工程名称(SMSTest)(最好选中Project
layout中的Create
separate source and output folders以便创建一个源文件目录夹)
->
点Finish
.
这样就建立了一个名为SMSTest的JAVA工程
2)
把文件“SampleClass惠通(java开发实例_加密狗).java”
改个名(如SampleClass.java),并拷贝到新建立的工程SMSTest下的src目录下,这样就在src默认目录里出现了你拷贝过来的文件。
3)
打开刚拷贝过来的文件并删除或注释掉首行。
4)
如果依然有红色错误提示,说明你的包,导入的不正确,请参照上面重新配置文件。也可以在当前工程中导入扩展包。方法如下:
右键点击工程文件名(SMSTest) ->选Propertiers
-> 点Java
Build Path->点
Add External JARs.... ->
按出现的对话框,找到要导入的文件(SZHTOGsm.jar)
再点“打开”即可
->点确定
5)
如果以上设置没问题就可以正常使用该java的例子文件了
JAVA开发实例
import
java.util.LinkedList;
import com.diagcn.smslib.CIncomingMessage;
import com.diagcn.smslib.CMessage;
import com.diagcn.smslib.COutgoingMessage;
import com.diagcn.smslib.CService;
import com.diagcn.smslib.CStatusReportMessage;
public class SampleClass {
/**
* @param args
*/
public static void main(String[] args) {
// 与短信设备建立连接,参数 1、端口号,2、速率,3、短信设备牌子,4、短信设备型号
SZHTOCService srv = new SZHTOCService("COM1", 9600, "Wavecom", "");
try {
// 设置短信中心号码
srv.setSmscNumber("+8613800571500");
// 连接设备
srv.connect();
// 连接成功,可以显示短信设备状态
System.out.println("Mobile Device Information: ");
System.out.println(" Manufacturer : "
+ srv.getDeviceInfo().getManufacturer());
System.out.println(" Model : "
+ srv.getDeviceInfo().getModel());
System.out.println(" Serial No : "
+ srv.getDeviceInfo().getSerialNo());
System.out.println(" IMSI : "
+ srv.getDeviceInfo().getImsi());
System.out.println(" S/W Version : "
+ srv.getDeviceInfo().getSwVersion());
System.out.println(" Battery Level : "
+ srv.getDeviceInfo().getBatteryLevel() + "%");
System.out.println(" Signal Level : "
+ srv.getDeviceInfo().getSignalLevel() + "%");
// 创建发送对象
COutgoingMessage msg = new COutgoingMessage("13512345678", "中文测试");
// 设置编码
msg.setMessageEncoding(CMessage.MessageEncoding.EncUcs2);
// 此短信需要状态回复
msg.setStatusReport(true);
// 短信有效期
msg.setValidityPeriod(8);
// 发送短信
srv.sendMessage(msg);
//
接收短信代码====================================================================
LinkedList<CIncomingMessage> msgList = new
LinkedList<CIncomingMessage>();
srv.readMessages(msgList, CIncomingMessage.MessageClass.All);
for (int i = 0; i < msgList.size(); i++) {
CIncomingMessage message = msgList.get(i);
if (message instanceof CStatusReportMessage) {
// 此短消息为 状态回复短消息
}
srv.deleteMessage(message); // 删除都到的短信
}
//
==============================================================================
srv.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
|