我在具有不同操作系统的单板计算机(如Odroid-xu4和Raspberry Pi 3)中使用USB GPS接收器。
以下是观察到的行为:
1。带有globsat bu-353 S4 GPS接收器的Odroid-XU4:
在此板中,我安装了Dietpi OS v6.7,内核版本为3.10.106+。 GPS接收器具有良好的定位,并可以正确显示所有数据。第二天,它显示了一个错误的数据,显示了海洋坐标。一段时间后,它将显示正确的数据。通常,它经常显示正确和错误的数据。 GPS的波特率是4800波特
2。带有U-Blox AG USB GPS接收器的Odroid-XU4:
我也在该板上安装了Dietpi OS v6.7,内核版本为3.10.106+。 GPS的波特率为4800波特。 GPS在这里显示正确的数据。几天后,它显示如下错误:
gpsd[2124]: gpsd:ERROR: PPS ioctl(TIOCMIWAIT) failed: 25 Inappropriate ioctl
for device
详细信息如下:
service gpsd status
gpsd.service - GPS (Global Positioning System) Daemon
Loaded: loaded (/lib/systemd/system/gpsd.service; static)
Active: active (running) since Thu 2018-07-19 10:49:38 IST; 5min ago
Main PID: 2124 (gpsd)
CGroup: /system.slice/gpsd.service
└─2124 /usr/sbin/gpsd -N -n -G -b /dev/ttyACM0
Jul 19 10:49:38 Busplay2 systemd[1]: Started GPS (Global Positioning System)
Daemon.
Jul 19 10:49:39 Busplay2 gpsd[2124]: gpsd:ERROR: PPS ioctl(TIOCMIWAIT)
failed: 25 Inappropriate ioctl for device
什么是PPS ioctl?这是什么问题?
3。具有globsat bu-353 S4 GPS接收器的Raspberry Pi3:
在此pi板上,我安装了Raspbian OS,内核版本为4.14.50-V7 +。我在GPS接收器上使用了三天。它正确显示数据。我既没有收到任何错误(例如pps ioctl),也没有任何错误的数据。波特率为4800波特。
4。带有globsat bu-353 S4 GPS接收器的Odroid-XU4:
在这里我安装了Ubuntu mate OS,内核版本为4.14.0-83。与上述情况(raspberry pi 3)类似,我没有收到任何错误或任何错误的数据。一切都很好。
所以我的问题是,为什么GPS在不同的操作系统和单板计算机上显示这种行为?