1

我有一个 GPS 模块,在机器关闭时会丢失时间。没有正确的时间,就没有 GPS 定位。

wvdial用来将 Hayes 命令发送到位于 的 GPS 模块/dev/ttyUSB3。时间应该在启动时设置,我猜是用一个初始化脚本。我以如下格式获取日期:

#!/bin/sh
DATE=`date +%m/%d/%y,%H:%M:%S`
echo $DATE > setGPStime.txt

比 wvdial 必须向 GPS 发送时间

AT+CCLK=<time>

如何读取 date 命令的输出来设置时间wvdial?我如何在 shell 脚本中执行此操作,或者是否有“更好”的方法?

我对shell脚本不是很熟悉。有没有人有任何好的想法来做这件事或把我送到正确的方向?

4

1 回答 1

1

你可以从一个文件中读入一个像这样的变量:

fromFile=$( cat setGPStime.txt )

但是,如果您从调用wvdial的同一脚本调用date,则不需要临时文件。只需$( date %m/%d/%y,%H:%M:%s )在要使用从文件中读取的值的任何地方使用。可能是这样的(我不熟悉 的用法wvdial)?

wvdial "AT+CCLK=$( date %m/%d/%y,%H:%M:%s )"

然而,亚历克斯维恩是对的。这可能只是设置模块上的显示时间,而不是实际用于定位的任何内容。GPS 使用具有(大约)纳秒精度的时间信号,这是任何车载硬件都无法实现的。卫星本身保持正确的时间,并在模块接收到的信号上传输必要的值。您的模块只需要对接收到的信号进行数学运算,而不需要维护时钟本身。

于 2013-03-25T13:13:33.840 回答