Protocols: Unterschied zwischen den Versionen

Aus ARTECO Wiki
Zur Navigation springen Zur Suche springen
Zeile 131: Zeile 131:
 
   GS: GSM Infos
 
   GS: GSM Infos
 
   GP: GPS Infos
 
   GP: GPS Infos
   RT: Run Time (Days)
+
   RT: Run Time (Days, Gleitkommazahl)
 
   SS: System Starts
 
   SS: System Starts
 
   BL: BootLoader (0=alt/1=neu)
 
   BL: BootLoader (0=alt/1=neu)

Version vom 30. Juni 2020, 08:29 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

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)

Server

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

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.