`
DataBird
  • 浏览: 71706 次
  • 性别: Icon_minigender_1
  • 来自: 湖南长沙
社区版块
存档分类
最新评论

通用短信网关的简单收发程序探索

阅读更多
1.在淘宝花140元买了个通用的WAVECOM芯片短信网关,USB口的不要电源线,方便点。
2.淘宝店附送了USB转串口的安装程序PL-2303 Driver Installer.exe(通用的)和爱迪生短信通 5.4 版TxtSmsSetup.msi.msi(破解的)。
3.安装第2点的2个东东后,图形界面的爱迪生短信通就可以正常收发短信了,检测到用的com6端口。这个端口要记住,每次安装都可能不同,检测一下就知道了。速率就填9600。
4.我要的是java程序收发短信,不是用现成的 爱迪生短信通 去发广告短信,是所谓编程吧。AT命令去搞据说难于上青天,二次开发包 搜搜都是要钱的,好不容易看到了http://hi.baidu.com/%CB%CE%B9%E2%BB%D41/blog/item/e45d6b58d4ba4cdb9c8204a9.html
这篇文章。于是试用。
5.遇到N多问题。
(1)作者讲他的不支持USB口,让我绝望!
但是不死心,去http://smslib.org/doc/smslib/quickstart/看到了如下的话:
Serial modem gateway (class org.smslib.modem.SerialModemGateway): For modems which are connected via serial ports (or emulated serial ports, like USB etc). ,底层的二次开发包应该是支撑USB口的。实验结果是可以的。
(2)log4j包也要下载供smslib包调用。
http://logging.apache.org/log4j/1.2/download.html
(3)修改芯片名称和型号。端口号每个人的机器都可能不同,检测下。
SerialModemGateway gateway = new SerialModemGateway("modem.com6", "COM6", 9600, "wavecom", "17254");
(4)成功了。
run:
Example: Read messages from a serial gsm modem.
SMSLib: A Java API library for sending and receiving SMS via a GSM modem
or other supported gateways.
Web Site: http://smslib.org
This software is distributed under the terms of the Apache v2.0 License.
Version: 3.3.0-b2

Modem Information:
  Manufacturer:  WAVECOM MODEM
  Model:  MULTIBAND  900E  1800
  Serial No: 012345678901234
  SIM IMSI: ** MASKED **
  Signal Level: 74%
  Battery Level: 0%

Now Sleeping - Hit <enter> to terminate.
>>> New Inbound message detected from Gateway: modem.com6
===============================================================================
<< InboundMessage >>
-------------------------------------------------------------------------------
Gateway Id: modem.com6
Encoding: UCS2 (Unicode)
Date: Sun Mar 20 10:47:16 CST 2011
Text: 试用smslib成功了,非常高兴,希望我的文章能给摸索的人一点帮助!
PDU data: 0032723872385988598872314F6076848001516C516C5B895385957F5F97898153BB4E0D597D610F601D768476847684
Originator: 8613574110874
Memory Index: 1
Multi-part Memory Index:
Memory Location: SM
Source / Destination Ports: -1 / -1
===============================================================================

run:
Example: Send message from a serial gsm modem.
SMSLib: A Java API library for sending and receiving SMS via a GSM modem
or other supported gateways.
Web Site: http://smslib.org
This software is distributed under the terms of the Apache v2.0 License.
Version: 3.3.0-b2
Modem Information:
  Manufacturer:  WAVECOM MODEM
  Model:  MULTIBAND  900E  1800
  Serial No: 012345678901234
  SIM IMSI: ** MASKED **
  Signal Level: 77%
  Battery Level: 0%

===============================================================================
<< OutboundMessage >>
-------------------------------------------------------------------------------
Gateway Id: modem.com6
Encoding: UCS2 (Unicode)
Date: Sun Mar 20 11:26:34 CST 2011
SMSC Ref No: 15
Recipient: 13574110874
Dispatch Date: Sun Mar 20 11:26:39 CST 2011
Message Status: SENT
Validity Period (Hours): -1
Status Report: false
Source / Destination Ports: -1 / -1
Flash SMS: false
Text: 这个是用java发的中文短信!祝山寨事业蒸蒸日上
PDU data: 8FD94E2A662F7528006A00610076006153D176844E2D658777ED4FE10021795D5C715BE84E8B4E1A84B884B865E54E0A
===============================================================================

Now Sleeping - Hit <enter> to terminate.
(5)试用升级版的smslib-3.5.0.jar就报错,需要修改收发程序。以后再说了。
(6)最终目的是用java程序每隔1分钟扫描一次数据库的表,有新内容就发送短信,有接受的短信就写入库表。以后再说了。

6.附件说明:
1.把smslib-3.3.0b2.jar和comm.jar,放入工程lib中。
2.javax.comm.properties放到%JAVA_HOME%/jre/lib下,
3.win32com.dll放到%JAVA_HOME%/jre/bin下。
4.环境配置好了以后,把examples文件夹下的SendMessage.java和ReadMessages.java拷贝到你的开发工具下,就可以发短信了。

7.在前人的基础上改进比较省力,如果大家看后有改进的东西,希望告诉我也进步进步,谢谢!120251048@qq.com

8.端口和速率测试程序:CommTest
run:

Searching for devices...

Found port: COM6
       Trying at   9600...  Getting Info... Found:  MULTIBAND  900E  1800
       Trying at  14400...  no device found (javax.comm.UnsupportedCommOperationException: Unsupported baud rate)
       Trying at  19200...  no device found
       Trying at  28800...  no device found (javax.comm.UnsupportedCommOperationException: Unsupported baud rate)
       Trying at  33600...  no device found (javax.comm.UnsupportedCommOperationException: Unsupported baud rate)
       Trying at  38400...  no device found
       Trying at  56000...  no device found (javax.comm.UnsupportedCommOperationException: Unsupported baud rate)
       Trying at  57600...  no device found
       Trying at 115200...  no device found

Test complete.
成功生成(总时间:44 秒)

9.log4j.properties 修改为控制台和log文件都输出:
log4j.properties需要放置在源程序的根目录下,折腾了很久啊。
log4j.logger.smslib=info, smsr, smsf

log4j.appender.smsr=org.apache.log4j.ConsoleAppender
log4j.appender.smsr.layout=org.apache.log4j.PatternLayout
log4j.appender.smsr.layout.ConversionPattern=%-6r %d [%t] %-5p %C %x - %m%n

log4j.appender.smsf=org.apache.log4j.FileAppender
log4j.appender.smsf.File=D:/jdev/DEV/DataTransfer/log4j.log
log4j.appender.smsf.Append=false
log4j.appender.smsf.layout=org.apache.log4j.PatternLayout
log4j.appender.smsf.layout.ConversionPattern=%-6r %d [%t] %-5p %C %x - %m%n

10.使用最新的smslib-3.5.0.jar,应该比smslib-3.3.0b2.jar强。
example里面有现成的,改改几个参数就行了。
分享到:
评论

相关推荐

    短信网关模拟程序设计

    短信网关模拟程序设计是一项基于网络计算的项目,主要涉及C#编程语言、SGIP协议、Socket编程以及短信服务的模拟。在这个项目中,开发者需要创建一个具备用户界面的程序,该程序能模拟短信发送的过程,尽管其功能相对...

    很好的短信网关程序

    标题中的“很好的短信网关程序”指的是一个专门用于处理短信通信的软件系统,它作为一个中介,连接了不同的网络服务提供商和应用,使得信息能够通过网络在设备之间传递。这种网关程序通常具备发送、接收、转发和管理...

    使用C#开发的SMGP协议短信C网短信网关程序 演示程序

    使用C#开发的基于华为SMEIDll.dll库的SMGP 2.0、SMGP 3.0协议的短信上行、短信下行的网关程序。  该程序代码在中国电信CDMA... 另外,基于电信C网短信网关的短信收发使用C++、Java、C#开发的接口程序都已全部完成。

    短信网关接入程序源代码(SGIP协议)

    标题中的“短信网关接入程序源代码(SGIP协议)”是指一种用于与短信网关进行交互的软件系统,它的核心是实现了SGIP(Short Message Peer-to-Peer)协议。SGIP协议是一种通信协议,主要用于电信运营商的短信中心(SMSC...

    短信网关接入程序,通过socket接入消息,然后直接转发到ISMG;同时支持华为短信网关接入.zip

    在IT行业中,短信网关接入程序是用于企业与电信运营商之间的通信桥梁,使得企业能够批量发送或接收短信。本文将详细解析标题和描述中提到的知识点,并围绕C#编程语言进行深入探讨。 首先,"短信网关接入程序"是指一...

    DELPHI短信网关源码

    在DELPHI短信网关源码中,通过实现SMGP协议,程序可以接入移动运营商的网络,实现短信的收发。 其次,短信快使通常是指一种能够简化短信服务接入的API或客户端库,允许开发者快速集成短信功能。在本项目中,"短信快...

    联通短信网关发送程序源码(C#)

    标题中的“联通短信网关发送程序源码(C#)”指的是使用C#编程语言编写的软件,其功能是与中国联通的短信网关进行交互,实现短信的发送和接收状态报告。短信网关是通信运营商提供的接口,允许开发者通过特定协议发送...

    深讯信科短信网关SP端应用程序接口使用说明

    深讯信科短信网关SP端应用程序接口是一个用于与联通网关进行信息交换的API,遵循SGIPv1.2协议标准。这个接口提供了一系列函数,使得ICP(互联网内容提供商)能够实现发送和接收短信的功能,同时支持长连接和短连接的...

    利用网通的网关平台收发手机短信

    在中国的电信行业中,网通(现已被中国联通合并)曾经提供了一种通过网关平台收发手机短信的服务。这个服务允许开发者和企业通过特定的接口与网通的短信网关进行交互,实现自动化、批量化的短信发送和接收功能。在这...

    delphi实现的短信收发程序

    - **SMPP协议**:通常,短信发送程序会采用SMPP(Short Message Peer-to-Peer)协议来连接到短信网关。SMPP是一个开放的协议,允许应用直接与短信中心(SMSC)进行交互。 - **连接管理**:程序需要建立和维护与...

    联通短信网关JAVA接口

    JAVA接口是开发者利用Java编程语言与短信网关进行通讯的工具,使得应用程序能够方便地实现短信的发送、接收、查询等功能。在本案例中,提供的压缩文件"sgip_java.rar"可能包含了实现这一功能所需的全部代码库、文档...

    短信网关相关资源

    2. SMG(Sms Gateway):短信网关,顾名思义,是实现短信收发功能的系统。它通常由硬件设备和软件系统两部分组成,负责接收来自应用服务器的短信请求,通过连接到移动运营商的网络,将短信发送到目标手机或接收来自...

    java编写的短信收发程序已用于实际的项目

    Java编写的短信收发程序是信息技术领域中一个实用的应用,特别是在企业级系统、移动服务以及物联网(IoT)场景中,常被用来实现自动化通知、验证码发送、营销推广等功能。这个程序的成功应用到实际项目中,表明了Java...

    中国联通短信网关接入程序源代码(SGIP1.2协议)

    中国联通短信网关接入程序是基于SGIP1.2协议实现的,这个协议是中国联通用于与SP(服务提供商)进行通信的一种标准。SGIP1.2是SMGP(Short Message Gateway Protocol)的升级版本,主要用于短信的发送、接收、查询等...

    短信网关解决方案.pdf

    短信网关解决方案是指通过Array TM助力短信网关应用负载管理和性能优化,解决短信网关服务器之间自动切换、处理能力有限、短信网关服务器“多米诺”现象、短信应用系统发展与网络扩容的不平衡性、系统维护升级等问题...

    java手机短信收发程序源码

    Java手机短信收发程序是一种基于Java编程语言实现的软件,用于发送和接收手机短信。这个程序的核心在于利用Java的Socket通信技术以及相关的SMS协议来与移动运营商的短信网关进行交互。下面将详细介绍该程序涉及的...

Global site tag (gtag.js) - Google Analytics