局域网内ntpdate 无法将时间与指定的IP时间同步

ROS系统中各个设备大多是在不接外网的局域网内进行通讯。

树莓派等微处理器设备,因为不像PC带供时钟工作的电池,断电后微处理器的时间就停止了,又因为是在不接外网的局域网内工作,所以无法自动通过外网更新时间。

这样就可能导致ROS系统中各个设备的时间不一致,出现异常。

刚配置ROS系统时,根据指示,在客户端安装了chrony 

sudo apt-get install -y chrony ntpdate

如果不能安装需要将apt-get 升级

sudo apt-get update

根据如下设置,只在客户端安装了chrony 修改了配置文件。

局域网内ntpdate 无法将时间与指定的IP时间同步_第1张图片

参考网址:ROS官网

这里这客户安装了chrony 然后修改配置文件,是可以用的,正常如果是使用ntp 中的ntpdate 命令,服务器和客户端都需要安装ntp ,不知道chrony 为啥服务器端不需要安装chrony。没有去深究。能用就行。

将时间同步命令ntpdate -q [服务器IP]添加到开机启动项。这样每次重启客户端,就会自动同步时间

后来不知道为什么不能时间同步了。执行sudo ntpdate -q [服务器IP]命令报错。

报错: no server suitable for synchronization found

使用 sudo ntpdate -d [服务器IP] 产看错误原因。

局域网内ntpdate 无法将时间与指定的IP时间同步_第2张图片

正常情况下stratum这个值得范围是“0~15”。

参考网址:ntp下同步错误

ntp 下的这种方法看起来无从下手,而且大都是复制粘贴。

在ROS官方论坛找到解决办法。

客户换根据原来的设置不变

在服务器端也安装 chrony 

然后修改配置文件

局域网内ntpdate 无法将时间与指定的IP时间同步_第3张图片

最后重启服务器和客户端(一定要重启)

时间可以正常同步了:

 

你可能感兴趣的:(ROS系统)