Ubuntu 18.04下gpsd对接ublox UBX协议及ubxtool缺失问题求助
Ubuntu 18.04 gpsd对接ublox F9P UBX协议问题解决思路
问题1:UBX模式下cgps无输出,NMEA模式正常
解决步骤如下:
- 先确认当前gpsd编译的协议支持列表,执行
gpsd -l,检查输出中是否包含ubx条目,确认版本确实开启了ublox协议适配 - gpsd 3.17版本对ublox F9P的UBX协议自动探测存在已知兼容性问题,启动时需强制指定协议类型,命令示例:
其中gpsd -n -D 5 /dev/ttyUSB0 -T ubx/dev/ttyUSB0替换为实际的GPS设备串口路径,-D 5参数会输出调试日志,可用于进一步排查识别异常 - 确认串口波特率与F9P配置匹配,F9P UBX模式默认波特率通常为115200,可通过如下命令配置串口参数:
配置完成后重启gpsd服务即可stty -F /dev/ttyUSB0 115200 cs8 -cstopb -parenb - 关闭系统自带的ModemManager服务,该服务会主动扫描串口设备,大概率会干扰gpsd对UBX二进制报文的读取:
systemctl stop ModemManager && systemctl disable ModemManager - 排查前可先执行
hexdump -C /dev/ttyUSB0,确认串口确实有连续的二进制报文输出,先排除硬件接线、设备配置层面的问题
问题2:安装gpsd-clients后无ubxtool命令
解决步骤如下:
- Ubuntu 18.04官方源的gpsd 3.17版本打包时,未将ubxtool纳入默认安装的可执行文件列表,该工具存放于源码的clients目录下,需手动提取部署
- 下载对应版本的gpsd源码包:
apt source gpsd=3.17* - 进入解压后的源码目录,拷贝ubxtool到系统可执行路径并赋予执行权限:
cp gpsd-3.17/clients/ubxtool /usr/local/bin/ chmod +x /usr/local/bin/ubxtool - 安装ubxtool运行所需的依赖库:
apt install python3-serial python3-gps - 执行
ubxtool -h验证命令是否正常可用
内容的提问来源于stack exchange,提问作者Owais
相关产品推荐
相关产品推荐

