新闻中心

EEPW首页>设计应用> 基于WM 6.0 OS的智能手机定位监控系统设计

基于WM 6.0 OS的智能手机定位监控系统设计

作者: 时间:2010-03-24 来源:网络 收藏

  采用GID实现的主要步骤为:

  (1)引用gpsapi.dll。GID是一套在Mobile Device上的本地代码,在.NET Compact Framework平台上使用,需要采用跨平台调用技术,引用相应的应用程序接口。

  (2)用CreateEvent创建Windows CE事件对象,这样当有设备获取了新的数据或者设备状态改变时就能收到通知。

  (3)使用OpenDevice与GID建立一个连接。如果设备关闭,则启动GPS设备。

  (4)通过调用WaitForMultipleObjects(如果仅有一个事件则调用WaitForSingleObject),等待GPS设备获取新的位置数据或设备状态改变事件发生;当GPS设备获取了新的位置数据时,调用GPSGetPosition取回位置信息。当GPS设备状态改变时,调用GPSGetDeviceState取回设备状态信息。

  (5)重复第(4)步,直到不再需要GPS信息。

  (6)调用GPSCloseDevice关闭与GID的连接。如果这个连接是GID唯一的连接,则GID自动关闭GPS设备。GPS设备耗电相当大,因此当不再需要访问GPS设备时要关闭与GID的连接。

  2.2 短消息发送与接收实现

  短消息收发一般采用AT(Attention)指令实现,本系统采用Pocket Outlook实现。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不支持JavaScript脚本,故PPC端监控中心电子地图不能使用含JavaScript接口的地图实现。本系统PPC端监控中心网络电子地图采用Google地图和北京图盟科技有限公司的Mapabc地图。

  (1)地图数据下载

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

  http://mt2.google.com/mt?v=w2.89hl=zh-CNx=6688y=3570z=13s=Galileo

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



评论


相关推荐

技术专区

关闭