rxtx串口通信实现smslib短信接口

阅读更多

短信 猫开发模块使用了rxtx smslib 这两种开源代码

 

Rxtx是用于comm端口调用

Smslib是在rxtx的基础上,调用短信_猫,使用AT指令来进行短信的发送接收等操作。

 

注意:

每次系统重启或者插拔短信_猫后,都要设置拥有者

chown dgsun /dev/ttyUSB0   (root 权限运行,dgsun是用户)

 

设置完后,使用minicom 看看该用户是否有权限使用该端口

 

1,配置RXTX

配置主要配置两个文件

一个是 Windowsdll文件  linux下的.so 

另一个是

1.1 windows

rxtx-2.2pre2-bins\win32目录下的 rxtxSerial.dll

rxtxSerial.dll复制到 JAVA_HOME\bin目录下

RXTXcomm.jar复制到 JAVA_HOME\jre\lib\ext目录下

 

如果使用myeclipse开发则需要修改myeclipse使用的jdk

Myeclipse自带一个jdk,要改为JAVA_HOME下的jdk

 

1.2 linux

由于使用的是centos 64位系统,所以

复制rxtx-2.2pre2-bins\x86_64-unknown-linux-gnu目录下的librxtxSerial.so

librxtxSerial.so复制到 JAVA_HOME/jre/lib/amd64

RXTXcomm.jar复制到 JAVA_HOME/jre/lib/ext目录下

 

这个目录有可能各不相同

http://blog.csdn.net/iamfafa/article/details/6340057

如果找不到librxtxSerial.so则会报错

java.lang.UnsatisfiedLinkError: no XXX in java.library.path

 

这个时候可以写一段代码来查看java.library.path的位置

System.out.println( System.getProperty("java.library.path"));

在打印出的位置中加入librxtxSerial.so即可

 

2 配置SMSLIB

smslib目录下的jar包加入到项目中

3 发送短信

接下来就是在代码中使用smslib调用短信 猫发送短信

代码可见src目录下 SmsMain.java sms.properties

sms.properties配置了短信 猫的参数。 windows下和在linux下是不同的,

我测试的时候windows下使用的是com5端口,这个可以再设备管理器中查看到;

linux下使用的是 /dev/ttyUSB0,这个我是使用minicom一个一个在/dev/下找的

 

很奇怪,我使用的是wavecom模块的短信 猫,在插入移动卡的时候,manufacutrer设置了wavecom ,发送短信一切正常。当我换了一张联通的gsm卡的时候,就无法发短信了,只有不填,调用默认驱动才可以发短信。所以该处都默认为不填。

 

需要发短信的时候只要调用 SmsMainsendSms方法

static boolean sendSms(String mobile, String content)

 

 

4 附录

Minicom使用

首先 minicom –s minicom 进行配置,相关配置可以再网上查找介绍

主要是修改 Serial port setup, 修改完后save setup as dfl进行保存。

Exit 后,如果配置短信 猫正确的话,就可以进入到 指令行了

输入AT,回车,页面打印OK

如果ATD133*******; 就可以对该电话号码进行拨号。 注意结尾的分号不可少。

 

 

 

你可能感兴趣的:(java,短信接口)