1. 所需要资源
1、串口驱动(comm - windows 或者 RxTx - linux)
Comm 串口驱动是windows 系统使用;
下载地址:http://llk.media.mit.edu/projects/picdev/software/javaxcomm.zip
RxTx 串口驱动是linux 系统使用的;
下载地址:http://rxtx.qbang.org/wiki/index.php/Download
2、smsLib开发包
短信二次开发工具包;
java下载地址:http://smslib.org/download/
2. 配置
使用的是(2.2pre2)
1. 将RXTXcomm.jar 文件放至 /JAVA_HOME/jre/lib/ext目录下
2. 将librxtxSerial.so 文件放至 /JAVA_HOME/jre/lib/amd64 目录下
注意:
这里下载的RXTXcomm.jar可能会出现版本不匹配。(可以修改RXTXcomm.jar中的RXTXVersion的version字段)
3. 配置串口
下载串口通讯工具(minicom)
minicom需要ncurses库的支持,否则安装会有问题。
a:下载ncurses (本人ncurses-6.0.tar.gz)
下载链接:http://ftp.gnu.org/pub/gnu/ncurses/
上传至虚拟机
解压 --> 执行# tar -zxvf ncurses-6.0.tar.gz
配置 --> 在ncurses/ncurses-6.0目录下执行# ./configure
编码 --> 执行# make
安装 --> 执行# make install
b:下载minicom (本人 minicom-2.7.1.tar.gz)
下载链接:https://fossies.org/linux/misc/minicom-2.7.tar.gz
上传至虚拟机
解压 --> 执行# tar -zxvf minicom-2.7.1.tar.gz -C 可选择存放目录/minicom /
配置 --> 在minicom/minicom-2.7.1目录下执行# ./configure
编码 --> 执行# make
安装 --> 执行# make install
3. 配置串口
执行# minicom -s 进入窗口选择Serial port setup
##按a配置串口,可以使用ls -l /dev/ttyUSB*查看是否是ttyUSB0一般是
##按e修改波特率
##save setup as dfl 回车
##exit是进入minicom 可输入at指令
##exit from minicom退出minicom
异常:
1. No response from device:
1)是否在启动服务之前启用轮询模式,在调用startService之前
###Service.getInstance().S.SERIAL_POLLING = true; //启用轮循模式
2)创建网关时传参数是否正确
SerialModemGateway gateway = new SerialModemGateway("modem.com1", "/dev/ttyUSB1", 9600, "Wavecom", "型号");
modem.com1:网关ID(即短信猫端口ID,多个短信猫时,用于标识是由哪个口发出的短信)
/dev/ttyUSB1:串口名称(USB转串口,短信猫中的所有端口自动被操作系统映射到/dev/目录下,以ttyUSB*开头的文件上,前提是系统预装有USB转串口的驱动),注:Linux下2.6.32以上内核已预装USB串口设备驱动,如果低版本的内核,未检测到USB设备,则需要自己安装驱动或升级内核。
9600:波特率,根据二次开发包中的CommTest.java测试程序,检测你的设备所支持的波特率。
Wavecom:生产厂商名称,必须设置正确,否则SMSLib在初始设备时,会报No response from Device异常,原因是SMSLib为不同的生产厂商,有相应的AT指定接口实现(AT+CGMI)