[转载] 关于Livox雷达时间同步问题(TIME SYNC)

本文链接:https://blog.csdn.net/weixin_43473122/article/details/110123619

关于Livox雷达时间同步问题(TIME SYNC)

参考大疆Github官网的Livox时间同步官方教程,无法进行时间同步的情况下(时间同步主要用于和外接imu进行loam建图),可以尝试参考以下操作进行时间同步:
1、查看网卡

ifconfig

2、查看网卡是否支持ptp

ethtool -T xxx(网卡名)

3、安装ptpd

sudo apt install ptpd

4、启动master时针

sudo ptpd -M -i xxx(网卡名) -C

按上述操作后,在livox viewer的设置面板中,若显示1588 signal即完成雷达与系统的硬件级时间同步。

注意:我们发现大量的笔记本电脑的网卡是不支持PTP的。

补充:设置ptpd服务为开机自启动

1、建立开机启动服务

新建开机启动服务

sudo vim /etc/systemd/system/my_ptpd.service
#该文件是自己建立的启动服务文件,
#/etc/my_ptpd.sh 是你要启动的脚本所在的路径以及文件名,其他保持默认格式即可
[Unit] 
Description=/etc/my_ptpd.sh Compatibility
ConditionPathExists=/etc/my_ptpd.sh
  
[Service]
Type=forking
ExecStart=/etc/my_ptpd.sh
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
 
[Install]
WantedBy=multi-user.target

注意Type=forking,服务启动模式的选择非常重要,具体参考systemd.service 中文手册

2、创建要自启动的守护进程(父进程)

sudo vim /etc/my_ptpd.sh
#!/bin/sh
# 这里可以加入若干个子进程脚本
/home/spongebob/livox_ws/start_ptpd.sh

给启动脚本添加权限 sudo chmod +x /etc/my_ptpd.sh

3、创建实际需要运行的子进程

sudo vim /home/spongebob/livox_ws/start_ptpd.sh
#!/bin/sh
PASSWORD="your_password"
# 等待5秒
sleep 5
#你如果做系统移植时,可以把 roo t的密码参数设置为 export,然后这里设置为 PASSWORD=${ROOT_PASSWORD},就是直接提取你的 root 密码
#具体你的系统保持密码的参数是什么要看你的移植的系统了,我的是 ROOT_PASSWORD
echo ${PASSWORD} | sudo -S ptpd -M -i enp89s0 -C #echo ${PASSWORD} | sudo -S 是实现脚本自动把执行sudo命令时要输入的密码输入进去

给启动脚本添加权限 sudo chmod +x /home/spongebob/livox_ws/start_ptpd.sh

4、更新服务

$ sudo systemctl daemon-reload
# 测试服务是否可以正常执行
$ sudo systemctl start my_ptpd.service

# 然后查看进程是否正常运行
$ ps aux | grep ptpd

root        2670  0.0  0.0  14948  4840 pts/0    S+   13:44   0:00 sudo systemctl start my_ptpd.service
root        2671  0.0  0.0  14956  4032 pts/0    S+   13:44   0:00 systemctl start my_ptpd.service
root        2673  0.0  0.0   2616   588 ?        Ss   13:44   0:00 /bin/sh /etc/my_ptpd.sh
root        2674  0.0  0.0   2616   528 ?        S    13:44   0:00 /bin/sh /home/spongebob/livox_ws/start_ptpd.sh
root        2677  0.0  0.0  15196  4800 ?        S    13:44   0:00 sudo -S ptpd -M -i enp89s0 -C
root        2678  0.0  0.0   4996  3256 ?        S    13:44   0:00 ptpd -M -i enp89s0 -C
spongeb+    2725  0.0  0.0  12116   712 pts/1    S+   13:46   0:00 grep --color=auto ptpd

如果测试服务可以正常运行,那么将其使能为自启动

$ sudo systemctl enable my_ptpd.service
# 然后重启即可

如果哪天我们想要取消这个自启动服务

$ sudo systemctl disable my_ptpd.service
# 然后重启即可
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值