`

GSM MODEM的基本用法-收发短信篇

阅读更多

第五步、通过绘声绘彩编辑短信并发送
编辑模板短信
点击“工具栏”的“新建信息”----》文字短信----》确定,输入短信内容之后,点击确定。
添加电话号码
在右侧空白处右击,选择“插入收件人号码”,或者点击菜单栏的“导入号码”,或者点击“菜单栏”旁边的三角选择“插入收件人号码”,在弹出的对话框中输入电话号码之后确定,右侧就会出现一个短信列队,刚刚添加的短信显示正在发送。
至于其他的,像导入电话号码、编辑彩信什么的,大家有空自己研究吧。

 

第六步、通过读取数据库短信信息发送短信
发短信用到的数据库是mbssendmsg(表名大小写无所谓),结构和字段信息帮助文档中有,我这里就不一一列出来了,只说几个有用的:
插入数据的SQL,我这里贴一个我本地的例子吧:

insert into MBSSendMsg(Sender,Recipient,MsgLevel,MsgType,Subject,URLs,MMSInfo,MsgStatus,MsgSize,RequestTime,SendStyle,SendTime,SendOutTime,DeliverTime,ScreenHeight,ScreenWidth,ComPort,MsgID,RefID,ExtendInfo,Comments,SMSSendID)values('1','10086',0,1,'测试数据','','',0,8,now(),0,'','','',200,140,1,NULL,'','','','80'),('1','10010',0,1,'测试数据','','',0,8,now(),0,'','','',200,140,1,NULL,'','','','80')

字段比较多,看起来有点费劲(写的时候也费老大劲了)。这个SQL一次性添加了两条数据。 下面给它拆一下,这样子就知道哪个字段对应于哪个值了。

insert into MBSSendMsg(Sender,Recipient,MsgLevel,MsgType,Subject,URLs,MMSInfo,MsgStatus,MsgSize,RequestTime,SendStyle,SendTime,SendOutTime,DeliverTime,ScreenHeight,ScreenWidth,ComPort,MsgID,RefID,ExtendInfo,Comments,SMSSendID)values('Sender:1','Recipient:10086', MsgLevel :0, MsgType :1,' Subject:测试数据',' URLs :空',' MMSInfo :空', MsgStatus :0, MsgSize :8, RequestTime :now(),SendStyle :0,' SendTime :空',' SendOutTime :空',' DeliverTime :', ScreenHeight :200, ScreenWidth :140, ComPort :1, MsgID :NULL,' RefID :空',' ExtendInfo :空',' Comments :空',' SMSSendID :80')

先说一下其中有用的几个字段:
Sender:发送人号码,可以不填,也可以用来记录一些有用的信息,我这里就用来存有用信息了。
Recipient:接收人号码,必须填。
MsgLevel:短信级别,0:普通发送,1:优先发送
MsgType:短信类型,1-短信
Subject:短信内容或者彩信标题
MsgStatus:发送状态,- 3:不符合规范;-2:未收到送达回执信息;-1:发送失败;0:请求发送;1:发送处理中;2:发送成功;3:信息已送达。我这里是0,请求发送。
MsgSize:信息大小(Bytes)
RequestTime:请求时间,我这里是当前时间
SendStyle:发送类型,0:即时发送 1:定时发送。我这里即时发送。
SendOutTime帮助文档解释:服务器提交时间,个人理解:短信发送成功的时间。不需要我们维护。短信发送成功之后GSM MODEM会自动修改这个字段,这样我们就知道这条短信什么时候发送成功了
RefID:帮助文档解释:参考ID。这个字段也不需要我们维护,发送成功之后会自动返回一个数字类型的数据。据说GSM MODEM在发送短信时会借助一下Access,可能这个RefID是Access某个表中的主键序号。(纯属个人猜测,有时间求证一下)

 

再说几个关键性或者有误导性的字段
误导性

ComPort:帮助文档说的是发送端口号,我的第一感觉就是:这个端口号就是发送短信时用的端口号,若用COM1这里就写1若用COM3这里就写3,若我这里的端口号跟实际发送的端口号对应不上就会发送失败。而实际上这个端口号是不需要我们维护的,绘声绘彩中设置了通道,发送这条短信时用的通道是哪个端口这个数据就是那个端口号。如:通道用的COM3发送短信成功后这个字段就会被自动修改成3,用的COM8成功后就会被修改成8。与我们自己写的1/2/3/4没有半毛钱关系。

 

关键性
MsgID:帮助文档解释:信息ID。不懂什么意思,但是这个字段必须有,要是没有,MsgStatus就会直接变成-3,也就是不符合规范,短信自然就发送不了啦。我这里的设置是将这个值与主键序号设置成相同的,且必须在发送短信之前设置(数据被写入到mbssendmsg表到GSM MODEM发送短信有一定的时间差)。如此之后,就能正常发送啦。
即时的将一个主键序号赋值给另一个值,经常能想到的首先是触发器。
以下是SQL Server版本的触发器方法:
update MBSSendMsg set MsgID=inserted.IdxNo from  inserted where MBSSendMsg.IdxNo=inserted.IdxNo;

mySQL:
update mbssendmsg set MsgID=NEW.IdxNo where mbssendmsg.IdxNo=NEW.IdxNo;
但是MySQL是不允许这样子的,一旦这样子定义会报错:
Can't update table 'mbssendmsg' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
原因是:在一张表中的触发器,不能直接对同一张表执行 增加,删除,修改操作,防止造成死循环
因为我是用java代码直接insert的,所以我在insert之后,又update了一下
update MBSSendMsg set MsgID=IdxNo,MsgStatus=0 where MsgID is null;
(将MsgStatus设置成0是避免先前的MsgID没有数据导致MsgStatus变成了-3而不再发送,变成0请求发送)。

 

SMSSendID:这个字段GSM MODEM的系统表中是没有的,是我这里根据需要添加的。群发消息自然是只编辑一条,然后将这一条拆成多条分别发送,等发送完成后还需要更新这一条消息的发送状态和发送时间,此时SMSSendID就很有必要了。
打个比方:
我编辑了一条群发的消息,记录在table1里边,主键序号为111,它被拆成了3条短信,存到了mbssendmsg表中,它们的SMSSendID都是111。等到这3条短信一条发送成功了,它会通过SMSSendID找到table1中的那条信息,然后更新状态和发送时间。(考虑到“三条短信除了收件人不同其他都相同发送时也不会出太大娄子”的情况,其他乱七八糟的考虑自动忽略)。这个功能用触发器就可以搞定。无论是SQL Server还是MySQL,都可以(更新的是其他表不是mbssendmsg表本身,所以可以修改)。

以上是将正确的数据添加到mbssendmsg表中,但是到这里GSM MODEM还不能发送短信,还需要点一下绘声绘彩界面中菜单栏“操作”----》“开/关中转服务”,可是试用版本这个功能也是不能用的,得注册后才能用

 

以下说说注册
安装绘声绘彩之后,进入菜单栏的“帮助”----》注册,然后就会弹出如下的框:

把硬件码拷贝出来,发给厂商。
厂商名称:北京人大金仓信息技术有限公司
厂商连接:http://www.smsalert.cn/DOCC/product_dxw.htm
厂商联系方式链接:www.smsalert.cn/DOCC/yd_tech.htm
(大家也可以去网上搜这个厂商)
之后厂商会发回一个dat文件,将这个文件拷贝到绘声绘彩的安装目录下(与VividMMS.exe同级),重启绘声绘彩就注册完成了。


之后,再点击“开/关中转服务”,就能发送mbssendmsg表中的数据啦

 

第七步、收件箱
用的表:mbsrecmsg
其实这个表也不需要我们维护,只要我们数据库里边的表名(大小写无所谓)和字段与要求的一致即可。这样子当GSM MODEM收到短信时它会自动往mbsrecmsg表中写,我们只需要查看就成啦。(这个还是挺不错的)
注意点:表名和字段信息必须高度一致,一旦有些微不一致都收不到消息

基本功能就写到这里啦,其他的功能大家去碰吧,祝好运!

  • 大小: 8.4 KB
分享到:
评论

相关推荐

    c#直接串口通讯控制GSMModem收发短信

    本文将详细讨论如何使用C# 2.0语言通过串口通讯来控制GSM Modem,实现短信的收发功能,无需依赖额外的驱动程序。 首先,我们需要理解GSM Modem的工作原理。GSM Modem是一种能够接入全球移动通信系统(Global System...

    短信猫:又称GSM MODEM,GSM猫,无线猫,短信模块,GSM模块

    软件开发商可以采取以下四种方式:1、直接使用AT指令,基于串口通讯模式使用AT指令直接操作短信猫,这是最底层的短信猫开发模式,基本上无论是哪种接口的短信猫,其实质还是通过GSM MODEM的串口通讯AT指令来驱动的。...

    GSM Modem 各种语言的调用库和使用文档

    本文将详细介绍GSM Modem的各种语言库及其使用方法,旨在帮助编程人员更高效地利用GSM Modem。 1. **Python库**: - `pygsm`:这是一个用于通过串行接口与GSM Modems交互的Python库。它支持发送短信、接收短信、...

    gsm/gprs modem收发短信/彩信动态链接库

    在IT行业中,GSM/GPRS调制解调器常用于实现远程通信,特别是短信和彩信的收发功能。这个动态链接库(DLL)是为了帮助开发者集成这些功能到他们的应用程序中,支持PHP、C#和VC++等编程语言。下面我们将深入探讨相关...

    C#使用GSM Modem的文本短信编码和解码

    GSM Modem 短信的编码和解码 在收发短信方面,按时间产生先后,共产生了三种模式:Block Mode、基于AT指令的Text Mode、基于AT指令的PDU Modem, Text Mode比较简单,多款诺基亚手机均支持该模式。西门子的手机大多只...

    短信猫(modem gsm)二次开发包

    短信猫(Modem GSM)是一种特殊的通信设备,它允许计算机通过GSM网络发送和接收短信。这个二次开发包是专为程序员设计的,用于利用这种技术集成到自己的应用程序中。以下是一些关于短信猫(Modem GSM)二次开发的...

    GSMMODEM类库,帮助发送与接收短信(通过与短信猫进行COM串口通信)

    GSMMODEM类库应当提供一套完整的API接口,包括打开/关闭串口、设置Modem参数、发送短信、接收短信等方法。同时,它也需要有良好的错误处理机制,当Modem通信出现问题或操作失败时,能够返回相应的错误信息,帮助...

    gms modem短信收发组件

    GMS modem短信收发组件是通信技术中的一个重要组成部分,它主要负责通过通用分组无线服务(GSM)网络进行短信的发送和接收。在本文中,我们将深入探讨这个组件的工作原理、相关技术以及如何利用这些组件进行实际操作...

    PHP 使用 Dio 库 和 GsmModem 发送短信

    总之,"PHP使用Dio库和GsmModem发送短信"是利用软件与硬件设备结合实现的一种通信方法,它要求开发者对PHP编程、串行通信、AT命令集以及GSM Modem的工作原理有一定的了解。这种技术在物联网(IoT)、远程监控系统等...

    Java 使用SMSLib通过串口通讯收发短信

    在本案例中,Java程序通过串口与GSM modem或其他支持短信功能的硬件设备连接,实现短信的收发。 4. **GSM Modem**:GSM modem是一种能够接入GSM网络的设备,它可以连接到计算机的串口,通过AT命令集控制,实现短信...

    如何利用AT 指令控制MODEM 收发PDU 格式短信

    ### 如何利用AT指令控制MODEM收发PDU格式短信 #### 一、GSM系统与短信息服务 GSM(Global System for Mobile communication)作为基于时分多址技术的成熟移动通讯体制,拥有广泛的应用场景。GSM数字蜂窝移动通信...

    GSM MODEMGSM终端编程开发PDU码短信格式短信规则解析

    MSCOMM控件提供了一系列方法和属性,用于控制串行通信过程,是实现GSM Modem短消息收发的关键组件之一。 1. **初始化MSCOMM控件**:设置串口参数,如波特率、数据位、停止位和校验位等。 2. **配置AT指令**:发送AT...

    短信猫收发短信的一个C#类

    在IT行业中,短信猫(GSM Modem)是一种常见的设备,用于通过移动网络发送和接收短信。这个C#类库的创建,旨在提供一个高效、便捷的接口,以供开发者集成到自己的应用中,实现短信的自动收发功能。下面我们将深入...

    c#发短信的一个例程要使用短信猫GSM的那种

    在本例中,我们讨论的是使用C#进行短信发送,具体是通过GSM(全球系统移动通信)设备,通常称为“短信猫”。短信猫是一种硬件设备,它可以连接到计算机并模拟手机SIM卡的功能,使得通过电脑进行短信收发成为可能。 ...

    USB Q2406A MODEM USB GPRS GSM Python代码API手机发送短信 企业短信通驱动+配置文档+说明书

    标题中的“USB Q2406A MODEM USB GPRS GSM Python代码API手机发送短信”表明,这是一个关于使用Python编程语言通过USB接口的Q2406A GPRS GSM MODEM来实现短信收发功能的技术主题。Q2406A是一款支持GPRS和GSM通讯的...

    通过MSCOMM控件实现短消息收发中英文短信

    【标题】: 使用MSCOMM控件实现短消息收发中英文短信 在C#编程环境中,MSCOMM控件是一种常用的串行通信接口,它允许开发者与串口设备进行数据交互,包括发送和接收数据。在本主题中,我们将探讨如何利用MSCOMM控件来...

    smslib操作modem收发手机短息

    5. **高级特性**:除了基本的收发,SMSLib还支持短信调度(设定特定时间发送)、短信报告(确认短信是否成功送达)和短信存储(在数据库或其他持久化存储中保存短信记录)。 **三、使用步骤** 1. **安装库**:将`...

Global site tag (gtag.js) - Google Analytics