2013-03-25 68 views
1

我有一个GPS模块,在机器断电时会失去它的时间。没有正确的时间,没有GPS定位。使用AT命令写入日期至wvdial以设置GPS模块时间

我使用wvdial将海耶斯命令发送到GPS模块/dev/ttyUSB3。时间应该在启动时设置,我想用一个init脚本。我得到这样的格式日期:

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

比wvdial在必须发送时间

AT+CCLK=<time> 

到GPS如何阅读date命令的输出设定wvdial的时间? 如何在shell脚本中执行此操作,或者有更好的方法吗?

我对shell脚本不是很熟悉。有没有人有任何好的想法来做到这一点,或者让我朝着正确的方向发展?

+0

gps设备将通过卫星获得时间。但是这需要更多的时间。 – AlexWien 2013-03-25 13:06:01

回答

1

您可以从文件中读取到这样一个变量:

fromFile=$(cat setGPStime.txt) 

但是,如果你是从你在哪里调用date相同的脚本中调用wvdial,没有必要为一个临时文件。只要使用$(date %m/%d/%y,%H:%M:%s),无论你 打算使用从文件读取的值。像这样的东西,也许(我不熟悉wvdial的用法)?

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

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

+0

感谢您的有益评论 – user2207315 2013-03-25 13:42:47