c# - 适用于 .Net/C# 的 GPS 驱动程序,用于从任何支持 NMEA 的 GPS 装置中提取 GPS 数据

标签 c# .net gps serial-port nmea

我有一个 map 应用程序,我希望能够允许我的用户连接任何通过通信端口或 USB 端口输出 NMEA 数据的 GPS 装置。

由于 NMEA 是 GPS 单元必须遵守的标准,因此我假设可以编写一个通用驱动程序来连接到 GPS 单元并开始接受 NMEA 数据。经过网络搜索后,我很惊讶没有找到任何人在 C# 中为 .NET 完成此操作。

我错过了什么吗?我是否缺少一定程度的复杂性?有人对如何使我的应用程序与各种 GPS 单元配合使用有建议吗?

最佳答案

你并不真正需要一个驱动程序,你需要一个解析器。驱动程序负责使其(几乎总是)成为 com 端口,并且是特定于设备的。解析器解释实际的 NMEA 格式数据。看看这个解析器项目

http://code.google.com/p/nmeasharp/wiki/NmeaSharpMain

缺乏结果可能更多的是缺乏难度的问题,这是一种非常容易解析的格式。

当然您也可以使用 Windows 7+ 传感器和位置 API

http://www.codeguru.com/csharp/.net/article.php/c16973/Using-the-Windows-7-Sensor-and-Location-Platform-from-C.htm

如果您可以选择,我会使用 Location API,但这只是我的想法,而且任何 GPS 都不能很好地支持它。如果您愿意,可以使用适配器将任何标准 NMEA GPS 转换为 Windows 7 支持的 GPS

http://www.turboirc.com/gps7/

尽管如果您有商业用途计划,这可能会带来问题(尽管编写替代品并不难)。

关于c# - 适用于 .Net/C# 的 GPS 驱动程序,用于从任何支持 NMEA 的 GPS 装置中提取 GPS 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15668948/

相关文章:

c# - Blazor - 如何将属性应用于组件的父元素

ios - 导航App的iOS URL方案?

android - 如果禁用 GPS,则强制关闭应用程序

java - Android 模拟 GPS 卫星(不仅仅是位置)

c# - VSTO Excel 2007 工作簿和 VSTO Excel 2007 加载项有什么区别

c# - 从 .NET Core 中的 Controller 运行单个后台任务的最简单方法是什么?

c# - NUnit 不捕获 std::cerr 的输出

c# - .NET 二进制文件读取性能

.net - WSDL 未定义时如何传递 Soap header ?

css - VB.NET ASPX 动态更新表中的每个 TR 为每个 TR 添加属性