c++实时短信互动平台设计含源文件.docx
- 文档编号:2909934
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:23
- 大小:555.78KB
c++实时短信互动平台设计含源文件.docx
《c++实时短信互动平台设计含源文件.docx》由会员分享,可在线阅读,更多相关《c++实时短信互动平台设计含源文件.docx(23页珍藏版)》请在冰豆网上搜索。
c++实时短信互动平台设计含源文件
实时短信互动平台设计
摘要:
随着手机的普及,短信已经成为现代人的一种主要交流方式,但短信的应用不仅局限在人们之间点对点的交流,其同样能应用于课堂教学、大型活动的实时互动上。
本系统使用通用串行总线将SIM300GSM模块与PC机相连,可将短信数据传送到PC机上进行进一步的处理。
PC端软件使用Windows操作系统下的VisualStudio2008集成开发环境进行编写,开发语言为C++,使用了MFC类库和MSCommActiveX控件。
平台可实现即时互动、投票表决、课堂练习等三种功能。
软件可与PowerPoint等演示软件协同运行,有良好的兼容性。
关键词:
短信平台GSM模块串口通信C++MFC
绪论随着通信技术的发展,手机已经成为每个现代人的必备通信工具,短信也成为很多人特别是年轻人的喜欢的通信方式。
但SMS(ShortMessagingService,短消息服务,即常说的“短信”)是一种传递消息的手段,它的功能远不限于人与人之间点对点的消息传递,由于手机的普及性,我们还可以利用短信的内容,实现大型活动、课堂教学的实时交流互动。
实际上,类似的短信平台早就出现过,最常见的例子就是电视节目中的短信互动平台。
但这种平台一般是由运营商提供,客户在支付一定的使用费后通信运营商才会通过公众互联网将短信内容发送到客户的处理机上。
这种平台仅限于大型企业、电视台等有资金的单位,如果仅为了一次活动或者课堂教学就购买相应的服务很不值得。
另外,向这种平台发送短信的用户也需要支付高额的信息费。
本平台面向现场活动和普通高校的课堂教学进行设计,硬件上只使用一个廉价的GSM模块,它可以实现包括发短信、打电话在内的手机通信功能。
通过使用通用串口将GSM模块连接到个人计算机上,就可以用计算机软件实现对模块的控制并接收GSM发回的信息。
软件是本系统最核心的地方,主要可以分为三个模块:
通信、显示、编码处理。
通过软件作用,计算机可以和手机一样接收短信,并且可以通过短信内容,实现手机无法处理的功能,比如大屏幕即时显示、投票计数、选择题评分等。
1功能分析与硬件设计
1.1功能分析
1.1.1主要功能分析
根据举办活动及课堂教学的实际情况分析,系统可初步设计以下几种主要功能:
(1)实时显示:
将参与者发送的短信内容实时地展现在屏幕上,可用作现场回答提问、回答问题、多人讨论等;
(2)投票表决:
参与者发送特定的字母或数字,系统实时统计各选项的人数,可用作无记名投票表决、单个选择题联系等;
(3)选择练习:
类似标准化考试中所用的选择题答题卡,学生将选择题答案按规定格式发给系统,系统自动统计每个学生的成绩和每个题目的正确率等情况。
1.1.2辅助功能分析
系统还需要部分附加功能来配合主要功能来充分发挥系统的全部作用,比如:
(1)自适应字体:
展示用的电脑屏幕分辨率不是固定的,因此最好设计一种算法使得字体能够自动适应屏幕,将一个短信完整得显示在屏幕上并且能使屏幕分辨率得到充分的利用;
(2)关键词过滤:
将特殊关键词用其他词语或星号等替代,避免现场秩序混乱或者不文明发言;
(3)短信号码过滤:
在投票表决等功能中避免无关人员参加或者一人多投等功能的
出现,加入本功能实现无关号码的过滤;
(4)文件记录:
将所有发送的短信记录到文件中,以便日后的查看;
(5)用户界面定制:
用户界面是软件的重要组成部分,用户最好可根据自己的喜好定制自己喜欢的用户界面,比如显示界面背景更换,文字字体、颜色的更换等。
1.2硬件设计
1.2.1硬件部分总体设计
本系统硬件部分较为简单,包括一个GSM模块和一台PC机,如果是笔记本电脑等不带RS232接口的计算机,还需要一根USB转RS232转接线。
系统总体框图如图1-1。
图1-1系统总体硬件示意图
1.2.2GSM模块
GSM是GlobalSystemforMobileCommunications的缩写,意为全球移动通信系统,是世界上主要的蜂窝系统之一。
GSM80年代兴起于欧洲,1991年投入使用。
到1997年底,已经在100多个国家运营,成为欧洲和亚洲实际上的标准,到了2001年,在全世界的162个国家已经建设了400个GSM通信网络。
但GSM系统的容量是有限的,在网络用户过载时,就不得不构建更多的网络设施。
值得欣慰的是GSM在其他方面性能优异,它除了提供标准化的列表和信令系统外,还开放了一些比较智能的业务如国际漫游等。
GSM手机的方便之处在于它提供了一个智能卡,人们称之为SIM卡,并且机卡可以分离,这样用户更换手机并且定制个人信息这方面都十分便利了。
GSM模块,是一个类似于手机的通讯模块,集成了手机的若干功能于一块小电路板上,它可以发送短消息,通话等等,模块虽小,但它具备了很多手机的功能,拥有它等于就是拥有了手机的核心部分了,它在很多应用领域中都有着广泛的应用,GSM模块通过使用AT指令才能控制它,模块可以与电脑RS232串口相连,也可以用单片机来进行控制。
由于当前市场上GSM模块产品型号众多,很多国外产品可用的资料却比较少,特别是中文开发文档比较少,所以,我在选择具体模块的时候考虑了模块的技术成熟度、文档资料是否易找、购买起来是否方便和性价比。
最终选择了SIMCOM公司生产的SIM300GSM模块。
模块照片如图1-2。
图1-2SIM300GSM模块
SIM300是一款三频段GSM/GPRS模块,可在全球范围内的EGSM900MHz、DCS1800MHz、PCS1900MHz三种频率下工作,能够提供GPRS多信道类型多达10个,并且支持CS-1、CS-2、CS-3和CS-4四种GPRS编码方案。
SIM300结构小巧,外形尺寸仅40mm*33mm*2.85mm,几乎可满足所有对产品尺寸有要求的工业应用,比如智能电话,掌上电脑和其他移动设备。
模块与移动应用设备通过一个60引脚的板板连接器相连,它提供了除了RF天线接口的其他所有模块与开发板的硬件接口。
SIM300具有低功耗设计,睡眠模式下的电流消耗仅为2.5mA。
SIM300内部集成了TCP/IP协议栈,并且扩展了TCP/IPAT指令,使用户利用该模块开发数据传输设备变得特别简单、方便。
1.2.3USB-RS232转接线
因现在绝大多数个人计算机都不带硬件串行口,而SIM300GSM模块必须用USART与电脑进行通信,因此需要模拟出一个串行口供GSM模块使用。
而现在常用的方法就是使用USB-RS232转接线。
USB-RS232转接线可以将串口数据通过USB总线发送给计算机。
其结构非常简单,一般只有两个芯片。
其中一个是USB转TTL电平芯片,另外一个是TTL电平转RS232电平芯片。
后者现在的产品都清一色的选用MAX232(5V)或者MAX3232(3.3V),而前者有很多种选择,比如低端的PL2303、HC340,中端的CP2102,高端的FT232等。
因GSM所需的波特率不高,所以我选择了低端的HC340芯片。
转接线的制作非常简单,按照参考电路将各个芯片连接好即可。
2软件开发环境及所需技术简介
2.1集成开发环境
2.1.1集成开发环境的选择
Microsoft公司的Windows操作系统是目前国内最常用的操作系统,而Windows平台下的集成开发环境主要有C++Builder、Delphi、Eclipse、VisualStudio等。
而Microsoft公司的VisualStudio无疑是最常用、兼容性最好、技术支持资料最多的集成开发环境。
现在常用的VisualStudio版本主要为6.0、2008、2010。
其中6.0版是最经典的版本,国内绝大部分高校、部分企业都把它当做开发或者教学的首选,其优点是效率高、技术支持资料多、界面简洁。
但由于其版本太过陈旧,因此不能使用较新的技术,对最新版本的Windows系统兼容性不好。
2010版是VisualStudio的最新版本,支持最新的技术,有这绚丽的界面,但由此带来的是巨大的资源消耗和极低的效率。
综上考虑,我选择了介于两者之间的VisualStudio2008版本。
2.1.2VisualStudio2008简介
VisualStudio是一套完整的开发工具,用于生成ASP.NETWeb应用程序、XMLWebservices、桌面应用程序和移动应用程序。
VisualBasic、VisualC#和VisualC++都使用相同的集成开发环境(IDE),这样就能够进行工具共享,并能够轻松地创建混合语言解决方案。
另外,这些语言使用.NETFramework的功能,它提供了可简化ASPWeb应用程序和XMLWebservices开发的关键技术。
VisualStudio2008在三个方面为开发人员提供了关键改进:
快速的应用程序开发、高效的团队协作、突破性的用户体验。
VisualStudio2008提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。
VisualStudio2008包括各种增强功能,例如可视化设计器(使用.NETFramework3.5加速开发)、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。
VisualStudio2008为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持AJAX的Web应用程序。
开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的Web应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问ASPNET应用程序服务和Microsoft平台。
2.2程序设计语言
2.2.1VisualStudio2008所支持的程序设计语言
VisualStudio2008包含VisualC++、VisualBasic、VisualC#等组件,分别支持C++、Basic、C#等程序设计语言。
VisualBasic是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。
它简单易学、效率高,且功能强大可以与专业开发工具SDK相媲美。
在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(SPI)函数,以用动态链接库(DLL)、对象的链接与世隔嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。
但由于Basic语言是一种解释运行的语言,它的效率要比编译运行的语言低得多。
VisualC++是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。
它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。
C#(CSharp)是Microsoft为.NETFramework量身订做的程序语言,C#拥有C/C++的强大功能以及VisualBasic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。
2.2.2程序设计语言的选择
从上文的介绍来看,具有C语言语法和高效性又具有Basic语言简便性的C#语言貌似是本项目的最佳选择。
但本平台的应用特点决定了该程序将在多个具
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 实时 短信 互动 平台 设计 源文件