我有一个GPS模块,当机器关机时,它会失去时间。没有正确的时间,就不能修复GPS。
我正在用wvdial向/dev/ttyUSB3的全球定位系统模块发送海耶斯命令。时间应该在启动时设置,我想应该使用init脚本。我得到的日期格式如下:
#!/bin/sh
DATE=`date +%m/%d/%y,%H:%M:%S`
echo $DATE > setGPStime.txt然后wvdial必须将时间发送到GPS
AT+CCLK=<time>如何通过wvdial读取date命令的输出来设置时间?我如何在shell脚本中做到这一点,或者有一种“更好”的方法?
我对shell脚本不是很熟悉。有没有人有任何好的想法来做这件事,或者让我朝着正确的方向前进?
发布于 2013-03-25 21:13:34
您可以将文件读入变量,如下所示:
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使用(大约)纳秒精度的时间信号,这是任何机载硬件都无法实现的。在卫星本身上维护正确的时间,并且在您的模块接收的信号上传输必要的值。您的模块只需要对接收到的信号进行数学运算,而不需要维护时钟本身。
https://stackoverflow.com/questions/15614289
复制相似问题