金笛工业手机论坛  

返回   金笛工业手机论坛 > 开发者乐园 > 短信开发资料

短信开发资料 短信开发技巧,代码分析

回复
 
LinkBack 主题工具 显示模式
旧 2009-11-26   #1 (permalink)
超级版主
 
s0z0y 的头像
 
注册日期: 2009-06-30
帖子: 173
s0z0y 正向着好的方向发展
发送 ICQ 消息给 s0z0y
默认 【转】基于C#.NET的GSM MoDEM短信猫应用设计开发

  0 引 言


  全球数字移动通信系统(Global System for MobileCommunieation,GSM)是目前国内覆盖范围最广、系统可靠性最高,话机拥有量最大的数字移动蜂窝通信系统。与常规VIIFPUHF无线通信网、800兆集群无线通信网比较,具有通信范围大,可靠性高,易于维护等特点,而且能够减少各专用通信网基站的重复投资建设,在民用和商用领域具有非常重要的作用。

  短消息业务(Short Message Service,SMS)与语音传输和传真一样,同为GSM数字蜂窝移动通信网络提供的主要业务。它通过无线控制信道传输,经短消息中心完成存储和转发功能,每条短信的最大信息量为160个ASCII字符。短消息服务是GSM系统中惟一不需要建立端到端信道的业务,即使移动台已经处于电路通信状态,还能同时提供短消息服务。如果传送失败,接收方没有回答确认消息,网络会保留所传的消息,一旦网络发现接收方能够接通时,就会重发消息,以确保接收方能够收到,而且还可以通知发送方消息发送成功。因此,短消息服务具有覆盖范围广,在线保持后不需再拨号即可自动传送,费用低廉,稳定性高等优势,特别适用于需频繁远距离传送小流量数据的领域。

  短信猫(GSM MODEM)是专门针对短信应用设计的,内含工业级短信发送模块,简化了通信接口,性能稳定可靠,符合各种商业和工业级短信应用的要求,支持向移动、联通以及小灵通用户收发短信,适用于各行各业各个领域作无线数据通信、短信息通告和短信查询等应用。重点阐述基于C#.NET的GSM MODEM短信猫平台的应用设计和实现。

  1短信猫开发的系统框架

  短信猫,是一种工业级GSM MODEM,通过串口与计算机连接,通过AT指令控制进行短信收发的设备。国内目前应用较多的短信猫都是以SIEMENS或WAVECOM模块为核心组装而成的。一般情况下,短信猫的短信应用开发都遵循如图1所示的开发框架。







  2短信猫的C#语言实现设计

  2.1短信猫的硬件连接

  短信猫的硬件接口主要有USB和COM串口两种形式,这里主要研究COM串口短信猫。硬件连接流程为:首先利用串口连接器短信猫与PC机;其次把SIM卡插入短信猫的通信插卡槽,一然后接通短信猫外接电源。其具体硬件连接如图2所示。

  2.2短信猫的软件功能和流程

  短信猫的软件功能是提供短信猫应用用户的友好界面,实现短信猫与短信相关应用的所有功能。根据短信猫应用开发的开发构架如图1所示,其主要流程为:

  (1)当短信相关应用(OA或者CRM)需要发送短信时,将短信接收者和内容提交到短信发送队列;当短信相关应用需要读取短信时,从短信接收队列中读取收到的短信和短信的来源号码。

  (2)开发独立的短信后台服务,实现发送短信的过程是从短信发送队列中读取短信,调用短信猫开发包发送短信;实现接收短信的过程是通过调用短信猫开发包读取设备已收到的短信,放入短信接收队列。

  (3)短信猫开发包的内部实现过程是通过串口通信与短信猫连接,利用串口发送AT指令驱动短信猫收发短信。

  2.3 串口通信的实现

  C#(C sharp)是微软公司发布的一种面向对象的、运行于.NET、Framework上的高级程序设计语言。C#是微软公司研究员Anders Hejlsberg的最新成果,C#看起来与Java有着惊人的相似,其相似部分主要有单一继承、界面,与Java几乎同样的语法和编译成中间代码再运行等。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET Windows网络框架的主角。

  短信猫相关应用开发的核心是实现串口通信,在此研究短信猫在C#语言下的实现是利用微软公司提供的通用串口通信MSCOMM32控件。在Visual Studio 2005编译器开发环境下把微软通用串口通信控件MSCOMM32作为组件装入编译器,实现串口通信的实际过程如下。

  2.3.1 打开串口和初始化串口

  在程序初始化时,先对串口初始化,同时由于串口短信猫是使用RTS/CTS握手信号的硬件设备,只有该设备的RTS信号置为高才能接收数据,所以需将mscomm32通信控件DTREnable属性设为true,其所有具体实现过程如下:







  2.3.2 读串口

  当短信相关应用接收短信时,通过串口把读短消息AT指令(AT+CMGR)发送给短信猫,短信猫接到指令后调用内部短信接收模块接收短信,同时把短信内容回传到串口缓冲区,短信相关应用从串口缓冲区读取短信信息,其读串口过程如下。







  2.3.3 写串口

  当短信相关应用发送短信时,把发送短消息AT指令(AT+CMGS)和发送消息通过串口发送给短信猫,其写串口过程如下。






  2.3.4 关闭串口

  当短信相关应用完成所有的任务时,把串口关闭,释放串口资源,其关闭串口过程如下:







  3调试和实现

  在Visual Studio 2005编译器环境下利用C#语言开发短信猫的应用软件完成编译、连接、运行后,在Visual Studio 2005环境下发布软件,其用户界面如图3所示。








  根据短信猫调试硬件平台要求把GSM MODEM短信猫与PC机根据短信猫的硬件连接搭建好,一建立调试平台。

  (1)安装运行在Visual Studio 2005编译器里发布的软件,安装完成以后在PC机上将出现图3的用户界面。

  (2)在图3用户界面中,首先根据连接PC机端口输入正确的端口号,默认情况下是COM1端口,点击“打开”按钮,如果端口连接完成,“打开”按钮将变成“关闭”,同时在界面最左面的文本框中将提示连接成功消息;如果连接不成功,“打开”按钮将不发生改变,在用户界面最左面的文本框中将提示连接不成功消息。

  (3)在图3用户界面中,输入正确的用户名和注册码,在用户界面最左面的文本框中将提示相关消息。该步骤是验证软件的合法性而设计的一个固定加密算法,即当客户购买正版软件时可以得到正确的用户名和注册码,软件系统自动根据解密算法,确定软件功能的正常实现;如果输入的用户名和注册码不正确,则该软件将无法运行。

  (4)在图3用户界面中,点击“设置”按钮,设置短信中心号码,如果成功,将在“短信中心”后面的文本框中显示该短信猫SIM卡的短信服务中心号码。

  (5)在“手机”和“信息”文本框中输入手机号码和发送的信息,点击“发送”按钮,短信猫将发送消息到达指定的手机。如果需要读取短信或者删除短信,在相对应的文本框中输入读取或者删除短信数目,则在用户界面最左面的文本框中将显示相应提示和内容。

  在实际的短信猫相关应用开发基础上,在基于GSM网络的短信平台的开发中实行严格的标准化、系列化、规范化设计,将基本硬件结构及基本软件形成产品的“统一机芯”,即基础平台,并将与基础平台相关的周边扩展电路及应用软件进行优化、筛选,形成基础平台的平台库资源。在开发新产品时,利用基础平台,选择平台库中的相关资源能很方便地进行设计,从而能在极短的时间内开发出不同应用的新产品。

  4结语

  C#是微软开发的一种面向对象语言,既基于C++语言,又包含类似Java的很多特征,其目标是既拥有C++的执行效率和运算能力,也具备如VB一样的易用性。这里利用主流的C#语言完成短信猫的相关应用软件开发,与其他的开发语言,如VB,VC,Java等开发的GSM MODEM应用软件相比,该应用软件用户界面良好,功能齐全,实用性好,运行可靠性高。
__________________
通讯利器,金笛锻造
www.sendsms.cn

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

书签


当前查看此主题的会员: 1 (0 位会员和 1 位游客)
 

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 07:20


Powered by vBulletin® 版本 3.8.3
版权所有 ©2000 - 2024,Jelsoft Enterprises Ltd.