GPS

本页面介绍了 MikroTik RouterOS 中的 GPS 配置和监控,涵盖信道选择、坐标格式、GPS 初始化字符串等属性,以及带有 date-and-time、latitude/longitude、altitude、satellites 和 data age 等参数的监控命令。

GPS

本节介绍 GPS 跟踪示例。使用这些示例可将 RouterOS GPS 数据发送到 HTTP 端点、MQTT broker 和 IoT 平台。

概述

Package requirement: gps Sub-menu: /system/gps Standards: GPS, NMEA 0183, Simple Text Output Protocol

Global Positioning System (GPS) 用于确定 GPS 接收器的精确位置。

配置属性

PropertyDescription
channel (integer [0..4294967295]; Default: 0)设备使用的端口信道
coordinate-format (dd | dms | ddmm; Default: dms)使用哪种坐标格式,"Decimal Degrees"、"Degrees Minutes Seconds" 或 "NMEA format DDDMM.MM[MM]"
enabled (yes | no; Default: no)是否启用 GPS
gps-antenna-select (external | internal; Default: internal)取决于型号。如果设备安装了内置天线,则可选择内置天线。
init-channel (integer [0..4294967295]; Default: )用于执行 init-string 的信道
init-string (string; Default: )用于 GPS 初始化的 AT init 字符串
port (string; Default: )GPS 接收器所连接的 USB/Serial 端口名称
set-system-time (yes | no; Default: no)是否将路由器的日期和时间设置为从 GPS 接收到的日期和时间。

监控状态

Command: /system/gps/monitor

此命令用于监控从 GPS 接收器接收到的数据。

Parameters:

警告

从 7.1rc3 固件版本开始,新增了一个名为 "data-age"(以秒为单位)的参数。此参数显示自设备收到最后一条 NMEA 消息以来经过的时间。 | Property | Description | | :-- | :-- | | date-and-time (date) | 从 GPS 接收到的日期和时间 | | latitude (none | string) | DM(Degrees Minutes decimal)格式的纬度 | | longitude (none | string) | DM(Degrees Minutes decimal)格式的经度 | | altitude (none | string) | 基于 GPS 数据的海拔 | | speed (none | string) | GPS 单元的当前移动速度 | | destination-bearing (none | string) | 从当前位置朝向已配置目的地航点的方位角 | | true-bearing (none | string) | 相对于真北的当前航向 | | magnetic-bearing (none | string) | 相对于磁北的当前航向 | | valid (yes | no) | | | satellites (integer) | 设备可见的卫星数量。 | | fix-quality (integer) | 信号质量 | | horizontal-dilution (decimal) | 水平精度因子 (HDOP); | | data-age (integer) | 自设备收到最后一条 NMEA 消息以来经过的时间 |

基本示例

检查端口使用情况,因为同一时间只有一个实例可以使用串口:

[admin@MikroTik] /port/print
Flags: I - inactive 
 #   DEVICE NAME                     CHANNELS USED-BY                   BAUD-RATE
 0          serial0                         1 Serial Console            auto    
```ros

如果只有一个端口且它被控制台使用,请从控制台菜单中释放它:

```ros
[admin@MikroTik] > /system/console/print 
Flags: X - disabled, U - used, F - free
 #   PORT                                                                       TERM                                                                     
 0 U serial0                                                                    vt102 

[admin@MikroTik] > /system/console/disable 0   
```ros

根据您的设备调整端口设置(LtAP mini 保持 "auto"):

```ros
[admin@MikroTik] /port> set 0 baud-rate=4800 parity=odd
[admin@MikroTik] /port> print detail 
Flags: I - inactive 
 0   name="usb1" used-by="" channels=1 baud-rate=4800 data-bits=8 parity=odd stop-bits=1 flow-control=none
```ros

启用 GPS:

```ros
[admin@MikroTik] /system/gps> set enabled=yes port=usb1
[admin@MikroTik] /system/gps> print 
          enabled: yes
             port: usb1
          channel: 0
     init-channel: 0
      init-string:
  set-system-time: no
```ros

监控状态:

```ros
[admin@MikroTik] /system/gps> monitor  
        date-and-time: 2021-09-07 08:26:26
             latitude: 56.969689
            longitude: 24.162471
              altitude: 25.799999 m
                speed: 0.759320 km/h
  destination-bearing: none
         true-bearing: 185.500000 deg. True
     magnetic-bearing: 0.000000 deg. Mag
                valid: yes
           satellites: 6
          fix-quality: 1
  horizontal-dilution: 1.3
```ros

## **LtAP** 的端口和 GPS 设置

```ros
/port/set serial1 baud-rate=115200
```ros

```ros
/system/gps/set port=serial1 channel=0 enabled=yes
```ros

我们还撰写了一篇关于使用脚本和 Web 服务器进行实时 GPS 跟踪的深入文章:[GPS-tracking](/docs/mobile-networking/gps/gps-tracking-using-http-post)。

### 故障排查

请注意,有时为了让 GPS 模块在 RouterOS 中被识别,您需要在 `/port` 菜单中更改 baud-rate 设置。

[LtAP mini](https://mikrotik.com/product/ltap_mini) 内置了低增益 GPS 天线,为获得更好的体验,我们建议使用额外的[外置天线](https://mikrotik.com/product/acgpsa)。

在 GPS 菜单中切换内置天线和外置天线:

```ros
[admin@MikroTik] > /system/gps/set gps-antenna-select=external
```ros

在某些支持 GPS 的调制解调器上,您需要发送多个 init 命令才能进行持续的 GPS 监控,例如对于 Huawei 卡,您需要发送 "AT^WPDST=1,AT^WPDGP" init 字符串才能获得持续监控。