Protocols: Unterschied zwischen den Versionen

Aus ARTECO Wiki
Zur Navigation springen Zur Suche springen
Zeile 219: Zeile 219:
 
== Server ==
 
== Server ==
  
Nachrichten vom Server werden jeweils mit einem \n\r abgeschlossen.
+
Nachrichten vom Server werden jeweils mit einem \r\n abgeschlossen.
  
 
==== 100 ====
 
==== 100 ====
Zeile 228: Zeile 228:
 
==== 206 ====
 
==== 206 ====
 
==== 400 ====
 
==== 400 ====
 +
Wird bei Anmeldeversuchen von Garmins als Bestätigung über den Erhalt der Seriennumer gesendet.
 
==== 401 ====
 
==== 401 ====
 +
Das System hat sich erfolgreich angemeldet. Direkt darauf folgenden wird "TIME <ISO 8601 Zeit des Servers>\r\n" gesendet.
 
==== 402 ====
 
==== 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 ====
 
==== 403 ====
 
==== 404 ====
 
==== 404 ====

Version vom 30. April 2020, 13:37 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
ST: System Typ [ALL|STATION|SINON[TABORA|UFO|VARUNA]
SM: System Mode [NORMAL|LIVE]
GS: GSM Infos
GP: GPS Infos
RT: Run Time (Days)
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

600

604

605

000

999