微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 智能手机定位监控系统的设计

智能手机定位监控系统的设计

时间:05-29 来源:3721RD 点击:

k实现。Windows Mobile SDK对Pocket Outlook提供的服务进行了托管封装,可以方便地完成所有的个人信息管理功能[3],所有这些类型构成了POOM(Pocket Outlook Object Model)。

(1)短消息发送。POOM中的SmsAccount类可以方便地实现短消息的发送。首先,使用SmsMessage类构造一条短消息;然后,使用SmsAccount类中的Send方法即可发送短消息。

(2)短消息的接收和截获。Pocket Outlook可以实现短消息的接收和截获,且只接收满足特定条件的短消息。短消息接收和截获过程如下:

①创建一个MessageInterceptor类型的对象。

②设置MessageCondition属性,指定MessageInterceptor对象截获条件。

③设置InterceptionAction属性,指定截获到消息后Pocket Outlook执行的动作。本系统中,通过将InterceptionAction属性设置为NotifyAndDelete实现截获所需的监控短消息,并且其他程序不会收到监控短消息,这样监控短消息就不会进入短消息收件箱。

④为MessageInterceptor对象添加截获短消息事件处理方法。截获短消息事件定义如下:

public event MessageInterceptorEventHandler MessageReceived

当有满足截获条件的短消息到达设备时触发此事件。添加了事件处理方法后,当有满足截获条件的短消息到达时,就会触发MessageReceived事件,然后自动调用事件处理方法进行处理。

3 监控中心设计与实现

PPC端监控中心通过GPRS网络,主要以短消息的形式向监控对象发送监控命令,并通过处理来自监控对象的数据实现对监控对象的位置查询及显示、声音监控等功能。

3.1 网络电子地图实现

目前,Windows Mobile不支持脚本,故PPC端监控中心电子地图不能使用含接口的地图实现。本系统PPC端监控中心网络电子地图采用Google地图和北京图盟科技有限公司的Mapabc地图。

(1)地图数据下载

Google地图由0~17级不同比例尺的256×256像素的小地图拼块拼接而成,每一个Google地图拼块叫做一个tile.tile的URI类似如下:

其中,mt2.google.com为Google地图服务器,x、y、z分别表示tile的坐标和放大因子。Google地图服务器有4台,分别为mt0.google.com、mt1.google.com、mt2.google.com和mt3.google.com.为了提高地图下载速度,本系统从4台服务器轮流下载。

(2)地图显示

任给一个经纬度,要将其代表的位置在地图上显示出来,就要将该经纬度转换为对应放大因子的tile坐标。本系统采用一种近似的方法转换,经过分析发现,经度与x坐标呈线性对应关系,其计算公式为:

其中,longitude为经度值,其范围为-180~+180,西经用负值表示,东经用正值表示;0.0063为校正值;z为放大因子。

纬度与y坐标转换公式为:

其中,latitude为纬度值,其范围为-90~+90,北纬用正值表示,南纬用负值表示;z为放大因子。将经纬度转化为tile坐标后,就能将经纬度与地图匹配了,这样就可以将经纬度对应的位置在地图上显示出来。

本系统采用的Windows Mobile Pocket PC的窗体客户区宽度和高度分别为240像素和268像素,每个tile为256×256像素,这样客户区就需要4个或6个tile拼接而成,如图2和图3所示。

3)地图拖动

地图移动相当于改变地图的中心坐标。本系统实现地图拖动的方法为:当在触摸屏上点击地图某一点时,将地图的中心坐标移到点击处。如图4所示,设点O为窗口客户区中心,点P为点击处,计算点P与点O的水平和垂直像素距离△Px和△Py,然后将地图中心分别沿水平方向和垂直方向移动△Px和△Py像素,即可实现地图的拖动功能,拖动后地图如图5所示。

(4)地图放大/缩小

Google地图的放大因子z的取值为0~17,分别代表0~17级不同比例尺的地图。0~17级地图分别用18张不同详细程度的地图实现,故实现地图的放大/缩小功能只需要改变放大因子的大小,将当前现实的地图切换到改变后的放大因子所对应的比例尺的地图上,中心点经纬度不变。

3.2 监控中心界面设计及主要功能测试结果

点击"操作"菜单,依次选择"监控"、"位置",然后在弹出的菜单中设置监控对象手机号、报告次数、报告时间间隔,如图6所示。

按图6所示设置,点击"开始"按钮,PPC端监控中心发送监控命令,监控对象收到位置查询命令后,就按监控命令向监控中心报告自己的位置。PPC端监控中心收到监控对象发来的位置信息后即在地图上显示出来。图7为目标位于深圳大学办公楼前测试的结果,图中地图为Google地图,点击"设置"菜单,然后选择"使用Mapabc地图"切换到Mapabc地图,如图8所示。PPC端监控中心构造监控命令短消息如下:

SmsMessage msg=new SmsMessage(15914175891,″*定◎位*

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top