Skip to content

Websockets

Use the TMM websocket to receive detailed position information in your application when the TMM app is controlling a Trimble GNSS receiver.

localhost Server

  • URL: localhost
  • Protocol: ws

The TMM websocket is served on 127.0.0.1 or localhost on the Android or iOS device.

The version 2 websocket sends extended position information. This websocket is only available for registered applications.

The positionInfo version 2 message contains extended position information.

NameTypeDescriptionValueConstraintsNotes
(root)object---additional properties are allowed
latitudenumber | nullLatitude in decimal degrees (or null if unavailable) North positive, south negative-format (double)-
longitudenumber | nullLongitude in decimal degrees (or null if unavailable) East positive, west negative-format (double)-
altitudenumber | nullAltitude in meters (or null if unavailable)-format (double)-
speednumber | nullSpeed in meters per second (or null if unavailable)-format (double)-
bearingnumber | nullBearing in decimal degrees (or null if unavailable) Measured clockwise from north for North Azimuth projections, or clockwise from south for South Azimuth projections.-format (double)-
geoidModelstring | nullGeoid model used for height calculations (or null if unavailable)---
hrmsnumber | nullHorizontal Root Mean Square in meters (or null if unavailable)-format (double)-
vrmsnumber | nullVertical Root Mean Square in meters (or null if unavailable)-format (double)-
satellitesintegerNumber of satellites observed---
totalSatInUseintegerNumber of satellites that are used for the position solution---
totalSatInViewintegerNumber of satellites in view, identical to satellites---
pdopnumber | nullPosition Dilution of Precision (or null if unavailable)-format (double)-
hdopnumber | nullHorizontal Dilution of Precision (or null if unavailable)-format (double)-
vdopnumber | nullVertical Dilution of Precision (or null if unavailable)-format (double)-
diffAgenumber | nullMessage age of any RTK message in seconds (or null if unavailable)-format (double)-
diffStatusinteger | nullPosition solution status: 1=Autonomous, 2=DGPS, 4=Fixed, 5=Float, null=unavailable---
diffIDstringID of the RTK base station -1 if unknown, otherwise 4-digit ID---
receiverModelstringReceiver model type---
receiverSerialNumberstringReceiver serial number---
mockProviderstringMock provider name “Trimble Mobile Manager”---
appVersionstringTMM build version semantic versioning Major.Minor.Patch (0.0.0)---
batteryinteger | nullBattery percentage if the receiver has an internal battery (or null if unavailable)---
mslHeightnumber | nullHeight above mean sea level in meters (or null if unavailable) Includes geoid undulation if geoid is available-format (float)-
undulationnumber | nullHeight difference between ellipsoid and geoid (or null if unavailable)-format (float)-
utcTimeStampstring | nullUTC time formatted as ISO string (or null if unavailable)---
gpsTimeStampstring | nullGPS time formatted as ISO string (or null if unavailable)---
satelliteViewarray<object> | nullList of satellites in view (or null if unavailable)---
satelliteView.IdintegerID of the satellite---
satelliteView.ElvintegerElevation angles of the satellite above the horizon in degrees.---
satelliteView.AzmintegerAzimuth angle of the satellite in degrees.---
satelliteView.SnrintegerSignal-to-noise ratio (SNR) for the satellite.---
satelliteView.UsebooleanSatellite is is use true/false---
satelliteView.TypeintegerType of GNSS system of the satellite.---
subscriptionTypeintegerThe type of the currently used subscription 0 == Catalyst Free; 1 == Catalyst 60; 2 == Catalyst 30; 3 == Catalayst 10; 4 == Catalyst 1; 5 == Catalyst On Demand; 100 == GNSS receiver---
sourceReferenceFrameNamestring | nullName of the source reference frame used for the GNSS (or null if unavailable)---
sourceReferenceFrameEpochnumber | nullEpoch of the realization of the source reference frame (or null if unavailable). It’s the date at which the coordinates of the reference frame are exactly as given.-format (double)-
targetReferenceFrameEpochnumber | nullSpecific point in time that is used as a reference for the geodetic datum (or null if unavailable).-format (double)-
targetReferenceFrameNamestring | nullName of the target reference frame used for the GNSS (or null if unavailable).---
imuAlignmentStatusintegerCurrent IMU alignment status 0: NotAvailable, IMU is not available 1: Unaligned, IMU is not aligned, start moving the receiver to align 2: Coarse, IMU is partially aligned, keep moving the receiver to complete alignment 3: Fine, IMU is fully aligned and ready for TIP measurement---
isTIPbooleanTrue if this is a Trimble TIP position---
pitchnumber | nullPitch of the receiver body in degrees (or null if unavailable)-format (double)-
rollnumber | nullRoll of the receiver body in degrees (or null if unavailable)-format (double)-
yawnumber | nullYaw of the receiver body in degrees (or null if unavailable)-format (double)-
tiltAnglenumber | nullCombined tilt angle of the pole (or null if unavailable)-format (double)-
tiltPrecisionnumber | nullPrecision of the combined tilt angle in degrees (or null if unavailable)-format (double)-
pitchPrecisionnumber | nullPrecision of the pitch in degrees (or null if unavailable)-format (double)-
rollPrecisionnumber | nullPrecision of the roll in degrees (or null if unavailable)-format (double)-
yawPrecisionnumber | nullPrecision of the yaw in degrees (or null if unavailable)-format (double)-
igsAntennastring | nullIGS antenna name (or null if unavailable)---
antennaHeightnumber | nullAntenna height in meters (or null if unavailable). Measured from the ground to the Antenna Reference Point (usually Bottom of antenna mount)-format (double)-
gpsL1Offsetnumber | nullGPS L1 Offset (or null if unavailable).-format (double)-
solutionTypestring | nullCorrection Source solutionType (or null if unavailable).---

Examples of payload (generated)

{
"latitude": 0.1,
"longitude": 0.1,
"altitude": 0.1,
"speed": 0.1,
"bearing": 0.1,
"geoidModel": "string",
"hrms": 0.1,
"vrms": 0.1,
"satellites": 0,
"totalSatInUse": 0,
"totalSatInView": 0,
"pdop": 0.1,
"hdop": 0.1,
"vdop": 0.1,
"diffAge": 0.1,
"diffStatus": 0,
"diffID": "string",
"receiverModel": "string",
"receiverSerialNumber": "string",
"mockProvider": "string",
"appVersion": "string",
"battery": 0,
"mslHeight": 0.1,
"undulation": 0.1,
"utcTimeStamp": "string",
"gpsTimeStamp": "string",
"satelliteView": [
{
"Id": 0,
"Elv": 0,
"Azm": 0,
"Snr": 0,
"Use": true,
"Type": 0
}
],
"subscriptionType": 0,
"sourceReferenceFrameName": "string",
"sourceReferenceFrameEpoch": 0.1,
"targetReferenceFrameEpoch": 0.1,
"targetReferenceFrameName": "string",
"imuAlignmentStatus": 0,
"isTIP": true,
"pitch": 0.1,
"roll": 0.1,
"yaw": 0.1,
"tiltAngle": 0.1,
"tiltPrecision": 0.1,
"pitchPrecision": 0.1,
"rollPrecision": 0.1,
"yawPrecision": 0.1,
"igsAntenna": "string",
"antennaHeight": 0.1,
"gpsL1Offset": 0.1,
"solutionType": "string"
}

The version 1 websocket sends v1 position information. This websocket is available to any application on the device.

The positionInfo message contains v1 position information.

NameTypeDescriptionValueConstraintsNotes
(root)object---additional properties are allowed
latitudenumberLatitude in decimal degrees North positive, south negative-format (double)-
longitudenumberLongitude in decimal degrees East positive, west negative-format (double)-
altitudenumberAltitude in meters-format (double)-
speednumberSpeed in meters per second-format (float)-
bearingnumberBearing in decimal degrees Measured clockwise from north for North Azimuth projections, or clockwise from south for South Azimuth projections.-format (float)-
accuracynumberAccuracy in meters-format (float)-
verticalAccuracyMetersnumberVertical accuracy in meters-format (float)-
satellitesintegerNumber of satellites observed---
totalSatInViewintegerNumber of satellites in view, identical to satellites---
pdopnumberPosition Dilution of Precision-format (float)-
hdopnumberHorizontal Dilution of Precision-format (float)-
vdopnumberVertical Dilution of Precision-format (float)-
diffAgenumberMessage age of any RTK message in seconds-format (float)-
diffStatusintegerPosition solution status: 1=Autonomous, 2=DGPS, 4=Fixed, 5=Float---
diffIDstringID of the RTK base station -1 if unknown, otherwise 4-digit ID---
vrmsnumberVertical Root Mean Square in meters-format (float)-
hrmsnumberHorizontal Root Mean Square in meters-format (float)-
receiverModelstringReceiver model type---
mockProviderstringMock provider name “Trimble Mobile Manager”---
appVersionstringTMM build version semantic versioning Major.Minor.Patch (0.0.0)---
batteryintegerBattery percentage if the receiver has an internal battery---
geoidModelstringGeoid model used for height calculations---
mslHeightnumberHeight above mean sea level in meters Includes geoid undulation if geoid is available-format (float)-
undulationnumberHeight difference between ellipsoid and geoid-format (float)-
utcTimenumberUTC time as a float-format (float)-
gpsTimeStampstringGPS time formatted as ISO string---
utcTimeStampstringUTC time formatted as ISO string---
satelliteViewarray<object>List of satellites in view---
satelliteView.IdintegerID of the satellite---
satelliteView.ElvintegerElevation angles of the satellite above the horizon in degrees.---
satelliteView.AzmintegerAzimuth angle of the satellite in degrees.---
satelliteView.SnrintegerSignal-to-noise ratio (SNR) for the satellite.---
satelliteView.UsebooleanSatellite is is use true/false---
satelliteView.TypeintegerType of GNSS system of the satellite.---
subscriptionTypeintegerThe type of the currently used subscription 0 == Catalyst Free; 1 == Catalyst 60; 2 == Catalyst 30; 3 == Catalayst 10; 4 == Catalyst 1; 5 == Catalyst On Demand; 100 == GNSS receiver---

Examples of payload (generated)

{
"latitude": 0.1,
"longitude": 0.1,
"altitude": 0.1,
"speed": 0.1,
"bearing": 0.1,
"accuracy": 0.1,
"verticalAccuracyMeters": 0.1,
"satellites": 0,
"totalSatInView": 0,
"pdop": 0.1,
"hdop": 0.1,
"vdop": 0.1,
"diffAge": 0.1,
"diffStatus": 0,
"diffID": "string",
"vrms": 0.1,
"hrms": 0.1,
"receiverModel": "string",
"mockProvider": "string",
"appVersion": "string",
"battery": 0,
"geoidModel": "string",
"mslHeight": 0.1,
"undulation": 0.1,
"utcTime": 0.1,
"gpsTimeStamp": "string",
"utcTimeStamp": "string",
"satelliteView": [
{
"Id": 0,
"Elv": 0,
"Azm": 0,
"Snr": 0,
"Use": true,
"Type": 0
}
],
"subscriptionType": 0
}