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

| 浏览次数:

摘要:使用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设备都是记录了当前基站的代号和颜色代码以及信号强度等,邻近基站只有颜色代码和信号强度,缺少关键的基站代码,这是不能提高定位精度的又一大障碍。

从技术角度看解决这些问题有很大的可行性,目前很多的手机生产商已经就此方面技术申请了专利,相信不久的将来就有更加方便,廉价,灵活的蜂窝定位技术出现。

推荐访问: 短信 设计 网络 GSM CPS

【基于GSM短信网络的CPS设计与实现】相关推荐

工作总结最新推荐

NEW
  • XX委高度重视党校的建设和发展,出台《创建全省一流州市党校(行政学院)实施方案》及系列人才培养政策,为党校人才队伍建设提供了有力的政策支撑。州委党校在省委党校的悉心指导下、州委的正确领导下,深入贯彻落

  • 为推动“不忘初心、牢记使命”主题教育常态化,树牢“清新简约、务本责实、实干兴洛”作风导向,打造忠诚干净担当、敢于善于斗争的执纪执法铁军,经县纪委常委会会议研究,决定在全县纪检监察系统开展“转变作风工作

  • 为进一步发展壮大农村集体经济,增强村级发展活力,按照中共XXX市委抓党建促乡村振兴工作领导小组《关于印发全面抓党建促乡村振兴四个工作计划的通知》要求,工作队与村“两委”结合本村实际,共同研究谋划xx村

  • 今年来,我区围绕“产城融合美丽XX”总体目标,按照“城在林中,水在城中,山水相连,林水相依”以及“城乡一体、景城一体、园城一体”的建设思路,强力推进城市基础设施建设、棚户区改造、房地产开发和城市风貌塑

  • 同志们:新冠疫情发生至今已有近三年时间。三年来,在广大干群的共同努力下,我们坚决打好疫情防控阻击战,集团公司范围内未发生一起确诊病例,疫情防控工作取得了阶段性胜利。当前国际疫情仍在扩散蔓延,国内疫情多

  • 我是毕业于XX大学的定向选调生,当初怀着奉献家乡、服务人民的初心回到XX,在市委的关心关爱下,获得了这个与青年为友的宝贵历练机会。一年感悟如下。一要对党忠诚,做政治坚定的擎旗手。习近平总书记指出,优秀

  • 同志们:今天召开这个会议,主要任务是深入学习贯彻习近平总书记重要指示批示精神,以及李克强总理批示要求,认真落实全国安全生产电视电话会议和全省、全市安全生产电视电话会议精神,研究我县安全生产和安全隐患大

  • 2022年市委政研室机关党的建设工作的总体要求是:坚持以XXX新时代中国特色社会主义思想为指导,全面贯彻党的XX届X中X会和省、市第十二次党代会精神,自觉运用党的百年奋斗历史经验,弘扬伟大建党精神,深

  • 同志们:今天,我们在这里召开市直机关基层党建示范点工作会议,一方面是对各示范点单位进行表彰授牌,另一方面是想通过这种会议交流的方式,给大家提供一个相互学习、取长补短的平台和机会。市直工委历来把创建基层

  • 新冠疫情暴发以来,学校党委坚决贯彻习近平总书记关于疫情防控工作的指示要求和党中央的决策部署,严格执行×××部、×××厅关于疫情防控的系列要求,认真落实驻地防疫部门的工作举措,继承发扬优良传统,以最高标