问题标签 [gpsd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 使用 C# 连接到 gps 守护程序服务器
我正在使用连接到运行 gpsd 服务的树莓派的 gps。我正在尝试使用 tcp 连接到该服务,但我无法让它工作。我也没有找到任何关于它的文档。
这是我现在拥有的代码:
有人可以告诉我它是如何完成的,或者给我一个文档或 ac# 示例的链接。
c# - GPSD 无法构建 c++ 库
我正在尝试从( )C#
围绕C++
库构建一个包装器。我现在的问题是我无法构建库。我对.GpsD
Gps Deamon
C++
我正在使用 Visual Studio 来构建项目。我已经解决了一些问题,但我忘记了一些文件或其他东西。我尝试输入整个源代码,但这会产生更多错误。
这些错误对我来说没有任何意义。
这也是我现在在 github 上的代码:Github
有没有人可以帮助我建立这个库,或者有人已经建立了一个版本?
python - 我能以某种方式避免在这个脚本中使用 time.sleep() 吗?
我有以下 python 脚本:
不幸的是,我对 python 不是很好。该脚本应该以某种方式是多线程的(但这在这个问题的范围内可能并不重要)。
令我困惑的是这gpsd.next()
条线。如果我做对了,它应该告诉脚本已经获取了新的 gps 数据并准备好读取。
但是,我使用无限循环读取数据,while True
暂停 1 秒time.sleep(1)
。
然而,这样做的原因是它有时会重复两次相同的数据(传感器在最后一秒没有更新数据)。我认为它也会以某种方式跳过一些传感器数据。
我可以以某种方式更改脚本以打印当前速度,而不是每秒打印一次,而是每次传感器报告新数据时?根据数据表,它应该是每秒(1 Hz 传感器),但显然它不完全是 1 秒,而是以毫秒为单位变化。
c# - 在 c# 中连接到 GPS Deamon 服务
我正在开发一个应用程序,我需要通过GPSD 服务获取我的位置。我正在为我的库(与项目相同)使用C#,GPSD 本身不支持它,因此它们没有任何库。这就是为什么我试图创建自己的库(并最终制作一个 nuget 包)。
但是我遇到了以下问题。我通过套接字与 GPSD 服务建立连接,并获得以下数据:
所以连接正常,但我不知道如何获取 GPS 数据本身,没有太多关于它的文档,有没有人有这方面的经验,或者知道我怎么能做到这一点?
bash - gpsd 守护进程差分-gps 获取航向
是否可以使用 gpsd 和差分 gps 设备获取航向信息?
我看到了以下格式的原始串行消息,但是在默认的 gpsd 端口上我没有看到任何标题值。
原始序列:
TCP端口:
查看 gpsd 手册页,我没有看到任何可以帮助解码这些字符串的标志。想知道它是否可能?
tcp - 如何将嵌入式 gps 设备连接到 gpsd
我的问题是关于我与 gpsd 的“设备”端接口的问题。
我有一个 GPS 设备,它通过 RS232 / UART 连接产生 NMEA 0183 输出,位于嵌入式板上。我的问题是我想从这个设备获取数据到另一个“系统”板上的 SoC 上的 linux 中运行的“gpsd”。我必须从嵌入式板与设备获取数据的唯一连接是 I2c 连接,我可以在系统板上创建一个应用程序,该应用程序将通过 I2c 接口从嵌入式板上提取 NMEA 消息数据。
我的问题是如何最好地将这些 NMEA 消息从系统板上的应用程序获取到系统板上运行的 gpsd 中,以便我可以使用 gpsd 将 gps 数据“合并”和“分发”到其他客户端应用程序?
看起来可能是使用 tcp 或 udp 设备连接到 gpsd,或者使用伪终端 (pty) 连接,这显然用于回归测试。
我尝试在我的应用程序中打开一个“原始”伪终端对,并通过 gpsd 的控制套接字连接将 pty 从设备添加到 gpsd。但是尽管 gpsd 似乎将该设备识别为伪终端(主节点号为 136)并添加 pty 从设备(在本例中为 /dev/pts/2),但打开 pty 从设备并“激活”该设备,它似乎从未读取过 pty 从站的任何 NMEA 消息。
我从 gpsd 看到以下调试输出:
那时 gpsd 似乎只是“挂起”等待消息......
但是,虽然 GPS 消息是从 pty 主机写入的(由系统板上运行的应用程序从设备中提取消息),gpsd 似乎从未读取它们……如果我连接到“gpsmon”或“gpspipe”要查看收到的消息,我看不到 JSON 或原始消息输出,就像我将串行设备 (ttySx) 直接连接到 gpsd 时那样。我不确定 gpsd 是否已将我的 pty 从文件描述符添加到它的“select()”所在的描述符列表中。
我还尝试编写另一个“虚拟”应用程序来打开 pty 从设备代替 gpsd,并从正在写入 NMEA 消息的“主”应用程序读取伪终端连接上的内容,并且虚拟应用程序似乎正确获取所有消息。所以我不确定为什么 gpsd 没有看到它们。
pty 连接是解决此问题的有效方法吗?
我是否必须从我的应用程序启动 gpsd,在 gpsd 的运行字符串选项中传递从 pty 设备路径,而不是通过控制套接字“添加设备”消息连接 pty 设备?或者“tcp”设备连接是通过我的主应用程序连接来自设备的消息的更标准方式吗?然后我可以从我的应用程序打开本地套接字连接,并通过控制套接字连接在“添加设备”消息中提供“tcp://localhost:port”吗?还是启动 gpsd 时 tcp 套接字连接必须已经存在?
更新:看起来我的 pty 接口确实有效,只要我在运行字符串中使用 pts 从设备运行 gpsd,而不是尝试通过控制套接字使用“添加设备”消息添加它。我现在看到我从我的应用程序发送的 NMEA 消息被 gpsd 使用,并且可以运行 gpsmon 并查看位置信息更新。
gps - NTPD 伪服务器
晚上好!
我在与 U-Blox GPS 接收器连接的嵌入式 Linux 系统上配置 NTP。我用过NTPD和GPSD。
我想知道两者之间的技术区别是什么:
- GPSD共享内存SHM提供的PPS信号,(伪IP地址127.127.28.1);
- PPS 信号“独立”,但始终以某种我想了解的方式与 GPS 连接(伪 IP 地址 127.127.22.0)
理解这一点对我来说至关重要,因为我确实需要高级别的同步,并且我希望接收器提供正确的信息。在整个网络上搜索,我发现我的疑问只有困惑的答案......
提前致谢!
佛罗里达州
c - 使用 gpsd/libgps C 获取 gps 时间
我正在尝试使用 libgps 从 Adafruit 终极 gps 读取数据。我找到了一个代码示例,它提供了我需要的所有信息,除了 gps 时间。如何获取 gps 通过串行端口发送的 gps 时间,最好以小时/分钟/秒为单位?
我试过gps_data.fix.time
了,但我不确定这是系统时间还是 GPS 时间。
}
c++ - 在 Linux 中使用 gps timestamp_t 结构设置系统时间
在 Linux 中使用 gps timestamp_t 结构设置系统时间
嗨,大家好,
我正在尝试编写代码,一旦我成功锁定 GPS(带 GPSD 的 Adafruit Ultimate GPS),我就会设置系统时间。现在,我可以看到“timestamp_t”:
是我的“gps_data_t*”结构的一部分。这是一个好的开始,但是,我计划用来在 Linux 中设置系统时间的函数是:
我找到了有关如何将 time_t 转换为 *timeval 的信息,但是我应该如何处理这个 double 以将其转换为 *timeval?
代码:
一些评论和链接对我有所帮助。混淆是区分 timeval、time_t 和 timestamp_t。据我了解,这里有区别,如果不是,请更正:
所有的时间都是 1970 年 1 月 1 日之后的秒数,但是……
timeval 是 (2) long 值的结构,tv_sec 是 1970 年 1 月 1 日之后的秒数,tv_usec 是之后的微秒数。
time_t 很长?这也是 1970 年 1 月 1 日之后的几秒钟
timestamp_t 是 1970 年 1 月 1 日之后的秒数,因此小数部分可以计算微秒以获得“大致”相同的 timeval 精度。
所以它们之间的转换可以这样进行:
这幅画是不是更清晰?
相反,这是我的应用程序所需要的:
linux - 需要一种解决方案来同步从 iPerf 和 GPS 接收的数据
最近,我正在研究 car-to-X 通信并使用两个车载单元 (OBU)。可以使用 gpsd、gpsd 客户端读取和监视两个模块上的 GPS 数据,并且我还可以使用 iPerf 测量网络性能。为此,一台设备充当服务器,另一台充当客户端。现在,我想将这两个设备与两台不同的笔记本电脑连接起来,测量网络性能以及读取 OBU 之外的 GPS 数据。此外,我需要在 GPS 数据和 iPerf 输出之间进行同步,以便我可以检测 TPV(时间、位置、速度)明智的吞吐量、延迟等。现在我需要将 GPS 和 iPerf 数据同步在一起,以便我可以将它们存储为日志-文件并稍后处理数据。有没有人可以帮助我知道如何做到这一点。我已经尝试过一种解决方案 - GPS 和 iperf 数据的时间戳,并存储到日志中。我有第二个解决方案,即使用 -f 选项将 GPS 数据作为 iperf 有效负载发送。我想尝试第二个,但不确定该怎么做。真正感谢任何人的帮助。