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 |