Skip to main content

GPS smartCORE module

Description

The "gps" module reads and interprets GPS messages from a serial interface and produces GPS data in corresponding smartCHANNELs.

The GPS position (latitude, longitude and geographical altitude) is produced in a structure designed for this purpose.

Interfaces & protocols used

  • NMEA 0183

JSON configuration

The following section describes the entire JSON configuration of the module and explains the individual parameters.

Example configuration (minimum)

    {
"module": "GPS",
"factory": "gps",
"config":
{
}
}

Example configuration (maximum) (communication to GPSD server)

    {
"module": "GPS",
"factory": "gps",
"config":
{
"host": "localhost",
"port":2947,
"outBufferSize": 1024,
"productionIntervalMs": 1000,
"process2dFixes": false,
"posFixModeStabilizationTimeMs": 0,
"updateIntervalMs": 100,
"rebootIntervalMs": 3600000,
"gpsLocationChannelName": "GPS.Location",
"gpsSpeedOverGroundChannelName": "GPS.SpeedOverGround",
"gpsSatelliteCountChannelName": "GPS.SatelliteCount",
"gpsPositionFixModeChannelName": "GPS.PositionFixMode",
"gpsHDOPChannelName": "GPS.HDOP",
"gpsPDOPChannelName": "GPS.PDOP",
"gpsVDOPChannelName": "GPS.VDOP",
"speedLimit": 280
}
}

Example configuration (maximum) (direct serial communication where provided)

    {
"module": "GPS",
"factory": "gps",
"config":
{
"rtPriority": 80,
"inBufferSize": 1024,
"outBufferSize": 1024,
"productionIntervalMs": 1000,
"process2dFixes": false,
"deviceType": "smartmini",
"device": "/dev/ttymxc2",
"baudRate": 115200,
"updateIntervalMs": 100,
"gpsLocationChannelName": "GPS.Location",
"gpsSpeedOverGroundChannelName": "GPS.SpeedOverGround",
"gpsSatelliteCountChannelName": "GPS.SatelliteCount",
"gpsPositionFixModeChannelName": "GPS.PositionFixMode",
"gpsHDOPChannelName": "GPS.HDOP",
"gpsPDOPChannelName": "GPS.PDOP",
"gpsVDOPChannelName": "GPS.VDOP"
}
}

Example configuration (maximum, for compatibility purposes) (direct serial communication where provided)

Note: Only a single "nmeaInterface" is supported.

    {
"module": "GPS",
"factory": "gps",
"config":
{
"rtPriority": 80,
"inBufferSize": 1024,
"outBufferSize": 1024,
"productionIntervalMs": 1000,
"process2dFixes": false,
"nmeaInterfaces":
[
{
"name": "GPS.NMEA",
"deviceType": "smartmini",
"device": "/dev/ttymxc2",
"baudRate": 115200,
"updateIntervalMs": 100,
"gpsLocationChannel": "GPS.Location",
"gpsSpeedovergroundChannel": "GPS.SpeedOverGround",
"gpsSatcountChannel": "GPS.SatelliteCount",
"gpsPosfixmodeChannel": "GPS.PositionFixMode",
"gpsHdopChannel": "GPS.HDOP",
"gpsPdopChannel": "GPS.PDOP",
"gpsVdopChannel": "GPS.VDOP"
}
]
}
}

Parameter list

parameter namerequireddata typemeaningful value rangedefaultdescription
rtPriorityNoINT1 - 9980Priority of reading out the serial interface *
inBufferSizeNoINT1 -1024Buffer [bytes] for reading out the serial interface *
outBufferSizeNoINT1 -1024Buffer [samples] for the smartCHANNELs to be produced
productionIntervalMsNoINT1 -1000Polling interval [ms] regarding the production of samples in smartCHANNELs
process2dFixesNoBOOLfalse, truefalseProvision of GPS positions based on 2D GPS fixes, whereby height above sea level is obtained from the last valid 3D GPS fix
posFixModeStabilizationTimeMsNoINT1 -0Stabilization time within which the necessary position fix mode must be available for GPS position and speed to be produced ***
nmeaInterfacesNoJSON Array of JSON objectsConfiguration of the NMEA 0183 interfaces **

* only for direct serial communication

** for compatibility purposes only

*** only for GPSD communication

Configuration of the NMEA 0183 interfaces

The NMEA 0183 interfaces are each configured as a JSON object. These parameters can also be listed directly in the configuration and are:

Parameter NameRequiredData TypeMeaningful Value RangeDefaultDescription
nameNoString"nmea0"Name of the NMEA adapter
hostNoStringvalid host"localhost"Host of the GPSD server (TCP communication) or "" (SHM communication) *
portNoINTvalid port2947port of the GPSD server (ignored for SHM communication) *
deviceTypeNoString"generic", "smartmini", "smartrail", "smartminis"automatically detecteddevice type of the NMEA adapter **
deviceNoStringExisting device fileautomatically detectedDevice file of the NMEA adapter **
baudRateNoINT1 -Valid baud rate115200Baud rate of the NMEA adapter **
updateIntervalMsNoINT1000 - (smartMINI S), 200 - (when satelliteSystem: "GPS_GLONASS_GALILEO"), otherwise 100 -1000 (smartMINI S), otherwise 100Update interval [ms] of the NMEA sentences
satelliteSystemNoString"GPS", "GLONASS", "GALILEO", "BEIDOU", "GPS_GLONASS", "GPS_GALILEO", "GPS_BEIDOU", "GPS_GLONASS_GALILEO""GPS_GLONASS"Which Satellite System should be used for localizationOnly available on smartMINI and smartRAIL.
rebootIntervalMsNoINT1 -3600000Interval [ms] after which the earliest device restart is performed if there is no GPSD connection *
gpsLocationChannelNameNoString[Name of module instance]".Location"smartCHANNEL for position data structure (longitude/latitude/altitude)
gpsSpeedOverGroundChannelNameNoString[Name of the module instance]".SpeedOverGround"smartCHANNEL for speed over ground [km/h]
gpsSatelliteCountChannelNameNoString[Name of the module instance]".SatelliteCount"smartCHANNEL for number of satellites currently in use
gpsPositionFixModeChannelNameNoString[Name of the module instance]".PositionFixMode"smartCHANNEL for positioning mode
gpsHDOPChannelNameNoString[Name of the module instance]".HDOP"smartCHANNEL for H DOP
gpsPDOPChannelNameNoString[Name of the module instance]".PDOP"smartCHANNEL for P DOP
gpsVDOPChannelNameNoString[Name of the module instance]".VDOP"smartCHANNEL for V DOP
speedLimitNoINTNO Default (unlimited)Complete filtering/discarding of speeds above the set value

* only when using GPSD

** only for direct serial communication

Module information

InformationValue
AuthoroptiMEAS Measurement and Automation Systems GmbH
since smartCORE0.8
Module typeProducer
DependenciesNONE