我有一个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脚本不太熟悉。有没有人有任何好的想法来做这件事或者让我朝着正确的方向前进?
答案 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使用具有(大约)纳秒精度的时间信号,这是任何板载硬件都无法实现的。卫星本身保持正确的时间,并在模块接收的信号上传输必要的值。您的模块只需对接收到的信号进行数学运算,而不是自己维护时钟。