使用AT命令将日期写入wvdial以设置GPS模块时间

时间:2013-03-25 11:54:28

标签: shell date gps at-command

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

我正在使用wvdial将Hayes命令发送到/dev/ttyUSB3的GPS模块。应该在启动时设置时间,我想用init脚本。我得到的格式如下:

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

比wvdial必须通过

向GPS发送时间
AT+CCLK=<time>

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

我对shell脚本不太熟悉。有没有人有任何好的想法来做这件事或者让我朝着正确的方向前进?

1 个答案:

答案 0 :(得分: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 )"

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