基于GSM短信网络的CPS设计与实现

来源 :计算机时代 | 被引量 : 0次 | 上传用户:dong770527
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:使用GSM模块和CPS数据库结合的方式实现了一种定位方法。该方法基于短信通信和数据库处理,可以使用现有设备,工程实现简单,具有很强的可用性。但其定位精度取决于数据库。
  关键词:CPS;蜂窝信息;短信模块;基站信息数据库;数据搜索
  
  引言
  
  目前主要的定位方式有两种,一是GPS及其类似技术,如我国的“北斗”导航系统;二是基于蜂窝小区的定位技术(CPS),它根据移动台到已知位置的差值来定位。这两种方式都具有自己的优点和不足。GPS定位精度较高,适用地域非常广,但是设备价格昂贵。蜂窝定位技术可以作为蜂窝系统的附加方式,投入相对较低,仅限于有移动台的地方适用,基站密度降低精度也将大大降低,但因它的简单和方便性有一定的价值。本文就这一定位技术的实现做相关讨论。
  
  1 系统结构和定位方法
  
  根据蜂窝定位原理,要获得当前的位置信息必须首先获得基站和小区信息。GSM系统规定每个基站在接受移动台的接入时必须出示自己的代号以及一些特有的信息。移动台保存这些信息并且在一定时间一定范围内用这些信息和基站通信。严格的定位技术将根据信号强度、载波相位、信号到达角度、时间差等信息进行定位,虽然精度高但是移动台需要具有相当多的信号检测功能。一般的手机并不具有这些监测功能,所以用普通手机很难实现严格定位。然而使用逻辑层的定位,使用固定的基站信息定位,这是一般的手机都能做到的Ⅲ。相应的系统流程图和结构图如图1、图2所示。
  


  GSM模块使用的是西门子公司的TC35通信模块,该模块具有完整的功能和很高的性能,但不支持GPRS。该模块的功能相当于普通手机中的射频和基带处理部分。
  
  2 小区和基站信息的获取
  
  TC35模块使用特有的指令“AT MONI”来获取当前接入的小区信息,获取邻近小区信息的指令是:AT MONP。(不同的模块有不同的指令,可以参考该模块的使用方法)
  其中chann指当前和基站通信使用的信道编号,rs指移动台感受到的信号强度等级,dBm,指信号的具体强度值。如果模块暂时不能完成输入处理,那么就返回空值。
  需注意的是,由于该信息的实时性较强而且获取过程需要一定的时间,所以有时候模块会返回空信息(只有格式没有内容)或者无返回信息。所以在这种情况下要多次尝试才有有效信息出现。
  返回信息中的5个参数的具体含义如下:
  PLMN:运营商的代码,460表示中国,后面的00表示中国移动,01表示中国联通。
  LAC:位置区码,表示一个区域的代号,一个区中可能包含多个的Cell。
  Cell:小区识别,在一个LAC中cell代号不能重复,其中LAC和cell都是16bit,以16进制表示。
  NCC:网络色码,用于识别相邻的不同运营商的基站,一般相邻的基站不能有相同的NCC。
  BCC:基站色码,表示同一个PLMN中载频相同的不同基站。其中NCC与BCC各为3bit,并一起组成了基站识别码。
  剩下的还有:
  PWR:该基站允许的最大功率;RXLev:该基站允许的最小信号门限,小于这个值将不能入网,即通常说的掉线。再后面的信息表示通话时使用的信道状况。因为在GSM系统中系统信道和数据信道是分开的,每次通话会分配单独的信道,所以未通话时显示为No connection。这个数据不易获得且意义不大,所以一般不作为定位数据。
  其中c1,c2,是和基站有关的一些系数,其他和上面意义相同,表示6个邻近区的信息。由于在蜂窝中采用了扇区定向技术或信号太弱等原因,很多邻近小区不能检测到有效信息,显不为空。
  获取后的信息无效部分较多,难以用一条短信传送,所以必须进行数据压缩和格式化。有意义的数据包括本小区的PLMN、LAC、cell、NCC、BCC,邻近小区的BCC、c1、c2。注意长度不能超过70个字符。
  
  3 信息传输
  
  3.1 短信发送
  GSM模块不仅能获取信息还能收发短信。由于短信收发功能不是很难,而且相关文章也较多,所以这里只做粗略介绍。首先是格式选择,因为考虑到系统可升级性,可能需要支持汉字,所以应该选择PDU模式。需要注意的是一般的字符转换成PDU模式的方法,如在VB下代码可以这样写:
  其中,Hex( )是一个将变元转变成16进制数的函数。注意变成PDU格式后还要进行逆序操作,包括接受号码字段。
  生成好了格式后要先用“AT+CMGS=字符长度+回车”来进入发送状态,如果模块工作正常可以发送,则会回显“>”。这时把刚才生成的PDU字符输出,用回车符结束,发送成功会返回“OK”。需要注意的是在这之前最好用“ATEO”关掉自动回显功能,这样可以减小数据量,提高发送速度。
  
  3.2 短信接收
  信息通过GSM网络发送到服务器端后同样需要GSM模块来接收。将一个正常工作的GSM模块以及SIM卡等连接好以后可以设置自动接收,用命令“AT+CMNI=模式选择”来设置新消息到达的方式(具体格式请参见相关手册)。同样也可以用查询的方式:AT+CMGL=0来读取新消息。
  读取到的消息采用的是PDU编码,消息中有许多附加的信息,比如记录编号、时间、发送人等。进行格式分析的时候,注意很多字段采用交换顺序的方式存放PDU码,如果服务器性能好的话可以把这部分工作放到服务器上面做,降低设计难度。
  在编程的时候要注意接收的延时问题,区分模块的“无响应”和“传输完”两种情况。有时候模块可能不能响应发送的命令,需要重发,但这时服务器并不知道,它看到的却是“正在响应,需要等待”,如果不排除这种情况那么很容易出现“死机”状态。经过实际验证,比较好的方法是吸取TCP/IP的重传形式,使用定时器,每收到一个数据包就把定时器清零,给予模块足够的响应时间。当收到结束字符“OK”或者计数器溢出的时候程序返回。经实际验证该方法非常有效。
  具体的命令格式和字段协议请参照模块的使用手册。对GSM模块的论述文章较多,但很多都未对稳定性和差错可恢复性做周到考虑,就服务器端而言这是至关重要的,必须考虑到。
  
  4 信息处理
  
  信息的处理主要是信息提取和数据库应用。信息提取注意和前面的信息生成相对应,不要错位;不仅要记录下对方发送的位置信息还要记录下对方的号码以及定义的特殊操作等内容,便于执行特殊功能和消息回送。
  取得需要的数据后需要在数据库中查找对应小区和基站代号的实际位置。理论上讲每个基站都有自己的代号和地理位置,这些都记录在运营商的资料数据库中。但是这些数据作为商业机密是不会公开的,所以很难取得。目前网上仅有的部分数据是人为测试得出的,相当地少,很多时候不能实现定位查找。如果运营商能开放这个数据库接口,那样定位精度能在1km内(因为单个基站的覆盖半径一般在2km内,如果采用多基站定位精度还能得到提高)。
  为了给予查询者足够的参考信息,可以把相邻的地理位置一并告知,这需要模糊查找或者相关查找。在建立数据库的时候也可以把相应的重要单位位置,比如酒店,车站等存储在数据库中,在查询的时候一并返回,于是查询者就知道自己的周边环境了。
  在这里使用的是微软的ADO数据库技术提供和数据库无关的接口。
  如果信息太多还可以在输出前进行二次筛选,去掉相关性弱的数据,同时根据用户的选择决定是否输出相邻数据或者特定信息。在一个具体系统中,也可根据需要把不同的查找要求。
  
  5 信息回送
  
  将服务器查到的数据回送给请求查询的手机。这里要使用先前提取的手机号码。PDU数据格式生成和GSM发送模块一样,在此不赘述。回送完成后服务器继续监听请求。
  
  6 信息显示
  
  请求端的GSM模块在服务器处理完信息后将得到具体的地理位置消息,这时可以通过查询或者新消息自动提示的方法用AT命令读出,送到相关的显示模块进行显示,最终完成整个定位过程。效果如图3所示(由于数据库信息有限所以目前位置还很宽泛)。
  


  7 结束语
  
  在当前条件下实现蜂窝定位有两个难点:一是基站数据库信息是运营商的商业资料,不对外公示,所以定位精度受限于数据库的详细程度。二是一般GSM设备的物理层通信协议还没有对当前基站和邻近基站的其他参数进行监听和记录,不能进行更高级的物理信号定位,当今后的射频部分能检测到的参数更多的时候这种定位方式将发生质的变化;目前的GSM设备都是记录了当前基站的代号和颜色代码以及信号强度等,邻近基站只有颜色代码和信号强度,缺少关键的基站代码,这是不能提高定位精度的又一大障碍。
  从技术角度看解决这些问题有很大的可行性,目前很多的手机生产商已经就此方面技术申请了专利,相信不久的将来就有更加方便,廉价,灵活的蜂窝定位技术出现。
其他文献
摘要:案例教学是教学过程中常用的一种教学手段。文章以Photoshop的教学方法为研究背景,提出了一种模块化与案例化结合的教学方法,将Photoshop的教学内容按模块划分,实现了离散知识点的模块化聚集,明确了学生的学习目标;模块内运用案例解析知识点,每个案例包含少量知识点,降低了学习难度,实现了知识点的分离。实践证明,该方法对培养学生的学习兴趣和自主探索能力具有显著的效果。  关键词:Photo
期刊
摘要:设计了一套基于Web技术的用于公安绩效考核的信息系统,系统采用ASP技术和B/S体系架构。该系统可以将评估考核和管理监督紧密地结合起来,全方位地向公安部门提供高效、优质、规范、透明、公平的绩效评估考核体系。系统基本满足了公安系统进行绩效目标考核工作的需求,并对逐步建立较为科学民主的绩效考核和奖惩机制起到了一定的推动作用。  关键词:绩效考核;Web;B/S体系架构;ASP    0 引言  
期刊
摘要:随着IP和移动业务的蓬勃发展,基于电路交换的传统语音网正面临着严峻挑战。在此背景下,网络的可持续发展成为业界关注的焦点,如何在融合不同的通信网(PSTN、Intemet和移动网)的同时提高它们的利用率,为用户提供各种个性化的业务以满足市场的新需求已成为电信业发展的当务之急。下一代网络(NGN)及其核心技术——软交换(softswitch)由此应运而生。文章主要介绍了NGN和软交换技术的特点、
期刊
摘要:结合XP环境下IPv6协议的安装、设置和有连接的IPv6套接字编程实验,介绍了IPv6的报头结构、地址结构与类型、三种地址的表示形式,阐述了用]Pv6编程接口实现面向连接的网络通信的编程方法,给出了一个在普通局域网络环境下实现IPv6服务器端与IPv6客户端有连接通信的网络例程和结果。试验表明:IPv6与lPv4的网络编程结构基本一致,但在网络地址结构和地址解析方面IPv6与IPv4存在较大
期刊
摘要:PKI技术是利用公钥理论和技术建立的提供信息安全服务的基础设施。网络信任体系中的PKI拓展应用涉及到电子政务和电子商务跨地区跨行业的应用。文章对其中一证多用技术、点对点交叉认证技术和属性证书技术及实现方式进行了介绍。  关键词:PKI;网络信任体系;一证多用;点对点交叉认证;属性证书    引言    2003年9月,《中共中央办公厅、国务院办公厅转发的通知》(中办发[2003]27号)中强
期刊
摘要:针对SIP服务在部署中出现的“单点失效”、“性能瓶颈”以及P2P的标准化与互联互通、NAT穿越、安全与授权和用户移动性等问题,提出了基于P2P技术的SIP服务网络的结构。给出了实现方案,重点分析了P2P-SIP网络处理注册和呼叫的流程。  关键词:SIP;P2P;Chord算法;P2P-SIP Node    引言    SIP(session Initiation Protoc01)是一个
期刊
摘要:介绍了一种在MFC中设计报表的方法:将各种报表共同的功能集中在一起,建立一个打印架构,在这个架构上设计报表,报表就具有了该架构的功能。文中也列出了关键的源代码。  关键词:虚函数;继承;报表组成;报表层次;打印架构    注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文”
期刊
摘要:利用人工神经网络方法构建了国防R&D项目绩效评估体系和模型,基于C/S和B/S混合模式给出了国防R&D项目绩效评估系统的解决方案,最后说明了该系统主要功能的实现过程以及安全措施。  关键词:绩效评估体系;人工神经网络;C/S模式;B/S模式    引言    科研项目是否能够适时快速地转变成为推动社会进步的力量,项目评估的质量和速度是关键因素。应用先进和合理的评估手段建立有效的项目评估体系并
期刊
摘要:详细介绍了USB2.0接口的新特点,选择CY7C68013作为USB2.0控制芯片实现了USB2.0接口M-JPEG解码回放板的设计。  关键词:USB2.0;M-JPEG解码;PID协议;PING协议;视频编码    引言    USB(Universal Serial Bus)通用串行总线能在电脑外设接口中得到广泛应用得益于它的实用性和便捷性。该接口技术从1996年由几家大公司制定USB
期刊
摘要:介绍了信息发布系统的设计方法、体系结构以及关键技术。基于ASP.NET软件开发平台和ADO.NET数据访问技术开发的信息发布系统,能动态有效地管理网站新闻,并且很容易扩展到各种不同的具体实际应用中,如广告和通知信息发布等。  关键词:ASP.NET;B/S模式;信息发布系统;SQL Server2000    引言    网络信息发布,先后采用了HTML技术和ASP技术。前者是静态的,而且没
期刊