GPS Synchronization

Document revision:2.0 (Fri Mar 05 08:56:37 GMT 2004)
Applies to: V2.9

General Information

Summary

Global Positioning System (GPS) receiver can be used by MikroTik RouterOS to get the precise location and time (which may be used as NTP time source)

Specifications

Packages required: gps
License required: Level1
Submenu level: /system gps
Standards and Technologies: GPS, NMEA 0183, Simple Text Output Protocol
Hardware usage: Not significant

Related Documents

Description

Global Positioning System (GPS) is used for determining precise location of a GPS receiver. There are two types of GPS service:

GPS system is based on 24 satellites rotating on 6 different orbital planes with 12h orbital period. It makes that at least 5, but usually 6 or more satellites are visible at any time anywhere on the Earth. GPS receiver calculates more or less precise position (latitude, longitude and altitude) and time based on signals received from 4 satellites (three are used to determine position and fourth is used to correct time), which are broadcasting their current positions and UTC time.

MikroTik RouterOS can communicate with many GPS receivers which are able to send the positioning and time via asynchronous serial line using NMEA 0183, NMEA/RTCM or Simple Text Output Protocol. Note that you might need to configure the router's serial port in order to work with your device. For example, many GPS receivers work on 4800bit/s bitrate, to the same should be set in the /port menu for the respective serial port.

Precise time is mainly intended to be used by built-in NTP server, which can use it as a time source without any additional configuration if GPS is configured to set system time.

Additional Resources

Synchronizing with a GPS Receiver

Submenu level: /system gps

Property Description

enabled (yes | no) - whether the router will communicate with a GPS receiver or not

port (name) - the port that will be used to communicate with a GPS receiver

set-system-time (time) - whether to set the system time to the value received from a GPS receiver or not

Notes

If you are synchronizing system time with a GPS device, you should correctly choose time zone if it is different from GMT as satellites are broadcasting GMT (a.k.a. UTC) time.

Example

To enable GPS communication through serial0 port:

[admin@MikroTik] system gps> print
            enabled: no
               port: (unknown)
    set-system-time: yes
[admin@MikroTik] system gps> set enabled=yes port=serial0
[admin@MikroTik] system gps> print
            enabled: yes
               port: serial0
    set-system-time: yes
[admin@MikroTik] system gps>

GPS Monitoring

Submenu level: /system gps monitor

Description

This command is used for monitoring the data received from a GPS receiver.

Property Description

date-and-time (read-only: text) - date and time received from GPS server

longitude (read-only: text) - longitude of the current location

latitude (read-only: text) - latitude of the current location

altitude (read-only: text) - altitude of the current location

speed (read-only: text) - mean velocity

valid (read-only: yes | no) - whether the received information is valid or not (e.g. you can set a GPS receiver to the demo mode to test the connection, in which case you will receive information, but it will not be valid)

Example

[admin@MikroTik] system gps> monitor
    date-and-time: jul/23/2003 12:25:00
        longitude: "E 24 8' 17''"
         latitude: "N 56 59' 22''"
         altitude: "-127.406400m"
            speed: "0.001600 km/h"
            valid: yes

[admin@MikroTik] system gps>