查看单个帖子
旧 2011-04-02   #1 (permalink)
admin
论坛管理员
 
admin 的头像
 
注册日期: 2009-06-30
帖子: 861
admin 的声望功能已被禁用
默认 金笛短信JAVA中间件Linux多口连发版v3.4 (2011.04.02)

linux以稳定著称,USB短信猫(猫池)方便连接,JAVA方便开发。我公司为方便用户,提供在Linux下使用USB短信猫(猫池)的JAVA中间件,无疑是JAVA开发用户的一大福音。欢迎下载使用,并多提宝贵意见。


金笛短信中间件Linux多口连发版v3.4 (2011.04.02)
==============================================
一、主要功能:
在Linux系统下用JAVA通过短信猫(猫池)实现短信批量发送和接收。提供3种短信发送和接收方式:
1、MySQL数据库:向数据库插入一条待发送记录,中间件服务进程会自动定时扫描数据库,如果有未发送记录会自动发送出去。发送完毕会记录发送成功和失败的状态。
2、HTTP请求:中间件内嵌web服务,在任何一台PC上打开浏览器输入网址即可实现短信发送和阅读。也可以通过这种方式,在其它软件里调用HTTP GET请求,通过URL参数传递方式嵌入短信收发功能。
3、JAVA编程:直接调用JAVA类实现短信收发。具体可参考examples目录下ReadMessages.java和SendMessage.java例子。

二、安装及使用步骤
1、安装前的准备工作:
a)安装前请先查看Linux的内核版本:
#uname -a
Linux localhost.localdomain 2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:02 EDT 2007 i686 i686 i386 GNU/Linux
如果是2.4以下(含2.4)版本的linux内核,支持串口和网口猫和猫池,不支持USB猫和USB猫池,如果是2.6以上(含2.6)版本的linux内核,连接好USB猫或者猫池电源和数据线,系统会自动发现并生成设备名:
#ls -l /dev/ttyUSB*
crw-rw---- 1 root uucp 188, 0 04-02 07:45 /dev/ttyUSB0
crw-rw---- 1 root uucp 188, 1 04-02 07:45 /dev/ttyUSB1
crw-rw---- 1 root uucp 188, 2 04-02 07:45 /dev/ttyUSB2
crw-rw---- 1 root uucp 188, 3 04-02 08:16 /dev/ttyUSB3
crw-rw---- 1 root uucp 188, 4 04-02 07:45 /dev/ttyUSB4
crw-rw---- 1 root uucp 188, 5 04-02 07:45 /dev/ttyUSB5
crw-rw---- 1 root uucp 188, 6 04-02 07:45 /dev/ttyUSB6
crw-rw---- 1 root uucp 188, 7 04-02 07:45 /dev/ttyUSB7

b)请确认系统是否安装并启动MySQL数据库。
#ps -ef |grep mysqld
root 13362 1 0 08:19 pts/1 00:00:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file=/var/run/mysqld/mysqld.pid --log-error=/var/log/mysqld.log
mysql 13398 13362 0 08:19 pts/1 00:00:00 /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock
root 13457 13440 0 08:22 pts/1 00:00:00 grep mysqld
如果没有安装MySQL,请先安装MySQL并确认服务能正常启动。

2、安装
a)安装目录没有限制,在你喜欢的目录展开tar包即可。
# tar xvzf jdsmsserver-v3.4-xxxxxxxx.tar.gz (xxxxxxxx为发布的日期)

b)初始化数据库和表结构
# ./init_db.sh
Enter password: (此处输入MySQL root管理员密码)

c)修改配置文件,设置端口号和波特率,MySQL数据库访问密码。
在 conf/SMSServer.conf配置文件里,找到这几行:
myModem0.port=/dev/ttyUSB3
myModem0.baudrate=115200
myModem0.manufacturer=Wavecom
myModem0.model=M1306B

把ttyUSB3 替换为你系统实际使用的设备名。
把波特率替换为你的短信猫(猫池)实际的波特率。
另外两项,如果您用的不是Wavecom的模块,可以设置为空,系统可以自动识别你实际安装的设备出来。
如果有多个口,可以以此类推,依次设置好。

db1.username=root
db1.password=
这是访问MySQL数据库时用到的用户名和密码,请修改为实际的密码。如果没有密码,请留空。

c)启动服务
# ./start_jdsms.sh
启动成功后,会出现如下信息:
JDSMSServer是通过短信猫发送和接收短信的JAVA开发包。
此开发包支持多个端口。
网址:
http://www.sendsms.cn
SendSMS API version: 3.4.6
JDSMSServer version: 3.4.6
log4j:WARN No appenders could be found for logger (sendsms).
log4j:WARN Please initialize the log4j system properly.
2011-4-2 9:07:30 org.eclipse.jetty.util.log.Slf4jLog info
信息: jetty-7.1.4.v20100610
2011-4-2 9:07:30 org.eclipse.jetty.util.log.Slf4jLog info
信息: Started
SelectChannelConnector@0.0.0.0:8090
3、发送测试
a) 用例程进行收发测试。进入examples目录,有2个java源程序,SendMessage.java 和 ReadMessages.java 。SendMessage.java 实现通过指定端口、指定波特率、指定手机发送指定内容。ReadMessages.java 指定短信猫SIM上收到的短信内容。修改如下地方:

SerialModemGateway gateway = new SerialModemGateway("jindi", "/dev/ttyUSB3",115200, "", "");
jindi是自定义的端口标识,主要用于区分不同的端口。/dev/ttyUSB3 是端口设备名,需要修改。115200是短信猫波特率。金笛短信猫默认设置都是115200,如果您的设备不是这个波特率,请修改。
msg = new OutboundMessage("13601019694", "您好!欢迎使用金笛JAVA短信开发包V3.4。");
请修改为您的手机号码和要发送的短信内容。
# export LANG=zh_CN.GB2312
# ../jdk1.6/bin/javac SendMessage.java
# ../jkd1.6/bin/javac ReadMessages.java
# ../jdk1.6/bin/java SendMessage
# ../jdk1.6/bin/java ReadMessages

b) 用数据库进行发送测试。 向数据库插入一条记录
#./insert_db.sh
等大约10秒,看看手机是否收到了短信? 没有? 晕死~ 哦哦,忘了告诉你了,看看 sql/insert_db.sql 里有这样一行:
insert into smsserver_out (type,recipient,text,encoding,create_date) values ('O','13601019694','欢迎使用金笛短信中间件Linux+Java版<
www.sendsms.cn>','U', now());
把手机号码改为您的,再试一次,呵呵。

c) 用浏览器进行HTTP发送测试
http://localhost:8090/send?password=1111&recipient=13601019694&text=HTTP%E7%9F%AD%E4%BF%A1%E5%8F%91%E9%80%81&encoding=U
返回xml格式发送结果。
<send>
<error>0</error>
<message_status>SENT</message_status>
<ref_no>27</ref_no>
<gateway>myModem0</gateway>
</send>

三、常见故障及诊断
1、端口找不到
请用minicom -s来设置端口和波特率,设置好后在minicom通过at指令测试设备是否能正常工作?
ATI3 (看设备固件版本)
AT+CCID(看是否可以读到SIM)
AT+CSQ (看是否有网络信号)

2、端口被占用
如果已经启动了短信服务,再执行SendMessage不成功。反之,如SendMessage正在运行,再启动短信服务也不成功。
在运行短信程序之前,确保短信端口没有被占用。

3、收到短信乱码
在连接数据库时,请加上 --default-character-set=gb2312 参数。
mysql -u root --default-character-set=gb2312

四、购买
试用版发送短信内容含有广告。请联系购买正式版。
金笛短信网
www.sendsms.cn
关于数据库表结构的详细说明请参考《金笛短信服务器用户手册》。




http://www.sendsms.cn/download/linux-java-gsmmodem-jdsmsserver-v3.4/jdsmsserver-v3.4-linux-x86-trial-20110402.tar.gz
__________________

让世界倾听我们的笛声
admin 当前在线   回复时引用此帖