2011-04-20 | #1 (permalink) |
论坛管理员
注册日期: 2009-06-30
帖子: 861
|
金笛短信猫Linux 短信服务中间件的补充说明
金笛短信中间件 Linux 多口连发版 安装指南 V1.2
功能列表 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1)支持命令行、文件、mysql数据库 三种发送方式。 2)支持多路短信设备同时发送,支持指定端口发送。 3)支持按指定时间段发送。 4)支持短信接收。自动检测到来的新短信,存到数据表后,从SIM卡里删除。 5)短信发送成功、失败记录发送状态。 6)支持 wavecom 全系列短信猫,支持串口和USB口。 试用版限制: 1)发送的短信正文带有广告。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1。在 redhat linux 上安装 mysql ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 【如果系统已经安装mysql,请跳过这一步】 1)所用到的rpm包如下:(这些包随着短信中间件一起打包) [root@miix mysql]# ls mysql-5.0.22-2.1.i386.rpm perl-DBD-MySQL-3.0007-1.fc6.i386.rpm mysql-server-5.0.22-2.1.i386.rpm 2)安装命令如下: [root@rhel5 mysql]# rpm -ivh *.rpm warning: mysql-5.0.22-2.1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] 1:mysql ########################################### [ 33%] 2erl-DBD-MySQL ########################################### [ 67%] 3:mysql-server ########################################### [100%] 3)运行mysqld [root@rhel5 init.d]# /etc/init.d/mysqld start 初始化 MySQL 数据库: [ 确定 ] 启动 MySQL: [ 确定 ] 【也可以用service来停止、启动mysqld】 [root@rhel5 jdsms-1.2]# service mysqld stop 停止 MySQL: [ 确定 ] [root@rhel5 jdsms-1.2]# service mysqld start 启动 MySQL: [ 确定 ] 4)修改mysql root密码(以111111为例,您可以修改为其它。) [root@rhel5 jdsms-1.2]# mysqladmin -uroot password 111111 5)开放防火墙3306端口,以redhat linux as5 为例子 【可选,如果想从远程管理操作mysql数据库的话】 在 /etc/sysconfig/iptables 添加一下一行: -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 然后执行 [root@rhel5 smsd]# service iptables restart ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2。安装jdsmsd软件 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 如果是zip文件,请在linux下用 unzip jdsms-1.2.zip 解压缩,如果是.tar.gz文件,请用 tar xvzf jdsms-1.2.tar.gz 解压缩。 1)解压后进入jdsms-1.2目录 [root@rhel5 jdsms-1.2]# cp ./lib/* /usr/lib [root@rhel5 jdsms-1.2]# cp ./etc/jdsmsrc /etc 2)修改/etc/jdsmsrc ,改为短信设备对应端口号和波特率。 假设所用的串口为/dev/ttyS0,波特率为115200,设置如下: [global] port = /dev/ttyS0 model = AT connection = serial use_locking = yes serial_baudrate = 115200 smsc_timeout = 10 initlength = default 3)初始化smsd数据库 [root@rhel5 jdsms-1.2]#cd ./sql [root@rhel5 jdsms-1.2/sql]#mysql -uroot -p111111 < sms.tables.mysql.sql [root@rhel5 jdsms-1.2/sql]#mysql -uroot -p111111 mysql>use smsd; 插入一条记录,手机号码改为您的手机号码。 mysql>insert into outbox (number,text) values ('13601019694','您好,感谢您的支持'); 注意:111111为数据库密码,请改为您设定的密码。 3)运行jdsmsd [root@rhel5 jdsms-1.2]# cd ./bin/ [root@rhel5 jdsms-1.2/bin]# ./jdsmsd -u root -p111111 -d smsd -c localhost -m mysql -b SM -f /var/log/smsd.log -i 10 如果设置正确无误,将会收到一条短信,/var/log/smsd.log 显示如下: Sending to 13601019694 sucessful. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3。发送短信 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 【注意:如果软件没有授权,发送的短信内将带有广告词“欢迎您使用金笛短信Linux中间件www.sendsms.cn”】 jdsms支持3种短信发送方式: 1、命令行方式 [root@rhel5 jdsms-1.2]# cd ./bin/ [root@rhel5 jdsms-1.2/bin]# echo '您好' | ./jdsms --sendsms 13601019694 2、文件方式 [root@rhel5 jdsms-1.2/bin]# mkdir /tmp/smsout [root@rhel5 jdsms-1.2/bin]#./jdsmsd -m file -c /tmp/smsout -f /var/log/smsd.log -i 10 编辑一个文件,放到 smsout 目录下,文件格式如下: 手机号码 短信正文 例: sms-1.txt ------------- 13601019694 您好!感谢您支持。 发送完成,会自动删除sms-1.txt 文件。 3、数据库方式 [root@rhel5 jdsms-1.2/bin]#./jdsmsd -u root -p111111 -d smsd -c localhost -m mysql -b SM -f /var/log/smsd.log -i 10 -u root # 数据库连接用户名 -p111111 # 数据库连接密码 -d smsd # 数据库名 -c localhost # 数据库所在主机 -m mysql # 数据存储类型:目前只支持 mysql 或者 file -b SM # 从SIM卡读取短信到数据库 inbox,并删除SIM卡上的短信。 -f /var/log/smsd.log # log文件 -i 10 # 查询数据的时间间隔。 mysql>insert into outbox (number,text) values ('13601019694','您好,感谢您的支持'); outbox表结构字段: number - 收件人的手机号码 processed_date - 发送日期 insertdate - 记录日期 text - 短信正文 phone - 短信设备序号,如果有多个短信设备,可以指定用哪个短信设备发送。 processed - 是否已经发送处理? 发送过,设为TRUE。 error - 失败错误编号. dreport - 是否需要短信回执,默认0,不需要回执;1需要回执。 not_before - 指定发送时间段,不能在此时间前发送 (default 00:00:00). not_after - 指定发送时间段,不能在此时间后发送 (default 23:59:59). 收到短信,转存到Table 'inbox' ,字段: number - 发件人手机号码 smsdate - 发送日期 insertdate - 记录时间 text - 短信正文 phone - 如果有多个设备,表示通过哪个设备接收到的。 processed - 是否处理过。默认false。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4。多个设备,同时发送 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 如果有多个设备,需要同时发送,可以修改 /etc/jdsmsrc文件,增加phone_1, phone_2设置。 [global] port = /dev/ttyS0 #设备名,USB口设备名是ttyUSB0 model = AT #AT指令模式,一般不用改。 connection = serial #串口通讯 use_locking = yes #使用lock文件,避免多个程序同时操作一个端口,起冲突。 serial_baudrate = 115200 #连接速率 smsc_timeout = 10 #超时时间 initlength = default #默认短信长度 [phone_1] # 如果有多个短信设备,可以在此设置连接参数。注意:一定要用phone_数字 这种形式命名,否则不被识别。 port = /dev/ttyS1 # 对应COM2 model = AT connection = serial use_locking = yes serial_baudrate = 115200 smsc_timeout = 10 initlength = default [phone_2] port = /dev/ttyUSB0 # USB Modem model = AT connection = serial use_locking = no serial_baudrate = 115200 smsc_timeout = 10 initlength = default [logging] debug = on #正式使用,请设为off 然后运行: [root@rhel5 jdsms-1.2/bin]#./jdsmsd -u root -p111111 -d smsd -c localhost -m mysql -b SM -f /var/log/smsd.log -i 10 -t 1 [root@rhel5 jdsms-1.2/bin]#./jdsmsd -u root -p111111 -d smsd -c localhost -m mysql -b SM -f /var/log/smsd.log -i 10 -t 2 向数据库插入2条记录,指定发送端口: mysql>insert into outbox (number,text,phone) values ('13601019694','您好,感谢您的支持',1); mysql>insert into outbox (number,text,phone) values ('13601019694','您好,感谢您的支持',2); 如果都能收到,说明设置成功。如果收不到,请检查端口号和波特率是否正确。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5。购买正式版 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 购买正式版,请直接联系我公司销售人员。 www.sendsms.cn 网站下方有联系方式。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6。注意事项 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 如果连不上mysql数据库,请检查 /usr/lib/ 下是否有 libmysqlclient.* 文件。 如果没有,请先安装相关软件包。 ubuntu 9.04 下用 apt-get install libmysqlclient15-dev 获得。 如果接收到的信息是乱码,如果是一串问号"????????????", 要确保2点: (1)MySQL数据库使用默认的编码方式。 (2)向数据库outbox插入一条记录时,使用GB2312编码。一般linux系统安装完毕默认是UTF-8编码,这时候需要修改一下终端的编码方式。使之为GB2312,这样插入数据库的才真正是GB2312编码。
__________________
让世界倾听我们的笛声 |