29
WINDOWS MOBILE 中中 GPS 中中 1060379008 中中中

WINDOWS MOBILE 中的 GPS 开发

Embed Size (px)

DESCRIPTION

WINDOWS MOBILE 中的 GPS 开发. 1060379008 付国庆. WINDOWS MOBILE 开发简介. Windows Mobile 开发基于 .NET Compact Framework ,简称 .NET CF: 1. .NET CF 开发有别于 .NET Framework 开发,因: 1) .NET CF 1.0 是 .NET Framework 很小的子集; 2) .NET CF 1.0 目前存在很多 Bugs; - PowerPoint PPT Presentation

Citation preview

Page 1: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE中的GPS开发1060379008 付国庆

Page 2: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 开发简介 Windows Mobile 开发基于 .NET Compact

Framework ,简称 .NET CF: 1. .NET CF 开发有别于 .NET Framework 开发,因:

1) .NET CF 1.0 是 .NET Framework 很小的子集; 2) .NET CF 1.0 目前存在很多 Bugs; 3) 受限于 Windows Mobile 平台本身, OS 2003, OS 5.0, OS

6.0 ,平台要求相差很大; 2. .NET CF 所提供的功能非常有限,更多时候,需要开发人员使用 P/Invoke 来实现,一些情况下需要用 C++ 封装 Win32 提供 .NET CF 的接口 , 对开发人员技术能力和要求更高; 3. Windows Mobile 开发的基本要求是低内存占用,低 CPU占用,低耗电量,应用性能要高,开发人员要平衡上述各方面要求,因此对于编程技术,算法,数据结构,操作系统架构,技术能力是很大的挑战! 4. Windows Mobile 将是下一波技术热点

Page 3: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK With Windows Mobile 6, we are revising our SKU

taxonomy and naming to better align our brand and products with the realities of today’s mobile device marketplace. The list below summarizes the changes and the SDK that must be used when targeting the platforms (Previous Categories = New Categories): Windows Mobile for Smartphone = Windows Mobile

Standard (download the Windows Mobile 6 Standard SDK)

Windows Mobile for Pocket PC = Windows Mobile Classic (download the Windows Mobile 6 Professional SDK)

Windows Mobile for Pocket PC Phone Edition = Windows Mobile Professional (download the Windows Mobile 6 Professional SDK)

Page 4: WINDOWS MOBILE 中的 GPS 开发

GPS / GIS / LBS 概述 什么是 GPS

全球定位系统( Global Positioning System ),美国从上世纪 70 年代开始研制,历时 20 年,耗资 200 亿美元,于1994 年全面建成,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。最少需要其中 3颗卫星,就能迅速确定您在地球上的位置。所能接收到的卫星数越多,译码出来的位置就越精确

GPS 与 GIS 整合 GIS 英文全称为 Geographical information system, 中文翻译为地理信息系统 . 简单的说就是处理对象为地理信息的信息系统技术,功能主要包括对地理数据进行各种方式的管理,统计,分析,输出(各种方式的显示和图件)等等 . GPS 是 GIS 重要的数据源,其他数据源还有 RS( 遥感)提供的各种影像资料,各种地形图等等, GIS 、 GPS 、 RS 通称

3S 技术 GPS/GIS 与无线通讯网络事例 --LBS

Page 5: WINDOWS MOBILE 中的 GPS 开发

GPS / GIS / LBS 概述 Location Based Services 基于位置的服务

Location: 定位 . 通过 GPS 卫星或者蜂窝网络,获取各种终端的地理坐标 ( 经度和纬度 ) Services: 服务 . 利用地理坐标,可以进行定位查找 ( 自已和他人 ) 、导航、周边信息搜索等等和位置有关的服务

Page 6: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 中开发简单的 GPS 应用 Windows CE 4.0 之前

简单的 RS232 操作,收发 AT 指令 Windows CE 5.0 及以后

GPS Intermediate Driver (GPS 中间驱动程序,简称GPSID ,或者 GID)

Page 7: WINDOWS MOBILE 中的 GPS 开发

GPS INTERMEDIATE DRIVER (GPSID) Windows Mobile 5.0 开始引入的新的 GPS 接口,对之前的串口操作进行了封装 对于系统层:一个普通的驱动 一个中间件插在系统与应用程序之间 使用其它 OEM 提供的驱动程序与具体硬件通信

Page 8: WINDOWS MOBILE 中的 GPS 开发

MICROSOFT 为什么推出 GPSID 对于 GPS设备生产商

可以和任意使用 GPSID 的应用程序无缝耦合 对于应用程序提供商

可以和任意支持 GPSID 的 GPS设备整合

Page 9: WINDOWS MOBILE 中的 GPS 开发

GPSID带来的便利没有 GPSID 时

每一个应用程序独占一个 GPS设备 应用程序通过访问串口获取 GPS 信息 通过调用 CreateFile() 获取 GPS 通讯口的句柄反复调用 ReadFile() 获取 GPS 位置信息 自行解析 NMEA 183 信息

有了 GPSID 时 多个应用程序可以同时访问同一个 GPS设备 GPSID解析 NMEA 183 信息 提供友好的 GPS 接口如: GPSGetPosition()兼容早先的文件流操作

Page 10: WINDOWS MOBILE 中的 GPS 开发

GPSID 的主要 API函数 gpsapi.dll

GPSOpenDevice GPSCloseDevice GPSGetPosition GPSGetDeviceState

coredll.dll CreateEvent CloseHandle WaitForSingleObject WaitForMultipleObjects EventModify

Page 11: WINDOWS MOBILE 中的 GPS 开发

如何使用 GPSID创建一个或两个Windows CE 事件对象创建一个和 GPS硬件设备的连接 使用 WaitForSingleObject() 或

WaitForMultipleObjects() 处理事件通知 重复调用第三步并调用 GPSGetPosition() 获取

GPS 信息 应用程序的相应处理调用 GPSCloseDevice() 关闭设备

Page 13: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK 中的 DEVICE EMULATOR 2.0安装 Visual Studio 2005 时会自动安装 Device

Emulator 1.0 Windows Mobile 6 SDK 的安装程序会自动将随

Visual Studio 2005 安装的 Device Emulator 1.0 升级到 Device Emulator 2.0 ,即在“ C[D]:\Program Files\Microsoft Device Emulator\1.0” 目录下的 1.0 版程序文件将被 2.0 版程序文件所覆盖

Page 14: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK 中的 DEVICE EMULATOR 2.0

Page 15: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK 中的 DEVICE EMULATOR 2.0

Page 16: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK 中的 DEVICE EMULATOR 2.0

Page 17: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK 中的 FAKE GPS 如果你想开发一个运行在 Windows Mobile 系统的 GPS 应用程序,但是找不到 GPS 设备用来调试,或者你在室内调试程序, GPS 设备接收不到卫星信号,那 Fake GPS 正是你急需的工具了 GPSID 的所有设置信息都保存在注册表中,可以通过修改注册表来更改 GPSID 的设置。其中有个一个设置,可以让

GPSID 从一个包含 NMEA 命令的 .txt 文件读取 GPS 数据,而不需要从 GPS 设备读取数据。 Fake GPS 的工作原理就是修改注册表的 GPSID 设备,让 GPSID 从一个文本文件读取 GPS 数据。而对于我们开发的应用程序来说,跟访问真实的设备并没有两样。

在使用 Fake GPS 之前需要将它安装到你 Windows Mobile 设备上或者仿真器上,安装文件是 FakeGPS.CAB 。这里我把 Fake GPS 安装到 Windows Mobile 6 Standard 的仿真器里。安装成功后在开始菜单中找到它并运行

Page 18: WINDOWS MOBILE 中的 GPS 开发

安装 FAKE GPS首先为 Device Simulator设置一个共享目录

Page 19: WINDOWS MOBILE 中的 GPS 开发

安装 FAKE GPS

Page 20: WINDOWS MOBILE 中的 GPS 开发

安装 FAKE GPS然后将 Fake GPS 的安装文件拷到共享目录里

安装文件是位于 D:\Program Files\Windows Mobile 6 SDK\Tools\GPS 的 FakeGPS.CAB

Page 21: WINDOWS MOBILE 中的 GPS 开发

安装 FAKE GPS

Page 22: WINDOWS MOBILE 中的 GPS 开发

安装 FAKE GPS

Page 23: WINDOWS MOBILE 中的 GPS 开发

安装 FAKE GPS

Page 24: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK 中的 GPS 应用例实例 位于 D:\Program Files\Windows Mobile 6 SDK\

Samples\PocketPC\CS\GPS 用 Visual Studio 2005打开

Page 25: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK 中的 GPS 应用例实例

Page 26: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK 中的 GPS 应用例实例

Page 27: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK 中的 GPS 应用例实例

Page 28: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK 中的 GPS 应用例实例

Page 29: WINDOWS MOBILE 中的 GPS 开发

WINDOWS MOBILE 6 SDK 中的 GPS 应用例实例