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 name | required | data type | meaningful value range | default | description |
---|---|---|---|---|---|
rtPriority | No | INT | 1 - 99 | 80 | Priority of reading out the serial interface * |
inBufferSize | No | INT | 1 - | 1024 | Buffer [bytes] for reading out the serial interface * |
outBufferSize | No | INT | 1 - | 1024 | Buffer [samples] for the smartCHANNELs to be produced |
productionIntervalMs | No | INT | 1 - | 1000 | Polling interval [ms] regarding the production of samples in smartCHANNELs |
process2dFixes | No | BOOL | false, true | false | Provision of GPS positions based on 2D GPS fixes, whereby height above sea level is obtained from the last valid 3D GPS fix |
posFixModeStabilizationTimeMs | No | INT | 1 - | 0 | Stabilization time within which the necessary position fix mode must be available for GPS position and speed to be produced *** |
nmeaInterfaces | No | JSON Array of JSON objects | Configuration 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 Name | Required | Data Type | Meaningful Value Range | Default | Description | |
---|---|---|---|---|---|---|
name | No | String | "nmea0" | Name of the NMEA adapter | ||
host | No | String | valid host | "localhost" | Host of the GPSD server (TCP communication) or "" (SHM communication) * | |
port | No | INT | valid port | 2947 | port of the GPSD server (ignored for SHM communication) * | |
deviceType | No | String | "generic", "smartmini", "smartrail", "smartminis" | automatically detected | device type of the NMEA adapter ** | |
device | No | String | Existing device file | automatically detected | Device file of the NMEA adapter ** | |
baudRate | No | INT | 1 - | Valid baud rate | 115200 | Baud rate of the NMEA adapter ** |
updateIntervalMs | No | INT | 1000 - (smartMINI S), 200 - (when satelliteSystem: "GPS_GLONASS_GALILEO" ), otherwise 100 - | 1000 (smartMINI S), otherwise 100 | Update interval [ms] of the NMEA sentences | |
satelliteSystem | No | String | "GPS", "GLONASS", "GALILEO", "BEIDOU", "GPS_GLONASS", "GPS_GALILEO", "GPS_BEIDOU", "GPS_GLONASS_GALILEO" | "GPS_GLONASS" | Which Satellite System should be used for localization | Only available on smartMINI and smartRAIL. |
rebootIntervalMs | No | INT | 1 - | 3600000 | Interval [ms] after which the earliest device restart is performed if there is no GPSD connection * | |
gpsLocationChannelName | No | String | [Name of module instance]".Location" | smartCHANNEL for position data structure (longitude/latitude/altitude) | ||
gpsSpeedOverGroundChannelName | No | String | [Name of the module instance]".SpeedOverGround" | smartCHANNEL for speed over ground [km/h] | ||
gpsSatelliteCountChannelName | No | String | [Name of the module instance]".SatelliteCount" | smartCHANNEL for number of satellites currently in use | ||
gpsPositionFixModeChannelName | No | String | [Name of the module instance]".PositionFixMode" | smartCHANNEL for positioning mode | ||
gpsHDOPChannelName | No | String | [Name of the module instance]".HDOP" | smartCHANNEL for H DOP | ||
gpsPDOPChannelName | No | String | [Name of the module instance]".PDOP" | smartCHANNEL for P DOP | ||
gpsVDOPChannelName | No | String | [Name of the module instance]".VDOP" | smartCHANNEL for V DOP | ||
speedLimit | No | INT | NO Default (unlimited) | Complete filtering/discarding of speeds above the set value |
*
only when using GPSD
**
only for direct serial communication
Module information
Information | Value |
---|---|
Author | optiMEAS Measurement and Automation Systems GmbH |
since smartCORE | 0.8 |
Module type | Producer |
Dependencies | NONE |