1、短信猫硬件
2、串口驱动(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
3、smsLib开发包
短信二次开发工具包;
java下载地址:http://smslib.org/download/
4、jetty(可选,以服务的方式部署需要);
这里使用jetty7.6.14下载地址:
http://repo2.maven.org/maven2/org/eclipse/jetty/aggregate/jetty-all/
5、ant工具;下载地址:http://ant.apache.org/bindownload.cgi
修改smsLib源代码方便编译
项目下载地址:http://pan.baidu.com/share/link?shareid=3662776615&uk=3573702471
发送接收参数说明:http://pan.baidu.com/share/link?shareid=3670259559&uk=3573702471
短信猫驱动安装(这里只说linux安装方法,window和linux安装类型):
1、解压rxtx-2.1.7-bins-r2.zip ,这个是串口驱动类
2、将RXTXcomm.jar 放到 jdk1.6\jre\lib\ext目录下
3、将lib中的linx/x86_64-unknown-linux-gnu/librxtxSerial.so 放到jdk1.6\jre\lib\amd64(64位)目录下(驱动程序)
测试短信猫是否安装成功
1、解压smslib-v3.5.3 压缩包,运行smslib-v3.5.3\src\java\misc\CommTest.java类
如果显示“Found: XXX”则表示短信猫硬件配置成功
1、创建文件夹“sms-server”,拷贝下列文件,目录机构如下:
1. lib,库文件
1. commons-net-3.0.1.jar,来自“smslib-v3.5.2/lib/”
2. jsmpp-2.1.0.jar,来自“smslib-v3.5.2/lib/”
3. servlet-api-2.5.jar,来自Jetty7
4. slf4j-log4j12-1.6.3.jar,来自“smslib-v3.5.2/lib/”
5. jetty-all-7.6.14.v20131031.jar,来自jetty7
6. log4j-1.2.16.jar,来自“smslib-v3.5.2/lib/”
7. slf4j-api-1.6.3.jar,来自“smslib-v3.5.2/lib/”
8. mysql-connector-java-5.1.26.jar,来自mysql数据库链接,用不着数据库可以不添加
2. smsserver-3.5.3.jar,来自“smslib-v3.5.3/dist/lib/”
默认的发布包中不包含HttpServer,需要自己编译一下。将“smslib-v3.5.3/misc/SMSServer/Interfaces/Stable/HttpServer.java”拷贝到“smslib-v3.5.3/src/java/org/smslib/smsserver/interfaces/”目录下。
(注意:发布包中的HttpServer,有个bug会导致中文短信显示不正常。修正方法:在Read、Send等几个内部类中,将“getResponse().setContentType("text/xml");”,修改为“getResponse().setContentType("text/xml;charset=UTF-8");”,并且移到“PrintWriter body = getResponse().getWriter();”的前面)。然后进入smslib目录下,运行“ant build-smsserver”编译一下。
3. SMSServer.conf
短消发送配置信息
# 可选配置设置一个balancer smsserver.balancer=RoundRobinLoadBalancer #处理完消息之后是否删除,值yes/no settings.delete_after_processing=yes #发送消息模式,如果有多个短信猫则使用async(异步)方式,能提高发送效率,如果只有一个短信猫那么使用哪种方式都一样 #Mode of operation for outbound processing. Allowed values: sync and async. If you have more than one GSM modems connected, you are advised to switch to async as all modems will be used simultaneously, thus increasing your throughput. If you have one GSM modem, it doesn"t make any difference what mode you will use. settings.send_mode=async #接收短信扫描间隔,单位 秒 #Inbound polling interval in seconds. SMSServer uses the inbound message notifications from the modem in order to wake up and read messages upon their arrival. settings.inbound_interval=600 #发送短信扫描间隔,单位 秒 #Outbound polling interval in seconds. Every such interval, SMSServer will poll its interfaces for new to-be-sent messages and will attempt to send them. settings.outbound_interval=10 #优先级发送时间区间 settings.timeframe.high=0800-1830 settings.timeframe.normal=1831-2200 settings.timeframe.low=2201-0759 #短信猫串口配置 gateway.0=myModem, SerialModem #端口,windows 一般是COM,linux一般是/dev/ttyS0或/dev/ttyS1 #the comm port to use, for example COM1 or /dev/ttyS0. myModem.port=/dev/ttyS1 #硬件波特率 myModem.baudrate=9600 #硬件厂家,例如:诺基亚-nokia ,短信猫 - Wavecom myModem.manufacturer=Wavecom #型号 myModem.model=M1206B #中文编码使用PDU myModem.protocol=PDU myModem.pin=0000 #允许接受 myModem.inbound=yes #允许发送 myModem.outbound=yes #Use this option to set/override the SMSC definition. Leave blank to use the default. #信息中心号码,设置会覆盖卡中默认值 #myModem.smsc_number= #服务接口设置 interface.0=httpServer, HttpServer #监听端口号 httpServer.port=8181 #读信密码 httpServer.password.read=123456 #发信密码 httpServer.password.send=123456 #数据库接口设置 interface.1=db1, Database db1.url=jdbc:mysql://localhost/sms?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true db1.driver=com.mysql.jdbc.Driver db1.username=root db1.password=root db1.type=mysql db1.tables.sms_in=sms_in db1.tables.sms_out=sms_out db1.tables.calls=sms_calls db1.batch_size=50 db1.retries=2 db1.update_outbound_on_statusreport=yes
4. Log4j.xml
日志记录信息配置
5. MySQL.sql
MySql数据库脚本,来自“smslib-v3.5.3\misc\SMSServer\Database Scripts”
6. Sms.sh(修改权限: chmod u+x sms.sh)
为方便启动、停止短信服务自己写的脚本
使用方式:./sms.sh start ./sms.sh stop 参数:start、stop、info、restart、status
1、查看状态:http://ip:port/status
2、发送短信:http://ip:port/send?password=123456&encoding=U&recipient=15866668888&text=测试一下
3、接收短信:http://ip:port/read?password=123456