|
产品简介
GSM/GPRS
MODEM是利用工业手机终端(以下简称MODEM)作为短信的收发中心,通过专用数据线连接MODEM和短信应用服务器,应用点到点的传送方式,实现多用户的短信接收和发送功能,便于进行低成本的信息实时发布和查询。所有短信数据发射接收均可由企事业自身完成,不用将敏感的商业数据(如库存、会议\活动通知、客户的手机号\电子邮件地址等)传送给第三方短信服务商(SP)发送,无需和Internet网络保持连接,可最大限度地确保短信数据的安全。
MODEM提供众多程序设计语言和开发工具的应用程序开发接口(DLL),客户可以根据需要灵活方便地进行二次开发,快速构建企事业单位的无线短信中心服务系统,或者集成到OA、CRM、PDM、ERP、MIS
、电力抄表、GPRS数据传输、UPS报警、服务器监控、邮件系统、企信通中,将这些系统的信息即时传递到每个员工、合作伙伴及客户的手机上。
功能特点
1、
连接MODEM及发送短信支持阻塞及无阻塞模式:阻塞模式就是调用时直到操作完成才返回,而无阻塞模式调用后马上返回,后台执行具体的操作,完成后以事件的方式通知操作的实际结果;
2、
工作于无阻塞模式时发送短信支持队列和优先级机制:队列支持在很短的时间内可以任意调用发送请求,而优先级类似于操作系统提供的线程优先级、发送队列中有很多短信等待发送时优先发送级别高的短信,同优先级的首先发送先进入队列的短信,而定时发送短信功能需求可在指定时间采用阻塞模式发送来实现(阻塞模式发送就是意味着发送优先级最高),特别地,对于无阻塞模式发送短信,当发送失败时可以根据指定次数再次自动尝试发送;
3、
发送内容长度不限,发送长短信是能将中文超过70字,英文超过160字符的短信自动分割成若干条发送出去,
而接收方最后接收到的短信则是自动合并成一条短信的,编码方式采用了自动方式;
4、
最多可支持128个MODEM同时并行联机工作,并自动实现负载平衡,每个组件的实例对应操作一个MODEM设备,完全可以满足短信收发业务量大的情况;
5、
支持群发短信,调用一次可以为多个号码发送相同内容的短信,并提供对每个发送目标号码提供状态结果的事件通知;
6、
支持短信署名,在每条发送的短信前自动加入姓名、电话号码或公司名称,有力增加发送短信的亲和力;
7、
支持发送短信的状态报告,目;号码收到的时间报告,同时支持中英文短信的发送;支持多国语言短信发送模式;
8、
支持设置MODEM仅工作于接收模式,使其专用于大量查询业务请求的情况,当工作于此模式的MODEM
收到发送请求时会自动将此请求转给工作于可发送的MODEM来执行,有效提高查询业务反馈的速度;
9、
支持发送普通文字短信、闪烁短信、WAP
PUSH、免提短信等,需要说明的是不是所有的手机都支持闪烁短信等,一般诺基亚的手机基本都支持闪烁;
10、
支持连接、接收、发送等操作的日志记录,支持启动时是否自动发送上次退出后未发送成功短信的选项;
11、
提供SIM卡相关的接收新短信、存储空间已满、帐户余额不足等事件通知,有效掌握MODEM的服务状态;
12、
支持MODEM接收到来电时的事件通知,并实现了呼叫转移(需要相应的SIM卡支持),以防来电时可能干扰正常的短信服务;
13、
支持获得MODEM当前的工作状态及信号强度,支持设置/获取其系统时间、操作MODEM及SIM卡中的电话薄等;
14、
连接计算机采用工业标准的RS232串口或USB2.0接口;
15、
支持标准的工业MODEM如索尼/爱立信GM29、WAVECOM、SIEMENS等公司的产品。
应用范围
MODEM适用于以下范围:
·
企事业单位信息发布的通道
由于MODEM具有操作简单、实时性强、支持群发、使用价格便宜等特点,在有效的保证信息发布的时效和便捷的同时,能够大幅度降低信息发布的成本。充分利用MODEM,能够把最新、最及时的各种信息发布到公司员工、合作伙伴和客户的手机上,从而有效的提高公司的运作效率,提高客户的满意度,在激烈的竞争中占据主动地位。
·
企事业单位信息查询的通道
MODEM同时支持上行短信。利用这个功能,可以为员工提供信息查询的通道,例如查询相关产品的规格、最新的价格、库存情况、联系人信息等等;可以为客户提供查询服务和支持的通道,例如便于客户获取产品的详细信息及报价、产品的真伪、订单的状态等等。
应用行业
无论各行各业,都可以通过MODEM进行快速有效的信息传递。
1.
证券营业部、证券经纪可以用来:
发送股评、即时行情等;
发送公告信息、通知等;
发送资金异动信息。
2.
大型企业、事业单位、政府机关可以用来
发送内部事务通知,任务、工资条、业务变更等;
发送业务办理结果通知;
与本单位业务人员、出差人员联系;
与各地经销商、重点客户联系,发布产品信息及新品通告;
发送行业特定信息,如水费、周费、年检通知、税费等。
短信开发包安装使用手册
安装方法二种
1.
执行
注册DLL.bat
。
2.
将BIN中的文件COPY到SYSTEM32下参考注册DLL.bat人工注册。
提示:
由于本控件使用了微软公司的MSCOMM32.OCX,所以用户在自己程序发布时,除了要分发本
控件外,还要包括MSCOMM32.OCX。
控件使用说明
◆
属性
SmsFlash
闪信标致,真代表发送的是闪信
RsId SMS卡中短信存放位置,
RsCenteNo
发送信方的短信中心号码,
RsTel
发信人的手机号码,
RsDate
发信人的发信日期,
RsCon
接收的短信内容.
◆
方法
四个基本方法。打开端口,关闭端口,发送短信,接收短信。
☆
打开通讯端口 (YhOpenModem)
功能描述: 打开与设备的通讯端口
参数:YhOpenModem(CommPort As Long,Settings As
String, sN As String) As String
CommPort 端口号
Settings
串口通讯设置
sN
设备注册号
返回:String “成功”
成功, 其他 失败
☆
关闭通讯端口 (YhCloseModem)
功能描述:关闭与设备的通讯端口
参数:YhCloseModem() As String
返回:String “成功”
成功, 其他 失败
☆
发送短消息 (YhSendSms)
功能描述:关闭与设备的通讯端口
参数:YhSendSms(CenterNo As String, sNo As
String, sCon As String, sBit As Long) As String
CenterNo
短信中心号
sNo
对方手机号
sCon
待发短信内容
sBit
短信发送类别
7为纯英文,8为汉字。其它数字代表系统自动选择
返回:String “成功”
成功, 其他 失败
☆
读取短消息 (YhReadSms)
功能描述:关闭与设备的通讯端口
参数:YhReadSms (sId as string,sDel AS String)
As String
SID
短信存放位置
Sdel
值为“是”,时读后删除些短信,别的值,不做删除处理
返回:String 简单短信组合结果
DLL类属性存放:sId
存放序号
CenterNo
短信中心号
sNo
对方号码
sDate
发送日期
sCon
发送内容
注:SID=-1表示所有新到短信,SID=0表示列例所有短信,SID=n
表示第N个位置的短信内容。
当SID=-1和SID=0时。返回多条记录到各属性中。记录间以CHR$(10)分隔,二次开发商可以用SPLIT分离出来。各属性次序相对应。
☆
发送AT指令(YhATCommand)
功能描述:向端口发送AT指令
参数:YhATCommand(At As String) As String
AT
您要发送的AT指令
返回:string AT指令返回结果 如为错误,返回ERROR
☆
删除短消息 (YhDelSms)
功能描述:删除SIM卡中指定位置的短信
参数:YhDelSms(sId As String)
Sid
要删除SIM卡中短信的位置
返回: Long 0 删除成功,其他 删除失败
调用实例,以VB为例
全局定义一个类,供后面统一使用,如果打算每次发送完就关闭端口,可以将这个设为局部变量
Dim SmsCls
As New JSms
闪信为类的SmsFlash属性,真为发送的是闪信,假为普通短信,闪信是直接打开显示到接收人的手机里,看后自动消失。
Private Sub
Check1_Click()
'设置是否闪信
SMSFLASH 为真是是闪信
If
Check1.Value = 1 Then SmsCls.SmsFlash = True Else SmsCls.SmsFlash =
False
End Sub
初始化端口:YhOpenModem函数有三个参数,第一项是整型的端口号,此数值可以在硬件列表的串口信息中查取,第二项为端口设置,GSM设为
9600,N,8,1 GPRS 设为115200,N,8,1
第三项为控件设备注册号。此值为MODEM上的条码号,
返回值是 成功 与 失败
Private Sub
Command3_Click()
'打开短信初始化端口
Label6.Caption="打开始打端口..."
Label6.Caption="打开:"
+ SmsCls.YhOpenModem(sCom,"9600,N,8,1", "asfdwrwrew9")
End Sub
短信发送:YhSendSms有四项参数第一项为手机卡对应的短信中心号码,第二项为待发送的手机号码,第三项为短信发送内容
第四项为整型变量代表发送模式,此值=7时表示发送纯英文字符,值=8时发送普通汉字信息,值=9时,代表发送的内容为纯十六进制数据。0为自动识别纯英文还是汉字短信
Private Sub
Command1_Click()
'发送短信
Command1.Enabled = False
Label6.Caption = "开始发送短信..."
Dim I As
Long
For I = 0
To List1.ListCount - 1
Label6.Caption = "发送:"
+ SmsCls.YhSendSms(sCenter,sNo,sCon,lgBit)
Next I
Command1.Enabled = True
If I = 0
Then Label6.Caption = ""
End Sub
短信接收:
带二个参数,第一个参数代表短信所存SMS卡中的位置,第二个参数为是否删除些位置的短信。值为“是”是删除,别的值不删除。
接收短信返回值是直接返回到类的属性上的,RsId
值代表存放序号,RsCenteNo码值代表发送信方的短信中心号码,RsTel发信人的手机号码,RsDate发信人的发信日期,RsCon接收的短信内容.
如果想一次接收所有SMS存放的短信,将序号设为0
即sId=”0”
这样返回的多条短信内容分项写入相应属性值,各数据之间通过 Chr$(11)分开,用户可以自行提取。
接收所有新短信序号设为 -1 即
sId=”-1” 返回数据结构与 sId=”0”相近
Private Sub
Command2_Click()
'接收短信
Label6.Caption = "开始接收短信..."
Call
SmsCls.YhReadSms(sId, "")
Text2 =
""
If
Val(Text5.Text) > 1 Then
'单条短信显示
Text2
= Text2 + "存放序号:" + SmsCls.RsId + Chr(13) + Chr(10)
Text2
= Text2 + "短信中心:" + SmsCls.RsCenterNo + Chr(13) + Chr(10)
Text2
= Text2 + "对方手机:" + SmsCls.RsTel + Chr(13) + Chr(10)
Text2
= Text2 + "接收日期:" + SmsCls.RsDate + Chr(13) + Chr(10)
Text2
= Text2 + "短信内容:" + SmsCls.RsCon + Chr(13) + Chr(10)
Text2
= Text2 + "=====================================" + Chr(13) + Chr(10)
Else
Dim
SID() As String,SCN() As String,sTl() As String,SDT() As String
Dim
SCON() As String
'多条短提取
If
SmsCls.RsId = "" Then GoTo A1
SID =
Split(SmsCls.RsId, Chr$(11)) ‘多短信返回时位置序号分割
SCN =
Split(SmsCls.RsCenterNo, Chr$(11)) ‘多短信返回时中心号码分割
sTl =
Split(SmsCls.RsTel, Chr$(11)) ‘多短信返回时对方电话分割
SDT =
Split(SmsCls.RsDate, Chr$(11)) ‘多短信返回时发送日期分割
SCON
= Split(SmsCls.RsCon, Chr$(11)) ‘多短信返回时短信内容分割
Dim I
As Long
For I
= 0 To UBound(SCON)
Text2 = Text2 + "存放序号:"
+ SID(I) + Chr(13) + Chr(10)
Text2 = Text2 + "短信中心:"
+ SCN(I) + Chr(13) + Chr(10)
Text2 = Text2 + "对方手机:"
+ sTl(I) + Chr(13) + Chr(10)
Text2 = Text2 + "接收日期:"
+ SDT(I) + Chr(13) + Chr(10)
Text2 = Text2 + "短信内容:"
+ SCON(I) + Chr(13) + Chr(10)
Text2 = Text2 + "=============================" + Chr(13) + Chr(10)
Next I
End If
A1:
Label6.Caption = "操作结束"
Debug.Print
Aa
End Sub
AT指令
用户自由发挥扩充的地方,与普通AT指令返回一样
Private Sub
Command4_Click()
'AT指令测试
Label6.Caption = "开始AT指令测试"
Text2 =
SmsCls.YhATCommand(Text6.Text)
Label6.Caption = "操作结束"
End Sub
Private Sub
Text1_Change()
'显示短信字数
Label6.Caption = "字符数:" + CStr(Len(Text1))
End Sub
退出时关闭端口
Private Sub
Form_Unload(Cancel As Integer)
'关闭短信端口
Label6.Caption = "开始关闭"
Label6.Caption = "关闭:" + SmsCls.YhCloseModem
‘如果正在发送处理短信时中止短信处理,再将按退出可直接退出
If
SmsCls.smsStatus <> "" Then
Cancel = True
Else
Set
SmsCls = Nothing
End If
End Sub
深圳市惠通通讯技术有限公司
http://www.1861gd.com www.61280015.com
0755-61280015/61282516/25866915/25866911
业务QQ:10552085
张朵朵
投诉电话400700 8846
|