基于GSM/SMS的信息查询系统设计与实现

2017-01-21 15:21敖麟钦
软件导刊 2016年12期

敖麟钦

摘 要:随着移动互联网通讯技术的飞速发展,运用移动终端进行信息查询已成为主流趋势,针对专业APP应用软件开发运维成本较高、用户需下载安装的现状,实现一种成本低廉、操作便捷的移动终端信息查询方式具有现实意义。针对以上情况,设计并实现了一款基于GSM/SMS技术的信息查询系统,系统采用SimCom公司的Sim900A模块和CP2102串口模块为主要硬件基础,基于VS平台开发短信模块控制应用软件,以短信为载体,通过AT指令控制Sim900A模块实现短信息双向通讯,构建轻量级企业专网数据访问通道,为移动终端安全访问专网数据提供了一种可行方法。

关键词:GSM/SMS;SIM900A;AT指令;信息查询;PDU

DOIDOI:10.11907/rjdk.162157

中图分类号:TP319

文献标识码:A文章编号:1672-7800(2016)012-0077-03

0 引言

近年来,移动互联网通讯技术快速发展,网速逐年大幅提升,移动数字终端(如:手机、平板电脑)通过装载功能强大、种类繁多的APP软件,正逐步替代传统的PC电脑,成为主流的“资讯终端”。另一方面,开发专业APP软件投入大、周期长、技术门槛高,对于信息化建设预算较为有限的单位普遍比较困难。如何以最低的成本构建安全稳定的数据通道,为移动数字终端高效便捷地开展信息查询工作做好底层通讯保障,具有较强的现实意义。为此,本文实现了一种操作简单、价格低廉、性能稳定的移动终端数据查询系统。

考虑到我国中小企业的实际分布状况及当前移动通信网络的普及情况,本文借助无线通信的优势,选用GSM(Global System of Mobile Communication)网络的SMS(Short Message Service)技术来实现远程无线信息查询,提出了一种手机短信信息查询系统实现方法。

1 组网结构与工作原理

GSM/SMS信息查询系统结构如图1所示,该系统主要由手机终端、移动通讯网络(GSM)、企业内部局域网、SIM900A通讯模块、应用服务器和数据库服务器及数据库管理软件(Oracle)组成。手机终端用于发送查询指令和接收查询反馈结果;移动通讯网络是连接企业局域网和手机终端的数据传输桥梁;应用服务器及控制程序是整个系统的控制核心,通过串口与SIM900A通讯模块连接,发送AT指令从此模块中读取短信,对短信内容进行解析,提取查询内容并发送至数据库服务器进行数据检索;同时将数据库检索结果进行短信封装并通过SIM900A通讯模块反馈给查询端。数据库服务器用于存储企业级数据,使用的数据管理软件为Oracle企业版。

2 系统硬件设计

系统采用SIM900A通讯模块接收运营商短信中心转发的短信息,通过模块TXD和RXD针脚与CP2102 USB-TTL模块实现数据交互,该模块使用USB接口与应用服务器连接,将数据传送至服务器。数据发送则为以上过程的反向过程,硬件结构如图2所示。

SIM900A通讯模块为无线收发模块,由SIMCom公司开发核心芯片。它属于双频GSM/GPRS模块,工作频段为EGSM 900MHz和DCS 1800MHz,完全采用SMT封装形式,性价比较高。该模块与主控制器通过UART1连接,外接SIM卡电路,电源供电为+5V。

CP2102 USB-TTL转换模块,内置USB2.0全速功能控制器、USB收发器、晶体振荡器、EEPROM及异步串行数据总线(UART),支持调制解调器全功能信号,无需任何外部USB器件。CP2102与其它USB-UART转接电路的工作原理类似,通过驱动程序将PC的USB口虚拟成COM口(又称串口)以达到扩展的目的。

3 系统软件设计与实现

一般情况下,SIM900A模块均是以单片机为控制主机[1-3],为了降低技术复杂程度并节约硬件成本,本文没有采用单片机作为控制核心,所有控制程序均布置在应用服务器中,以服务器为控制核心发送各类指令和查询数据。

3.1 控制程序流程

SIM900A和CP2102模块通过服务器USB接口完成硬件连接加电,控制程序主要流程如下:主程序首先完成数据库连接初始化操作,确保数据库能够正常访问;然后通过SerialPort函数打开串口,初始化SIM900A模块,初始化工作主要包括选择短信格式、设置短信模式参数等。当完成初始化工作后进入接收短信轮询状态,轮询时间为3秒,当接收到“+CMTI”信息提示,即发现有新的短信,按照短信PDU模式对接收信息进行解析,若解析成功且短信内容符合程序要求,即按照查询内容生成SQL语句发送至数据库进行信息检索。根据数据库检索结果进行短信PDU模式封装,过长的短信息需封装成多个PDU包进行发送。程序流程如图3所示。

3.2 PDU模式短信息解析及发送

SIM900A模块发送短信支持文本和PDU两种模式。文本模式(又称text模式)没有拆分重组功能,不能发送较长内容的短信。PDU模式单次可发134个有效字节(268/2=134,见表1),可将较长短信拆分成多条信息发送,并在接收端进行重组。本文采用PDU模式进行短信发送,首先要使用StringToUnicode函数将发送的文本内容进行Unicode编码转换[4],然后按照PDU模式的协议标准进行报文拼接。报文格式如表1所示。

3.3 信息查询安全策略

根据实际需要,以特殊字符或大写英文字母置于拟发送的短信息首端,作为信息查询分类标识,如短信内容为“*A88888”,表示查询车牌号为“A88888”的车辆注册信息,“*”为车辆信息查询标识;短信内容为“P张三”,表示查询本单位员工张三的手机和办公电话号码,“P”为员工联系方式查询标识。

为了防止用户恶意窃取信息等情况发生,此系统设置了非法用户过滤和单日最高查询次数限制的安全策略。程序读取短信后解析查询手机端电话号码,在数据库中检测是否为合法用户,非法用户查询信息将不会反馈。对于合法用户的查询操作进行数据日志记录,一般用户单日查询次数超过规定上限值,系统将不反馈信息,有效避免信息大量泄漏,保障了信息安全。

4 系统实现

本系统采用Visual Studio 2010作为开发平台,操作系统为Windows 2008 Enterprise,数据库管理系统为Oracle 11g,使用CP2102 USB-TTL转换模块实现USB口虚拟化COM口(又称串口)需在应用服务器端安装驱动程序。回显状态栏用于实时监控SIM900A通讯模块运行状况和短信收发情况;发送栏主要功能为发送短信至目标手机号;信息接收栏显示通讯模块接收到的短信息和按照查询指令完成查询操作及拟反馈的短信息。

5 结语

设计并实现了一种基于GSM/SMS的信息查询系统,可为中小型企业通过移动终端实现信息查询提供一种有效方法,在实际应用中证明此系统具有长时间在线、应用范围广、稳定安全等特点。GSM/SMS技术以无线电波为载体实现了企业网与互联网在链路层的互通,而本文提出的是一种构建轻量级企业专网数据访问通道的方法,因内部安全控制策略较为简单,不适用于保密安全级别较高的企事业单位。为此,如何将通讯模块与企业网络安全策略有机整合,有效利用网络边界接入平台进一步提高系统整体安全性是下一步研究的重要方向。

参考文献:

[1] 杨鑫,申长军.基于 SIM900 的苗情图像无线传输系统设计[J].中国农机化学报,2013,34(4):252-256.

[2] 霍涛,贾振堂.基于STM32和SIM900A的无线通信模块设计与实现[J].电子设计工程,2014,22(17):106-114.

[3] 曾明如,罗浩.基于ARM9的视频监控系统设计[J].计算机工程与设计,2015,34(4):925-929.

[4] 张维文,孙耀杰,王彬宇.基于Android和SIM900A模块位置实时监控系统的设计与实现[J].中国矿业,2014,23(S2):362-365.

[5] 刘良,赖万昌,黎明.基于ARM9的GPRS图像传输系统的设计与实现[J].计算机工程与设计,2010,31(7):1477-1480.

[6] 甘志伟,闫凯.基于SIM900A的无线数据采集卡设计与实现[J].山西电子技术,2013(1):55-58.

(责任编辑:孙 娟)