WINDOWS MOBILE 中开发简单的 GPS 应用
- Windows CE 4.0 之前
- 简单的 RS232 操作,收发 AT 指令
- Windows CE 5.0 及以后
- GPS Intermediate Driver (GPS 中间驱动程序,简称 GPSID ,或者 GID)
GPS INTERMEDIATE DRIVER (GPSID)
- Windows Mobile 5.0 开始引入的新的 GPS 接口,对之前的串口操作进行了封装
- 对于系统层:一个普通的驱动
- 一个中间件插在系统与应用程序之间
- 使用其它OEM提供的驱动程序与具体硬件通信
MICROSOFT 为什么推出 GPSID
- 对于 GPS 设备生产商
- 可以和任意使用 GPSID 的应用程序无缝耦合
- 对于应用程序提供商
- 可以和任意支持 GPSID 的 GPS 设备整合
GPSID 带来的便利
- 没有 GPSID 时
- 每一个应用程序独占一个 GPS 设备
- 应用程序通过访问串口获取GPS信息
- 通过调用CreateFile()获取GPS通讯口的句柄
- 反复调用ReadFile()获取GPS位置信息
- 自行解析NMEA 183信息
- 有了 GPSID 时
- 多个应用程序可以同时访问同一个 GPS 设备
- GPSID解析 NMEA 183信息
- 提供友好的GPS接口如:GPSGetPosition()
- 兼容早先的文件流操作
GPSID 的主要 API 函数
- gpsapi.dll
- GPSOpenDevice
- GPSCloseDevice
- GPSGetPosition
- GPSGetDeviceState
- coredll.dll
- CreateEvent
- CloseHandle
- WaitForSingleObject
- WaitForMultipleObjects
- EventModify
如何使用 GPSID
- 创建一个或两个 Windows CE 事件对象
- 创建一个和GPS硬件设备的连接
- 使用WaitForSingleObject()或WaitForMultipleObjects()处理事件通知
- 重复调用第三步并调用GPSGetPosition()获取GPS信息
- 应用程序的相应处理
- 调用GPSCloseDevice()关闭设备
WINDOWS MOBILE 6 SDK
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 版程序文件所覆盖
WINDOWS MOBILE 6 SDK 中的 DEVICE EMULATOR 2.0
WINDOWS MOBILE 6 SDK 中的 DEVICE EMULATOR 2.0
WINDOWS MOBILE 6 SDK 中的 DEVICE EMULATOR 2.0
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 的仿真器里。安装成功后在开始菜单中找到它并运行
安装 FAKE GPS
- 首先为 Device Simulator 设置一个共享目录
安装 FAKE GPS
安装 FAKE GPS
- 然后将 Fake GPS 的安装文件拷到共享目录里
- 安装文件是位于 D:/Program Files/Windows Mobile 6 SDK/Tools/GPS 的 FakeGPS.CAB
安装 FAKE GPS
安装 FAKE GPS
安装 FAKE GPS
WINDOWS MOBILE 6 SDK 中的 GPS 应用例实例
- 位于 D:/Program Files/Windows Mobile 6 SDK/Samples/PocketPC/CS/GPS
- 用Visual Studio 2005打开