Protocols: Unterschied zwischen den Versionen

Aus ARTECO Wiki
Zur Navigation springen Zur Suche springen
 
(97 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Garmin State-Description
+
Auf dieser Seite wird die Kommunikation zwischen den Systems und dem Backend beschrieben.
========================
 
  
Shortcuts
+
== Client ==
---------
 
  
(GMSN) Garmin Serialnumber
+
===ecoTRACK - Protokollbeschreibung===
(GTXT) Garmin Context
 
(GMTP) Garmin Messages Type
 
  
(GMID) Garmin Message Identifier
+
PG: PaGe (page_id - block_id)
(GSID) Garmin Stop Identifier
+
ST: STatus (siehe: [[Status_Numbers|Status-Nummern]])
 +
TS: TimeStamp (ddMMyyhhmmss)
 +
LO: LOngitude (World X)
 +
LA: LAtitude (World Y)
 +
DN: Drive Number
 +
CS: CourSe (0 bis 360. 0: Norden, im Uhrzeigersinn)
 +
SP: SPeed (Km/h)
 +
MX: MaX Speed (km/h) - seit Beginn der aktuellen Fahrt
 +
KM: KiloMeter (Strecke aktuelle Fahrt in km, reelle Zahl mit bis zu zwei Nachkommastellen)
 +
IO: InputOutput (accu, ana1, ana2, alert, dig1, dig2, pwr, ign, xout, yout, zout, relay)
 +
GQ: Gsm Quality (1 - 32, je höher, desto besser)
 +
SQ: Satellite Quality (satcnt, accuracy)
 +
DV: DriVer (ID-Chip: dezimal, RFID: hexadezimal oder Garmin Seriennummer: dezimal mit einem "G" davor)
 +
PV: PriVate
 +
    0: nicht privat,
 +
    1: privat,
 +
    2: Bereitschaft,
 +
    wenn nicht gesendet: privat
 +
CK: ChecKsum (von PG bis PV)
  
(GETS) Garmin ETA TimeStamp | ETA = Estimated Time Of Arrival
+
IO-Werte für z.B. Power (pwr) bzw. Ignition (ign):
(GEDI) Garmin ETA Distance
+
    8V = 250 / 9,6V = 300 / 13V = 407 (gut für PKW) / 21V = 655 (gut für LKW)
(GELA) Garmin ETA Latitude
 
(GELO) Garmin ETA Longitude
 
  
(GSPR) Garmin Stop Priority
+
Beispiel als ASCII:
(GSLA) Garmin Stop Latitude
+
PG:1338-1137 ST:020 TS:031109221826 LO:13.523052 LA:52.553085 DN:48 CS:000 SP:000 MX:066 KM:1.6 IO:430,0,0,0,0,0,384,0,553,520,415 GQ:24 SQ:08,1.28 DV: PV:0 CK:14
(GSLO) Garmin Stop Longitude
 
  
From Garmin To OSC (State 900-907)
+
Beispiel als JSON:
----------------------------------
+
{"PG":"1338-1137","ST":"020","TS":"031109221826","LO":"13.523052","LA":"52.553085","DN":"48","CS":"000","SP":"000","MX":"066","KM":"1.6","IO":"430,0,0,0,0,0,384,0,553,520,415","GQ":"24","SQ":"08,1.28","DV":"","PV":"0","CK":"14"}
  
* 900 Garmin used (PG) (ST) (GMSN) (CK)
+
===G-Sensor - Beschreibung===
* 901 Garmin unused (PG) (ST) (GMSN) (CK)
 
* 902 Message (PG) (ST) (GTXT) (CK)        | GTXT = REPLACE_SPACES_WITH_UNDERSCORES
 
* 903 Answer (PG) (ST) (GMID) (GTXT) (CK) | GTXT = YES/NO/OK
 
* 904 Stop Responses (PG) (ST) (GSID) (GTXT) (CK) | GTXT = ACTIVE/DONE/UNREAD/READ/DELETED
 
* 905 ETA Information (PG) (ST) (GETS) (GEDI) (GELA) (GELO) (CK)
 
* 906 CAR LOAD (PG) (ST) (CK)
 
* 907 CAR UNLOAD (PG) (ST) (CK)
 
* 908 One Stop to Unit (PG) (ST) (UN) (CK) | UN (Unit Name) = REPLACE_SPACES_WITH_UNDERSCORES
 
* 909 Many Stops to Unit (PG) (ST) (UN) (IV) (CK) | IV = Minutes
 
* 910 Disable Many Stops  (PG) (ST) (CK)
 
  
 +
PG: PaGe (page_id - block_id)
 +
ST: STatus (siehe: [[Status_Numbers|Status-Nummern]])
 +
TS: TimeStamp (ddMMyyhhmmss)
 +
LO: LOngitude (World X)
 +
LA: LAtitude (World Y)
 +
SP: SPeed
 +
DN: Drive Number
 +
PV: PriVate
 +
UD: User Data
 +
CK: ChecKsum
  
From OSC To Garmin (State 950-951)
+
Beispiel (ohne Zeilenumbruch):
----------------------------------
+
PG:1301-1327 ST:200 TS:291009173909 LO:13.522683 LA:52.553020 SP:042 DN:1 PV:0
 +
UD:[GALERT_X>499_Y<514_Z<510] CK:15
  
950 New Garmin Message (ST) (GMID) (GTXT) (GMTP) | GMTP = OK/ASK
 
951 New Garmin Stop (ST) (GSID) (GTXT) (GSPR) (GSLA) (GSLO) | GSPR = NORMAL/HIGH/URGENT/TARGET
 
  
 +
===Trailer - Beschreibung===
  
Sample
+
PG: PaGe (page_id - block_id)
------
+
ST: STatus (siehe: [[Status_Numbers|Status-Nummern]])
EFB PG:616/2 ST:905 GETS:120608165343 GEDI:23.8 GELA:52.664741 GELO:13.393240 CK:33
+
TS: TimeStamp (ddmmyyhhmmss)
 +
LO: LOngitude (World X)
 +
LA: LAtitude (World Y)
 +
SP: SPeed
 +
DN: Drive Number
 +
PV: PriVate
 +
UD: User Data
 +
CK: ChecKsum
  
 +
Beispiel (ohne Zeilenumbruch):
 +
PG:1296-1310 ST:209 TS:291009173530 LO:13.522773 LA:52.553040 SP:042 DN:1 PV:0
 +
UD:[TRAILER_0182721B0C000040] CK:11
  
----------------------
+
 
(tgo 03.07.2008 12:07)
+
=== MAE - Beschreibung ===
 +
 
 +
PG: PaGe (page_id - block_id)
 +
ST: STatus (siehe: [[Status_Numbers|Status-Nummern]])
 +
TS: TimeStamp (ddMMyyhhmmss)
 +
LO: LOngitude (World X)
 +
LA: LAtitude (World Y)
 +
SP: SPeed
 +
DN: Drive Number
 +
PV: PriVate
 +
UD: User Data
 +
CK: ChecKsum
 +
 
 +
Beispiel (ohne Zeilenumbruch):
 +
PG:1010-37 ST:210 TS:021109153559 LO:13.522632 LA:52.552959 SP:042 DN:4 PV:0
 +
UD:[MAE,811,159107228,159107228,0] CK:70
 +
UD:[MAE,<status>,<driverId>,<chipId>,<privat>]
 +
 
 +
=== Garmin ===
 +
Driver Status
 +
--------------------------------------------
 +
SN:GARMIN_SERIAL_NUMBER ST:STATUS_NUMBER 
 +
 
 +
STATUS_NUMBER vom Benutzer im Garmin ausgewählt
 +
 
 +
STATUS_NUMBERS
 +
1 => Ohne Ladung (frei)
 +
2 => Teilweise beladen
 +
3 => Beladen oder besetzt
 +
4 => Achtung (Panne/Unfall)
 +
5 => Stillstand/Stau
 +
6 => Privatfahrt
 +
7 => Dienstfahrt
 +
8 => Pause
 +
 
 +
 
 +
Driver ID
 +
--------------------------------------------
 +
SN:GARMIN_SERIAL_NUMBER TX:DRIVER_NAME
 +
 
 +
DRIVER_NAME Freitext vom Benutzer definiert
 +
 
 +
 
 +
=== Status - Beschreibung ===
 +
 
 +
PG: PaGe (page_id - block_id)
 +
ST: STatus (siehe: [[Status_Numbers|Status-Nummern]])
 +
TS: TimeStamp (ddMMyyhhmmss)
 +
LO: LOngitude (World X)
 +
LA: LAtitude (World Y)
 +
SP: SPeed
 +
DN: Drive Number
 +
PV: PriVate
 +
UD: User Data (alle folgenden Parameter stehen mit "|" statt " " getrennt hinter UD: siehe Beispiel) 
 +
  SN: Serial Number
 +
  SV: Software Version (<laufende>/<vorgeladene>)
 +
  ST: System Typ [ALL|STATION|SINON[TABORA|UFO|VARUNA]
 +
  SM: System Mode [NORMAL|LIVE]
 +
  GS: GSM Infos
 +
  GP: GPS Infos
 +
  RT: Run Time (Days, Gleitkommazahl)
 +
  SS: System Starts
 +
  BL: BootLoader (0=alt/1=neu)
 +
  DN: Drive Number
 +
  RC: Reset Counter (Anzahl Modem-Starts seit Boot, ab r1678)
 +
  PV: PriVate
 +
CK: ChecKsum
 +
 
 +
Beispiel (ohne Zeilenumbruch):
 +
PG:1003-13 ST:211 TS:031109132202 LO:13.522688 LA:52.552990 SP:042 DN:4 PV:0
 +
UD:SN:01E1AF1B0C000068|SV:2.10|ST:ALL|SM:NORMAL|GS:E-Plus(21)|GP:8(1.2)|RT:0.004|SS:2|BL:1|DN:4|RC:1|PV:0 CK:96
 +
 
 +
==== Modulus ====
 +
 
 +
Mit der Entwicklung des Modulus wurde der Status-Datensatz angepasst und nicht mehr gebrauchte Werte aus den UserData entfernt sowie einige geändert.
 +
 
 +
  SM: System Mode [NORMAL|LIVE]
 +
  GS: GSM Infos [<MCC><MNC>]
 +
  RT: Run Time (in Minuten)
 +
  SS: System Starts
 +
  DN: Drive Number
 +
 
 +
Beispiel:
 +
PG:4024 ST:211 TS:070122095957 LA:52.685985 LO:13.195108 DN:1337 SP:1.800000 PV:0 UD:SM:NORMAL|GS:00|RT:1|SS:11|DN:0 CK:31
 +
 
 +
see also:
 +
 
 +
MCC: https://de.wikipedia.org/wiki/Mobile_Country_Code
 +
 
 +
MNC: https://de.wikipedia.org/wiki/Mobilfunknetzkennzahl
 +
 
 +
=== Variable - Beschreibung ===
 +
 
 +
PG: PaGe (page_id - block_id)
 +
ST: STatus (siehe: [[Status_Numbers|Status-Nummern]])
 +
TS: TimeStamp (ddMMyyhhmmss)
 +
LO: LOngitude (World X)
 +
LA: LAtitude (World Y)
 +
SP: SPeed
 +
DN: Drive Number
 +
PV: PriVate
 +
UD: User Data (alle folgenden Parameter stehen mit "_" statt " " getrennt hinter UD: siehe Beispiel)
 +
 
 +
GPRS: Konfiguration der GSM Provider-Zugangsdaten (siehe: [[Sms_Commands#gprs|Zugangsdaten]])
 +
PI: Position Interval (siehe: [[Sms_Commands#pi|Position Interval]])
 +
HB: HeartBeat (siehe: [[Sms_Commands#hb|Heartbeat]])
 +
MC: Move Check (siehe: [[Sms_Commands#mc|Move Check]])
 +
PC: Power Check (siehe: [[Sms_Commands#pc|Power Check]])
 +
IC: Ignition Check (siehe: [[Sms_Commands#ic|Ignition Check]])
 +
PS: Power Save (siehe: [[Sms_Commands#ps|Power Save]])
 +
SS: Soft Start (siehe: [[Sms_Commands#ss|Soft Start]])
 +
ROAM: Roaming (siehe: [[Sms_Commands#roaming|Roaming]])
 +
GR: GSM Reset (siehe: [[Sms_Commands#gr|GSM Reset]])
 +
GE: GSM Escape (siehe: [[Sms_Commands#ge|GSM Escape]])
 +
GT: GPRS Timeout (siehe: [[Sms_Commands#gt|GPRS Timeout]])
 +
DI: Device Id (siehe: [[Device_List|Hardware-Erweiterungen]])
 +
 +
CK: ChecKsum
 +
 
 +
Beispiel (ohne Zeilenumbruch)
 +
PG:3586-02745 ST:223 TS:250418083450 LO:13.484272 LA:52.566082 SP:051 DN:4250 PV:0
 +
UD:GPRS:m2m,sim,m2m-net2.sa.t-mobile_PI:60_HB:1440_MC:50_PC:200_IC:0_PS:5_SS:0_ROAM:0_GR:24_GE:0_GT:5_DI:20,30,0,0_OK CK:80
 +
 
 +
=== Variable2 - Beschreibung ===
 +
 
 +
PG: PaGe (page_id - block_id)
 +
ST: STatus (siehe: [[Status_Numbers|Status-Nummern]])
 +
TS: TimeStamp (ddMMyyhhmmss)
 +
LO: LOngitude (World X)
 +
LA: LAtitude (World Y)
 +
SP: SPeed
 +
DN: Drive Number
 +
PV: PriVate
 +
UD: User Data (alle folgenden Parameter stehen mit "_" statt " " getrennt hinter UD: siehe Beispiel)
 +
 
 +
BT: (B)lue(t)ooth aktiv, Bluetooth Pairing MAC-Addresse (siehe: [[Sms_Commands#bt|(B)lue(t)ooth]])
 +
CC: (C)harge(C)ontrol Intervalle (siehe: [[Sms_Commands#ci| (C)harge(I)nterval]])
 +
GPSCHK: GPS-Check Intervall (siehe: [[Sms_Commands#gpscheck| GPSCHECK]])
 +
EC21: EC21 GPS Startup Parameter (siehe: [[Sms_Commands#gpsinit| GPSINIT]])
 +
 +
CK: ChecKsum
 +
 
 +
Beispiel (ohne Zeilenumbruch)
 +
PG:3586-02745 ST:223 TS:250418083450 LO:13.484272 LA:52.566082 SP:051 DN:4250 PV:0
 +
UD:BT:1,00AB1D86DDEF_CC:60,300_GPSCHK:120,60_EC21:50,255
 +
 
 +
=== Liveortung - Beschreibung ===
 +
 
 +
Die Liveortungs-Nachrichten nutzen ein komprimiertes Format zur Datenübertragung. Der Datensatz wird durch ein Ausrufezeichen (ASCII 0x21) eingeleitet, gefolgt von fünf Datenfeldern, die jeweils durch Pipes ("|", ASCII 0x7c) getrennt werden. Abgeschlossen wird die Nachricht von einem Zeilenumbruch "\r\n".
 +
 
 +
Beispiel:
 +
!13.522573|52.552879|12|48|0
 +
 
 +
Legende:
 +
  Feld  Inhalt
 +
-------------------------------------------------------------
 +
    !  markiert den Beginn
 +
    0  Longitude (Länge)
 +
    1  Latitude (Breite)
 +
    2  Course (Richtung in °, 0=Norden, 90=Osten, 180=Süden)
 +
    3  Speed (momentane Geschwindigkeit in km/h)
 +
    4  Privat (1=ja, 0=nein)
 +
 
 +
=== FMS Daten ===
 +
 
 +
Im Status 227 in den UserData sind viele FMS und D8 Daten enthalten.
 +
 
 +
CANgineII livedata strings come in the form:
 +
 
 +
<FMS>;0x0000;Cg2FR;020001;01060483;#002013.03.07-10:56:37;#0101:00;#021;0;0;0;0;0;0;0;n;0;0;0;(...)$002725.125;$0151.2;97;$0278.12;1;0;0;0;0;0;1/3/1;0/2/7;$0378.12;1;0;0;set;(...)</FMS>
 +
 
 +
where a beginning like #01 or $04 is the index number for a new index field, followed by arbitrary data fields, each separated by ';'. Also the whole index fields are separated by ';'. Note there is no ';' between the index number and the first data field.
 +
An index with '#' denotes D8 data, '$' is FMS data.
 +
 
 +
== Server ==
 +
 
 +
Nachrichten vom Server werden jeweils mit einem \r\n abgeschlossen.
 +
 
 +
=== Travelbescheinigung ===
 +
Wenn der Server einen Travel-Datensatz (z. B. Status 10) verarbeitet hat, wird dieser für einige Hersteller bestätigt.
 +
 
 +
TC: TravelConfirmation-Statusnumber
 +
PG: PageNumber
 +
DN: DriveNumber
 +
 
 +
Beispiel als ASCII:
 +
 
 +
TC:S01 DN:1337 PG:42-start
 +
 
 +
TC-Statusnummern (S == success; E == error):
 +
 
 +
S01: Die Fahrt wurde angelegt (Es fehlt noch der gegenteilige Status).
 +
S02: Die Fahrt wurde abgeschlossen.
 +
E01: Zu der Fahrt gab es den jeweiligen Status (z. B. Zündung an) bereits.
 +
E02: Ein sonstiger Fehler.
 +
 
 +
=== Statusnummern ===
 +
==== 100 ====
 +
==== 101 ====
 +
==== 200 ====
 +
==== 201 ====
 +
==== 202 ====
 +
==== 206 ====
 +
==== 400 ====
 +
Wird bei Anmeldeversuchen von Garmins als Bestätigung über den Erhalt der Seriennumer gesendet.
 +
==== 401 ====
 +
Das System hat sich erfolgreich angemeldet. Direkt darauf folgenden wird "TIME <ISO 8601 Zeit des Servers>\r\n" gesendet.
 +
==== 402 ====
 +
Wenn sich das System versuchte anzumelden und die Authentifizierung fehlgeschlagen oder das System gelöscht ist. Darauf folgend wird eine "999\r\n" gesendet und die Verbindung serverseitig geschlossen.
 +
==== 403 ====
 +
==== 404 ====
 +
==== 409 ====
 +
Beim Versuch des Systems sich anzumelden wird festgestellt, dass die Verbindung abgewiesen werden soll. Kann ebenfalls auftreten, wenn es einen Datenbankfehler gab. Darauf folgend wird eine "999\r\n" gesendet und die Verbindung serverseitig geschlossen.
 +
==== 601 ====
 +
Die Verbindung wird 15 Sekunden nach dem Senden dieser Nachricht serverseitig getrennt. Gründe für das Trennen können sein:
 +
* Neustart des Backends
 +
* Es gab eine erneute Anmeldung mit der selben Seriennummer
 +
* der [[Sms_Commands#gt|GPRS Timeout]] ist abgelaufen (es wurde x Minuten nichts vom System gesendet)
 +
 
 +
==== 604 ====
 +
==== 605 ====
 +
==== 000 ====
 +
==== 999 ====
 +
Wird nach 402 oder 409 gesendet.

Aktuelle Version vom 13. Juni 2024, 07:06 Uhr

Auf dieser Seite wird die Kommunikation zwischen den Systems und dem Backend beschrieben.

Client

ecoTRACK - Protokollbeschreibung

PG: PaGe (page_id - block_id)
ST: STatus (siehe: Status-Nummern)
TS: TimeStamp (ddMMyyhhmmss)
LO: LOngitude (World X)
LA: LAtitude (World Y)
DN: Drive Number
CS: CourSe (0 bis 360. 0: Norden, im Uhrzeigersinn)
SP: SPeed (Km/h)
MX: MaX Speed (km/h) - seit Beginn der aktuellen Fahrt
KM: KiloMeter (Strecke aktuelle Fahrt in km, reelle Zahl mit bis zu zwei Nachkommastellen)
IO: InputOutput (accu, ana1, ana2, alert, dig1, dig2, pwr, ign, xout, yout, zout, relay)
GQ: Gsm Quality (1 - 32, je höher, desto besser)
SQ: Satellite Quality (satcnt, accuracy)
DV: DriVer (ID-Chip: dezimal, RFID: hexadezimal oder Garmin Seriennummer: dezimal mit einem "G" davor)
PV: PriVate 
    0: nicht privat, 
    1: privat, 
    2: Bereitschaft, 
    wenn nicht gesendet: privat
CK: ChecKsum (von PG bis PV)
IO-Werte für z.B. Power (pwr) bzw. Ignition (ign):
    8V = 250 / 9,6V = 300 / 13V = 407 (gut für PKW) / 21V = 655 (gut für LKW)

Beispiel als ASCII:

PG:1338-1137 ST:020 TS:031109221826 LO:13.523052 LA:52.553085 DN:48 CS:000 SP:000 MX:066 KM:1.6 IO:430,0,0,0,0,0,384,0,553,520,415 GQ:24 SQ:08,1.28 DV: PV:0 CK:14

Beispiel als JSON:

{"PG":"1338-1137","ST":"020","TS":"031109221826","LO":"13.523052","LA":"52.553085","DN":"48","CS":"000","SP":"000","MX":"066","KM":"1.6","IO":"430,0,0,0,0,0,384,0,553,520,415","GQ":"24","SQ":"08,1.28","DV":"","PV":"0","CK":"14"}

G-Sensor - Beschreibung

PG: PaGe (page_id - block_id)
ST: STatus (siehe: Status-Nummern)
TS: TimeStamp (ddMMyyhhmmss)
LO: LOngitude (World X)
LA: LAtitude (World Y)
SP: SPeed
DN: Drive Number
PV: PriVate
UD: User Data
CK: ChecKsum

Beispiel (ohne Zeilenumbruch):

PG:1301-1327 ST:200 TS:291009173909 LO:13.522683 LA:52.553020 SP:042 DN:1 PV:0
UD:[GALERT_X>499_Y<514_Z<510] CK:15


Trailer - Beschreibung

PG: PaGe (page_id - block_id)
ST: STatus (siehe: Status-Nummern)
TS: TimeStamp (ddmmyyhhmmss)
LO: LOngitude (World X)
LA: LAtitude (World Y)
SP: SPeed
DN: Drive Number
PV: PriVate
UD: User Data
CK: ChecKsum

Beispiel (ohne Zeilenumbruch):

PG:1296-1310 ST:209 TS:291009173530 LO:13.522773 LA:52.553040 SP:042 DN:1 PV:0
UD:[TRAILER_0182721B0C000040] CK:11


MAE - Beschreibung

PG: PaGe (page_id - block_id)
ST: STatus (siehe: Status-Nummern)
TS: TimeStamp (ddMMyyhhmmss)
LO: LOngitude (World X)
LA: LAtitude (World Y)
SP: SPeed
DN: Drive Number
PV: PriVate
UD: User Data
CK: ChecKsum

Beispiel (ohne Zeilenumbruch):

PG:1010-37 ST:210 TS:021109153559 LO:13.522632 LA:52.552959 SP:042 DN:4 PV:0
UD:[MAE,811,159107228,159107228,0] CK:70
UD:[MAE,<status>,<driverId>,<chipId>,<privat>]

Garmin

Driver Status
--------------------------------------------
SN:GARMIN_SERIAL_NUMBER ST:STATUS_NUMBER  
STATUS_NUMBER vom Benutzer im Garmin ausgewählt
STATUS_NUMBERS
1 => Ohne Ladung (frei)
2 => Teilweise beladen
3 => Beladen oder besetzt
4 => Achtung (Panne/Unfall)
5 => Stillstand/Stau
6 => Privatfahrt
7 => Dienstfahrt
8 => Pause


Driver ID
--------------------------------------------
SN:GARMIN_SERIAL_NUMBER TX:DRIVER_NAME
DRIVER_NAME Freitext vom Benutzer definiert


Status - Beschreibung

PG: PaGe (page_id - block_id)
ST: STatus (siehe: Status-Nummern)
TS: TimeStamp (ddMMyyhhmmss)
LO: LOngitude (World X)
LA: LAtitude (World Y)
SP: SPeed
DN: Drive Number
PV: PriVate
UD: User Data (alle folgenden Parameter stehen mit "|" statt " " getrennt hinter UD: siehe Beispiel)  
 SN: Serial Number
 SV: Software Version (<laufende>/<vorgeladene>)
 ST: System Typ [ALL|STATION|SINON[TABORA|UFO|VARUNA]
 SM: System Mode [NORMAL|LIVE]
 GS: GSM Infos
 GP: GPS Infos
 RT: Run Time (Days, Gleitkommazahl)
 SS: System Starts
 BL: BootLoader (0=alt/1=neu)
 DN: Drive Number
 RC: Reset Counter (Anzahl Modem-Starts seit Boot, ab r1678)
 PV: PriVate
CK: ChecKsum

Beispiel (ohne Zeilenumbruch):

PG:1003-13 ST:211 TS:031109132202 LO:13.522688 LA:52.552990 SP:042 DN:4 PV:0
UD:SN:01E1AF1B0C000068|SV:2.10|ST:ALL|SM:NORMAL|GS:E-Plus(21)|GP:8(1.2)|RT:0.004|SS:2|BL:1|DN:4|RC:1|PV:0 CK:96

Modulus

Mit der Entwicklung des Modulus wurde der Status-Datensatz angepasst und nicht mehr gebrauchte Werte aus den UserData entfernt sowie einige geändert.

 SM: System Mode [NORMAL|LIVE]
 GS: GSM Infos [<MCC><MNC>]
 RT: Run Time (in Minuten)
 SS: System Starts
 DN: Drive Number

Beispiel:

PG:4024 ST:211 TS:070122095957 LA:52.685985 LO:13.195108 DN:1337 SP:1.800000 PV:0 UD:SM:NORMAL|GS:00|RT:1|SS:11|DN:0 CK:31

see also:

MCC: https://de.wikipedia.org/wiki/Mobile_Country_Code

MNC: https://de.wikipedia.org/wiki/Mobilfunknetzkennzahl

Variable - Beschreibung

PG: PaGe (page_id - block_id)
ST: STatus (siehe: Status-Nummern)
TS: TimeStamp (ddMMyyhhmmss)
LO: LOngitude (World X)
LA: LAtitude (World Y)
SP: SPeed
DN: Drive Number
PV: PriVate
UD: User Data (alle folgenden Parameter stehen mit "_" statt " " getrennt hinter UD: siehe Beispiel)
 
GPRS: Konfiguration der GSM Provider-Zugangsdaten (siehe: Zugangsdaten)
PI: Position Interval (siehe: Position Interval)
HB: HeartBeat (siehe: Heartbeat)
MC: Move Check (siehe: Move Check)
PC: Power Check (siehe: Power Check)
IC: Ignition Check (siehe: Ignition Check)
PS: Power Save (siehe: Power Save)
SS: Soft Start (siehe: Soft Start)
ROAM: Roaming (siehe: Roaming)
GR: GSM Reset (siehe: GSM Reset)
GE: GSM Escape (siehe: GSM Escape)
GT: GPRS Timeout (siehe: GPRS Timeout)
DI: Device Id (siehe: Hardware-Erweiterungen)

CK: ChecKsum

Beispiel (ohne Zeilenumbruch)

PG:3586-02745 ST:223 TS:250418083450 LO:13.484272 LA:52.566082 SP:051 DN:4250 PV:0
UD:GPRS:m2m,sim,m2m-net2.sa.t-mobile_PI:60_HB:1440_MC:50_PC:200_IC:0_PS:5_SS:0_ROAM:0_GR:24_GE:0_GT:5_DI:20,30,0,0_OK CK:80

Variable2 - Beschreibung

PG: PaGe (page_id - block_id)
ST: STatus (siehe: Status-Nummern)
TS: TimeStamp (ddMMyyhhmmss)
LO: LOngitude (World X)
LA: LAtitude (World Y)
SP: SPeed
DN: Drive Number
PV: PriVate
UD: User Data (alle folgenden Parameter stehen mit "_" statt " " getrennt hinter UD: siehe Beispiel)
 
BT: (B)lue(t)ooth aktiv, Bluetooth Pairing MAC-Addresse (siehe: (B)lue(t)ooth)
CC: (C)harge(C)ontrol Intervalle (siehe:  (C)harge(I)nterval)
GPSCHK: GPS-Check Intervall (siehe:  GPSCHECK)
EC21: EC21 GPS Startup Parameter (siehe:  GPSINIT)

CK: ChecKsum

Beispiel (ohne Zeilenumbruch)

PG:3586-02745 ST:223 TS:250418083450 LO:13.484272 LA:52.566082 SP:051 DN:4250 PV:0
UD:BT:1,00AB1D86DDEF_CC:60,300_GPSCHK:120,60_EC21:50,255

Liveortung - Beschreibung

Die Liveortungs-Nachrichten nutzen ein komprimiertes Format zur Datenübertragung. Der Datensatz wird durch ein Ausrufezeichen (ASCII 0x21) eingeleitet, gefolgt von fünf Datenfeldern, die jeweils durch Pipes ("|", ASCII 0x7c) getrennt werden. Abgeschlossen wird die Nachricht von einem Zeilenumbruch "\r\n".

Beispiel:

!13.522573|52.552879|12|48|0

Legende:

 Feld   Inhalt
-------------------------------------------------------------
    !   markiert den Beginn
    0   Longitude (Länge)
    1   Latitude (Breite)
    2   Course (Richtung in °, 0=Norden, 90=Osten, 180=Süden)
    3   Speed (momentane Geschwindigkeit in km/h)
    4   Privat (1=ja, 0=nein)

FMS Daten

Im Status 227 in den UserData sind viele FMS und D8 Daten enthalten.

CANgineII livedata strings come in the form:

<FMS>;0x0000;Cg2FR;020001;01060483;#002013.03.07-10:56:37;#0101:00;#021;0;0;0;0;0;0;0;n;0;0;0;(...)$002725.125;$0151.2;97;$0278.12;1;0;0;0;0;0;1/3/1;0/2/7;$0378.12;1;0;0;set;(...)</FMS>

where a beginning like #01 or $04 is the index number for a new index field, followed by arbitrary data fields, each separated by ';'. Also the whole index fields are separated by ';'. Note there is no ';' between the index number and the first data field. An index with '#' denotes D8 data, '$' is FMS data.

Server

Nachrichten vom Server werden jeweils mit einem \r\n abgeschlossen.

Travelbescheinigung

Wenn der Server einen Travel-Datensatz (z. B. Status 10) verarbeitet hat, wird dieser für einige Hersteller bestätigt.

TC: TravelConfirmation-Statusnumber
PG: PageNumber 
DN: DriveNumber

Beispiel als ASCII:

TC:S01 DN:1337 PG:42-start

TC-Statusnummern (S == success; E == error):

S01: Die Fahrt wurde angelegt (Es fehlt noch der gegenteilige Status).
S02: Die Fahrt wurde abgeschlossen.
E01: Zu der Fahrt gab es den jeweiligen Status (z. B. Zündung an) bereits.
E02: Ein sonstiger Fehler.

Statusnummern

100

101

200

201

202

206

400

Wird bei Anmeldeversuchen von Garmins als Bestätigung über den Erhalt der Seriennumer gesendet.

401

Das System hat sich erfolgreich angemeldet. Direkt darauf folgenden wird "TIME <ISO 8601 Zeit des Servers>\r\n" gesendet.

402

Wenn sich das System versuchte anzumelden und die Authentifizierung fehlgeschlagen oder das System gelöscht ist. Darauf folgend wird eine "999\r\n" gesendet und die Verbindung serverseitig geschlossen.

403

404

409

Beim Versuch des Systems sich anzumelden wird festgestellt, dass die Verbindung abgewiesen werden soll. Kann ebenfalls auftreten, wenn es einen Datenbankfehler gab. Darauf folgend wird eine "999\r\n" gesendet und die Verbindung serverseitig geschlossen.

601

Die Verbindung wird 15 Sekunden nach dem Senden dieser Nachricht serverseitig getrennt. Gründe für das Trennen können sein:

  • Neustart des Backends
  • Es gab eine erneute Anmeldung mit der selben Seriennummer
  • der GPRS Timeout ist abgelaufen (es wurde x Minuten nichts vom System gesendet)

604

605

000

999

Wird nach 402 oder 409 gesendet.