Optin Sensor Protocol
Kommunikációs protokoll - Specifikáció -
Szerzők: Optin Team
[email protected]
Ellenőrizte: Dr. Kovács Z
2014. január 9.
Dokumentum verziószáma: 1.1.394
OSP - Kommunikációs protokoll dokumentáció
1
Tartalomjegyzék 1. Bevezető
4
2. Szerzői nyilatkozat
4
3. A kommunikáció alapjai 3.1. Packet struktúra . . . . . . . . . 3.2. Definíciók . . . . . . . . . . . . 3.2.1. In-flight-egyértelműség 3.2.2. Azonosítók . . . . . . . 3.2.3. String/binary típusok . . 3.2.4. Kliens és Szerver . . . 3.2.5. Byte sorrend . . . . . . 3.3. Garanciák . . . . . . . . . . . . 3.3.1. MessageID garanciák 3.3.2. AckReq garanciák . . .
4 5 5 5 5 5 6 6 6 6 6
4. Állandó fejléc ( Fixed header) 4.1. Message Type (MsgType) 4.2. Cached bit (C) . . . . . . . 4.3. Saved bit (S) . . . . . . . . 4.4. AckReq bit (A) . . . . . . . 4.5. Length mező . . . . . . . 5. Packet típusok 5.1. CONNECT/DISCONNECT 5.1.1. Kliens ⇒ Szerver 5.1.2. Szerver ⇒ Kliens 5.2. PINGREQ . . . . . . . . . 5.3. PINGRESP . . . . . . . . . 5.4. COMMAND . . . . . . . . 5.4.1. Szerver ⇒ Kliens 5.4.2. Kliens ⇒ Szerver 5.5. FIRMWARE . . . . . . . . . 5.5.1. Kliens ⇒ Szerver 5.5.2. Szerver ⇒ Kliens 5.6. DATA . . . . . . . . . . . . 5.6.1. Kliens ⇒ Szerver 5.6.2. Szerver ⇒ Kliens 5.7. RESEND . . . . . . . . . . Optin Kft.
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
7
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . .
7 8 8 9 9
. . . . . . . . . . . . . . .
10 11 11 12 12 13 13 14 14 15 15 16 16 17 18 18
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció 5.7.1. Szerver ⇒ Kliens 5.7.2. Kliens ⇒ Szerver 5.8. ACKNOWLEDGE . . . . . 5.8.1. Szerver ⇒ Kliens 5.8.2. Kliens ⇒ Szerver
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
2 . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
6. Melléklet I. - Optin DataType-ok 6.1. Bevezető . . . . . . . . . . . . . . . . . . . . . . . . 6.2. Standard Telemetry Stream (STS) [DataType = 10] . . 6.2.1. Packet törzs szerkezete . . . . . . . . . . . 6.2.2. Adattartalom . . . . . . . . . . . . . . . . . . 6.2.3. DataType támogatottsága . . . . . . . . . . 6.3. Streaming State Info (SSI) [DataType = 11] . . . . . . . 6.3.1. Packet törzs szerkezete . . . . . . . . . . . 6.3.2. DataType támogatottsága . . . . . . . . . . 6.4. Time Synchronization Report (TSR) [DataType = 12] . 6.4.1. Packet törzs szerkezete . . . . . . . . . . . 6.4.2. DataType támogatottsága . . . . . . . . . . 6.5. Storage Empty Signal (SES) [DataType = 13] . . . . . . 6.5.1. Packet törzs szerkezete . . . . . . . . . . . 6.5.2. DataType támogatottsága . . . . . . . . . . 6.6. Tamper Detection Alarm (TDA) [DataType = 14] . . . . 6.6.1. Packet törzs szerkezete . . . . . . . . . . . 6.6.2. DataType támogatottsága . . . . . . . . . . 6.7. External Battery Failure (EBF) [DataType = 15] . . . . . 6.7.1. Packet törzs szerkezete . . . . . . . . . . . 6.7.2. DataType támogatottsága . . . . . . . . . . 6.8. Low Battery Warning (LBW) [DataType = 16] . . . . . . 6.8.1. Packet törzs szerkezete . . . . . . . . . . . 6.8.2. DataType támogatottsága . . . . . . . . . . 6.9. Internal Battery Failure (IBF) [DataType = 17] . . . . . . 6.9.1. Packet törzs szerkezete . . . . . . . . . . . 6.9.2. DataType támogatottsága . . . . . . . . . . 6.10. Digital Input Change Report (DICR) [DataType = 18] . 6.10.1. Packet törzs szerkezete . . . . . . . . . . . 6.10.2. DataType támogatottsága . . . . . . . . . . 6.11. iButton Identification Report (BIR) [DataType = 19] . . 6.11.1. Packet törzs szerkezete . . . . . . . . . . . 6.11.2. DataType támogatottsága . . . . . . . . . . 6.12. Critical Acceleration Warning (CAW) [DataType = 20] 6.12.1. Packet törzs szerkezete . . . . . . . . . . . Optin Kft.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
18 19 19 19 19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20 20 20 20 21 23 23 23 23 24 24 24 25 25 25 25 25 25 26 26 26 26 26 26 27 27 27 27 27 28 28 28 28 28 28
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
6.13.
6.14.
6.15.
6.16.
6.17.
6.18.
6.19.
6.12.2. DataType támogatottsága . . . . . . . . . . . . . Rollover Alarm (RAL) [DataType = 21] . . . . . . . . . . . . . 6.13.1. Packet törzs szerkezete . . . . . . . . . . . . . . 6.13.2. DataType támogatottsága . . . . . . . . . . . . . Moving Without Ignition Warning (MWIW) [DataType = 22] 6.14.1. Packet törzs szerkezete . . . . . . . . . . . . . . 6.14.2. DataType támogatottsága . . . . . . . . . . . . . USB Connect Info (UCI) [DataType = 23] . . . . . . . . . . . 6.15.1. Packet törzs szerkezete . . . . . . . . . . . . . . 6.15.2. DataType támogatottsága . . . . . . . . . . . . . SMS Received Info (SMSI) [DataType = 24] . . . . . . . . . 6.16.1. Packet törzs szerkezete . . . . . . . . . . . . . . 6.16.2. DataType támogatottsága . . . . . . . . . . . . . Bluetooth Incoming Message 1 (BIM1) [DataType = 25] . . 6.17.1. Packet törzs szerkezete . . . . . . . . . . . . . . 6.17.2. DataType támogatottsága . . . . . . . . . . . . . Bluetooth Connection Info (BCI) [DataType = 26] . . . . . . 6.18.1. Packet törzs szerkezete . . . . . . . . . . . . . . 6.18.2. DataType támogatottsága . . . . . . . . . . . . . Compressed STS (CSTS) [DataType = 100] . . . . . . . . . 6.19.1. Packet törzs szerkezete . . . . . . . . . . . . . . 6.19.2. DataType támogatottsága . . . . . . . . . . . . .
Optin Kft.
3 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
29 29 29 29 30 30 30 30 30 31 31 31 31 31 32 32 32 32 32 33 33 33
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
1.
4
Bevezető
Az Optin Sensor Protocol egy kis overheaddel működő, payload-agnosztikus kliens-szerver protokoll. • Egyszerűsége miatt kitűnően alkalmas csekély erőforrással rendelkező eszközökön történő használatra is. • Számos opcionálisan alkalmazható megoldást biztosít a kritikus csomagok célba érésének garantálására, az elveszett csomagok számának csökkentésére. • A kevésbé kritikus csomagok kezelését nem terheli a biztonsági megoldások alkalmazásával járó megkötések betartása. Ez a specifikáció két lényeges fejezetre bontható: • Általános üzenetformátum, amely minden üzenetre érvényes • Üzenettípusok speciális elemei Figyelem: A DATA típusú üzenetek eszközspecifikus tartalma a mellékletekben található.
2. Szerzői nyilatkozat Az Optin Kft. (továbbiakban mint Szerző) engedélyezi bárki számára OSP -t felhasználni, implementálni, a protokoll-specifikációt másolni vagy közzétenni, azzal a feltétellel, hogy a protokoll-specifikáció MINDEN másolata vagy annak része ami más dokumentációkban, specifikációkban cikkekben feltűnik, illetve minden rendszer ami implementálja OSP -t tartalmazza a következőket: • A Szerző nevét (Optin Kft.) • Egy linket vagy URL-t a OSP specifikációra a Szerző weboldalán
3. A kommunikáció alapjai A protokollon történő kommunikáció mindegyike packeteken (csomagokon) keresztül történik. A packetek atomiak a protokoll szempontjából. (A legkisebb értelmes, jelentést hordozó egységek) A packetek beágyazhatóak más protokollba, Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
5
és a packetekbe legfeljebb egy ponton beágyazható tetszőleges másik protokoll. (Lásd később: DATA és COMMAND packet). Jelen specifikáció nem definiálja, hogy a packetek egészben, vagy tetszőlegesen feldarabolva továbbítandóak-e.
3.1. Packet struktúra Minden egyes packet a következő komponensekből áll: egy állandó fejléccel kezdődik minden csomag, majd ezt követi a packet törzs. Az állandó fejléc azonosítja a packetet és flagek jelzik a státuszát. A packet törzs opcionális, tartalmazhat specializált fejlécet, ami egy packetben egyszer szerepel, és adattartalmat ami egy vagy több adatot tartalmazhat. Fixed header: Packet body:
3.2.
MsgType + Flags Length Specialized header Data payload
Definíciók
3.2.1. In-flight-egyértelműség Egy X szemantikájú y érték 'in-flight-egyértelmű', ha nincs olyan packet adott pillanatban és adott irányban a kommunikációs csatornán, valamint a cachekben, amelynek X értéke szintén y volna. Erre példa a MessageID vagy a CommandID. Az in-flight-egyértelmű értékek segítenek a packet egyértelmű azonosításában egy, a fogadó által értelmezett időablakon belül. 3.2.2.
Azonosítók
Az azonosítók pozitív számok. A nullás érték minden esetben foglalt, és hibát vagy érvénytelen bejegyzést jelez. 3.2.3.
String/binary típusok
String a kommunikációban csak a packetek végén fordulhat elő, hossza korlátlan, és nincs záróbájt. A string végét a packet hossz mezője (Length alapján lehet számítani.
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
6
A protokoll szempontjából a stringek és a binary-k azonosak: Tetszőleges hosszúságú bájt-sorozatok. 3.2.4.
Kliens és Szerver
A Kliens aki az OSP kapcsolatot kezdeményezi, és kapcsolódik a Szervezhez. A protokoll jelenlegi, 1.1 -es verziója megköti, hogy DATA típusú packet-et csak a Kliens, mint szenzor vagy szenzorok halmaza, állíthat össze, és küldhet a Szervernek, ami mint adatgyűjtő működik. 3.2.5.
Byte sorrend
Az OSP -ben, mint a legtöbb hálózati protokollban, big-endian kódolás használatos a több byte-os értékek esetén. Ez azt jelenti, hogy a legnagyobb helyiértékű bájt – angolul "most significant byte" (rövidítve MSB) - van legelöl és az LSB leghátul. Ez alól a Length mező kivétel, annak speciális kódolása van, lásd lentebb.
3.3.
Garanciák
A specifikáció garantálja a következőket: 3.3.1. MessageID garanciák Amennyiben a MessageID jelen van egy csomagban: • Mindig 1 byte hosszú. • Mindig a Fixed Header utáni első byte. • A Kliens kötelezően cacheli a MessageID-t tartalmazó packeteket. • A Kliens csak olyan packetekre kapcsolhat (A) AckReq bitet, amely tartalmaz MessageID-t. • A Szerver visszakérheti az utolsó in-flight K MessageID-hoz tartozó packetet a RESEND packet segítségével. K értékében a felek impliciten megegyeznek. (A szerver pl. ModuleID alapján tudhatja) 3.3.2.
AckReq garanciák
A kliens garantálja, hogy az AckReq bit bekapcsolt állapota esetén: • A packet mindig tartalmaz MessageID mezőt. (Lásd: 3.3.1 fejezet) Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
7
4. Állandó fejléc ( Fixed header) Minden packet az állandó fejléccel kezdődik, ez legalább 2 byte, legfeljebb 5 byte lehet, függően a változó hossz mezőtől. A fix fejléc formátuma a következő:
1.byte
8-5.bit
4.bit
3.bit
2.bit
1.bit
MsgType
Cached
Saved
AckReq
Reserved
2.byte
Length ( [1-4] byte, chaining) 1. táblázat. A fix fejléc felépítése
1.byte: Tartalmazza a packet típusát (MsgType) és az állapot flageket (Cached, Saved, AckReq). 2.byte: A packet méretét meghatározó mező (legalább 1 byte).
4.1. Message Type (MsgType) Pozíció: 1. byte, 8-5.bit A packet típusa, ez egy 4 bites előjel nélküli, felsorolás típusú érték, mely jelentése a 2. táblázat szerinti.
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
MsgType értéke
Rövidítés
0x00
[RESERVED]
0x01
CONECT/DISCONNECT
8
Leírás Nem használt érték! Kapcsolódást
vagy
kapcsolat
bontást kezdeményező packet a Szerver felé 0x02
COMMAND
0x03
ACKNOWLEDGE
Parancs típusú packet Nyugta típusú packet egy korábbi nyugtázandó packetre
0x04
PINGREQ
Ping kérés
0x05
PINGRESP
Ping válasz
0x06
FIRMWARE
Firmware típusú packet
0x07
RESEND
Újraküldést kérő packet típus
0x08
DATA
Általános adat tartalmú packet
[0x09 - 0x0F]
[RESERVED]
További fejlesztésre
2. táblázat. Az MsgType értékek jelentése
4.2.
Cached bit (C)
Pozíció: 1. byte, 4. bit Ha ez a bit 1-es értékű, akkor olyan csomagról van szó, amit az eszköz legalább egyszer már megpróbált elküldeni. Ez a következő esetekben lehetséges: • A szerver újrakér egy csomagot a RESEND paranccsal. • A nyugtázandó üzenetre nem érkezett meg időben a nyugta és automatikusan újraküldésre került. • A Kliens úgy érzékelte, hogy sikertelen volt a küldés és újra próbálkozik.
4.3.
Saved bit (S)
Pozíció: 1. byte, 3. bit Ha ez a bit 1-es értékű, akkor olyan csomagról van szó, ami valamely perzisztens Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
9
tárolóból (belső Flash vagy SD-kártya) lett visszaolvasva. Ez mindig múltbéli adat, amely a következő esetekben fordulhat elő: • Hosszú ideig nem sikerült kapcsolatot létesíteni a szerverrel. • Roaming módban le volt tiltva, vagy ritkítva az adatküldés, és hazai hálózatra kapcsolódott újra. • Le volt tiltva a mobil adatküldés, majd újra engedélyezve lett.
4.4.
AckReq bit (A)
Pozíció: 1. byte, 2.bit Ha ez a bit 1-es értékű, akkor olyan csomagról van szó, amit a szervernek nyugtáznia kell.
4.5. Length mező Pozíció: 2. byte A teljes üzenet hossza, beleértve ezt a header szekciót is. Ez egy változó hosszúságú mező, ami legalább 1, legfeljebb 4 byte. Az első byte legfelső bitje (8.bit) nem része a reprezentált számnak, amennyiben ez be van kapcsolva, a következő byte is a length részét képezi, és így tovább. Így minden byte hét bittel járul hozzá a length-hez. Például: egy 64 byte-os üzenet length mezője egyszerűen egy byte-ból áll 0x40 értékkel. Ha viszont az üzenet 321 byte hosszú (2*128 + 65), akkor a length mező két byte-os lesz. LSB first kódolás szerint az első byte 65+128=193 értékű. Itt a legfelső bit azt jelöli, hogy legalább egy byte folytatás van még. A második byte értéke 2. Mivel a protokoll négy byte-ban maximalizálja a length mezőt, az alkalmazások maximum 268 435 455 byte (256 MB) adatot küldhetnek egy csomagban. Az 1. ábrán a length mező dekódoló algoritmusa látható, amikor az algoritmus végez, a value tartalmazza az üzenet hosszát byte-ban.
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
10
/ / Pseudo C code int multiplier = 1 ; i n t value = 0; do { d i g i t = next_byte_from_stream ; v a l u e += ( d i g i t & 1 2 7 ) * m u l t i p l i e r ; m u l t i p l i e r *= 128; } while ( ( d i g i t & 1 2 8 ) ! = 0)
1. ábra. A Length mező dekódolásának algoritmusa.
5. Packet típusok A továbbiakban tömör formában jelezzük a C = Cached, S = Saved és A = AckReq bitek, illetve az R = Reserved bit állásait. Az X szimbólum tetszőleges értéket, a 0 fix nullás, az 1 fix egyes értéket jelent. Pl.: Fixed header: bit 1.byte 2.byte
7 6 5 4 3 MessageType C 0 0 0 1 0 Length
2 S 0
1 A 0
0 R X
Ez a következőt jelenti: A MessageType alapján ez egy CONNECT packet, amiben a Cached, a Saved és az AckReq flag is fix 0 értéket kell hogy felvegyen mindig. A flag bitek szabályainak megsértése a kapcsolat azonnali lezárásával kell, hogy járjon. A három bit mindegyike olyan logikát indíthat be bármelyik félben, amely helytelen működése további kommunikációs hibák sorozatát eredményezné. Példa erre az AckReq bit felelőtlen használata: ACKNOWLEDGE-ot kérni értelmetlen egy olyan csomagra, amelynek nincsen MessageID-ja.
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
11
5.1. CONNECT/DISCONNECT A kapcsolódási szándék jelzésére, autentikációra és a kapcsolat visszaigazolására vagy elutasítására szolgáló packet. A fix fejléc azonos, de a packet törzs függ attól, hogy a Kliens vagy a Szerver küldi. A CONNECT packet nem lehet Cached, Saved és AckReq flaggel jelölt. Kapcsolódást mindig a Kliens kezdeményez a Szerver felé. Fixed header: bit 1.byte 2.byte
7 6 5 4 3 MessageType C 0 0 0 1 0 Length
2 S 0
1 A 0
0 R X
5.1.1. Kliens ⇒ Szerver A Kliens kapcsolódási szándékot jelez a szerver felé, a TCP csatorna létrejötte utáni első packet CONNECT kell legyen, minden további CONNECT-re a szerver kötelessége bontani a kapcsolatot, ez egyben a lekapcsolódási szándék jelzése a Kliens felől. Packet body: 1.byte 2.byte 3.byte 4.byte 5.byte 6.byte 7.byte 8.byte n.byte
Leírás DeviceType (MSB) DeviceType (LSB) ModuleID (MSB) ModuleID (…) ModuleID (…) ModuleID (LSB) ProtocolVersion Password (string) … Password (string)
DeviceType: A Kliens típusazonosítója. Érték 0x0000 0x0001 Optin Kft.
Jelentés Hiba / Invalid IRIS.base FW 2.0 www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
12
ModuleID: A Kliens beállított azonosítója. 4 byte-os érték. ProtocolVersion: A Kliens által használni kívánt OSP verzió.
5.1.2. Szerver ⇒ Kliens A Szerver válasza a TCP csatornán először megjelenő CONNECT üzenetre. A DISCONNECT állapotra (élő kapcsolat közben érkező CONNECT üzenet) a Szerver nem válaszol. Packet body: 1.byte 2.byte 3.byte 4.byte 5.byte
Leírás ResponseCode Timestamp (MSB) Timestamp (…) Timestamp (…) Timestamp (LSB)
ResponseCode: Válasz a kapcsolódási kérésre. Érték 0x00 0x01 0x02 0x03 0x04 0x05 …
Jelentés Elutasítva Sikeres Hibás ModuleID Hibás DeviceType Hibás ProtocolVersion Hibás autentikáció Fenntartott értékek
Timestamp: A kapcsolódás időpillanata a Szerver oldalon, Unix Time formátumban, a Kliens használhatja óráinak beállítására.
5.2.
PINGREQ
Bármelyik fél küldheti a másiknak. Szerepe pusztán a kapcsolat integritásának ellenőrzése. Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
13
Egy fél pontosan egy PINGREQ packetet küldhet ki egy pillanatban, és nem küldhet továbbiakat, amíg nem érkezett pontosan egy PINGRESP csomagja. Az irányelv megszegésére a másik fél implementációtól függő döntést hozhat. (Pl. kidobja a szabálysértő felet, ignorálja a felesleges PINGREQ csomagokat, esetleg válaszol mindegyikre.) Egy PINGREQ packet csak az alábbi fix fejlécből áll, azaz 2 byte. Fixed header: bit 1.byte 2.byte
5.3.
7 6 5 4 3 MessageType C 0 1 0 0 0 Length
2 S 0
1 A 0
0 R X
PINGRESP
Bármelyik fél küldheti a másiknak. Egy PINGRESP csomagot mindig meg kell, hogy előzzön pontosan egy, ellenkező irányba közlekedő PINGREQ csomag. A váratlan PINGRESP csomagok érkezésére a fogadó fél implementációtól függően reagálhat. Egy PINGRESP packet csak az alábbi fix fejlécből áll, azaz 2 byte. Fixed header: bit 1.byte 2.byte
5.4.
7 6 5 4 3 MessageType C 0 1 0 1 0 Length
2 S 0
1 A 0
0 R X
COMMAND
Távoli parancsvégrehajtás kezdeményezése. A packet magába foglalja a végrehajtandó utasítást akár szöveges, akár bináris formában (a protokoll szempontjából lényegtelen). A COMMAND packet mindig tartalmaz egy in-flight-egyértelmű command azonosítót.
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
14
Fixed header: bit 1.byte 2.byte
7 6 5 4 3 MessageType C 0 0 1 0 0 Length
2 S 0
1 A 0
0 R X
5.4.1. Szerver ⇒ Kliens Megjegyzés: A Szerver felelőssége olyan utasításokat küldeni, amiket a kliens meg is ért. Ez az OSP -t implementáló konkrét eszköz dokumentációjában található. Packet body: 1.byte 2.byte n.byte
Leírás CommandID Script (string) … Script (string)
CommandID: A parancs in-flight-egyértelmű azonosítója. Azért szükséges, hogy az egymás utáni parancsokra később érkező válaszok egyértelműen azonosíthatók legyenek. Script: A parancs és paraméterei akár szöveges, akár bináris formában.
5.4.2.
Kliens ⇒ Szerver
A Kliens válasza egy, a Szerver által küldött parancsra. Packet body: 1.byte 2.byte 3.byte n.byte Optin Kft.
Leírás CommandID ExitCode Response (string) … Response (string) www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
15
CommandID: A kiváltó parancs in-flight-egyértelmű azonosítója. Az ugyanilyen CommanID-vel kiadott parancsra adott válasz. Ha a kliens érvénytelen parancs azonosítót küld vissza, a szerver ignorálja azt. ExitCode: A parancs visszatérési kódja a Kliens rendszerében. Response: A parancs által a konzolra kiírt válasz szöveg. (Ez lehet üres string is.)
5.5. FIRMWARE A firmware frissítés kommunikációs folyamata. A Kliens a letöltendő firmware-t annak nevével azonosítja, és adott méretű darabokban (chunk) kéri el a Szervertől. Fixed header: bit 1.byte 2.byte
7 6 5 4 3 MessageType C 0 1 1 0 0 Length
2 S X
1 A 0
0 R X
5.5.1. Kliens ⇒ Szerver A kliens jelzi a szerver felé, hogy egy adott firmware melyik darabját (chunkját) kéri. Packet body: 1.byte 2.byte 3.byte 22.byte
Leírás ChunkID (MSB) ChunkID (LSB) FirmwareName (string) … FirmwareName (string)
ChunkID: A firmware darabka azonosítója. 2 byte előjel nélküli érték, azaz maximum 65535 csomag lehetséges. A protokoll nem definiálja az egyes chunkok méretét. FirmwareName: A firmware egyedi azonosítására szolgáló 20 karakteres szöveg mező.
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció 5.5.2.
16
Szerver ⇒ Kliens
Firmware frissítés során egy firmware darabka (chunk) küldése. A packet tartalmazza a firmware globálisan egyértelmű megnevezését (verzióját), valamint a chunk darabkáját. Amennyiben a Kliens olyan verziót vagy chunkot kért, amely nem létezik, akkor a szerver üres nevű és 0-s chunk id-t tartalmazó FIRMWARE csomagot küld vissza. (Üres ChunkData-val) Packet body: 1.byte 2.byte 3.byte 22.byte 23.byte n.byte
Leírás ChunkID (MSB) ChunkID (LSB) FirmwareName (string) … FirmwareName (string) ChunkData (string) … ChunkData (string)
ChunkID: A firmware darabka azonosítója. 2 byte előjel nélküli érték, azaz maximum 65535 chunk lehetséges. FirmwareName: A firmware egyedi azonosítására szolgáló 20 karakteres szöveg mező. ChunkData: A firmware darabka binárisa. A protokoll nem definiálja az egyes chunkok méretét, csak a fix fejléc Length mezőjében megadható 256 MB az abszolút korlát.
5.6. DATA Általános adatcsomagok, melyeket mindig a Kliens küld a Szervernek. Ezekre a csomagokra igazak a következők: • A DATA csomagok tárolhatók (Cache flag) kliensoldalon • A DATA csomagok menthetőek (Saved flag) kliensoldalon • A DATA csomagok (és csak azok) kérhetnek ACKNOWLEDGE-ot Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
17
Fixed header: bit 1.byte 2.byte
7 6 5 4 3 MessageType C 1 0 0 0 X Length
2 S X
1 A X
0 R X
5.6.1. Kliens ⇒ Szerver Adatcsomag küldése. Az adatcsomag rendelkezik egy, a Kliens által generált inflight-egyértelmű azonosítóval. A csomag továbbá rendelkezik egy DataType mezővel, amely a csomag tartalmának szemantikájára utal, és a Kliens és szerver közös megegyezés alapján használja. Packet body: 1.byte 2.byte 3.byte 4.byte n.byte
Leírás MessageID DataType (MSB) DataType (LSB) Payload (string) … Payload (string)
MessageID: A Kliens által a DATA packetnek generált in-flight-egyértelmű azonosító. A MessageID-k kiosztása folytonos, azaz a Szerver észlelhet egy esetleges adatkiesést, és RESEND kérést küldhet a Kliens felé a hiányzó MessageID-vel. DataType: A Payload struktúráját és tartalmát meghatározó paraméter. 2 byteos előjel nélküli érték. Foglalt DataType értékek: Érték 0 1-9 >10
Leírás RESEND packetre adott hibajelzés, lásd lentebb Fejlesztésre, tesztelésre fenntartott értékek Eszközspecifikus adatpacket, lásd a konkrét eszköz OSP protokoll mellékletében
A 0-s DataType érték: A Kliens olyan esetekben küldheti a Szervernek ezeket a packeteket, amikor a Szerver egy érvénytelen azonosítót tartalmazó RESEND Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
18
csomagot küldött. A Szerver ilyen packet fogadásakor nyugtázza az azonosító érvénytelenségét és továbblép. Minden további 0-s DataType értékű csomagot a szerver köteles ignorálni. Payload: Tetszőleges hosszú, DataType-nak megfelelő adattartalom, struktúrája a protokoll szempontjából lényegtelen. A definiált DataType-ok struktúrájának részletes leírása a mellékletekben található.
5.6.2. Szerver ⇒ Kliens Soha nem küldheti a szerver a kliens felé. Implementációfüggő, hogy a Kliens miképpen kezeli ezen szabály megsértését.
5.7. RESEND Egy in-flight-egyértelmű MessageID azonosítóval ellátott DATA packet újraküldésének kérelmezése. A protokoll jelenlegi 1.1 verziója DATA packetet csak Kliens ⇒ Szerver irányban enged meg, ezért nyugtát, RESEND packetet csak Szerver ⇒ Kliens irányban értelmezünk. Fixed header: bit 1.byte 2.byte
7 6 5 4 3 MessageType C 0 1 1 1 0 Length
2 S 0
1 A 0
0 R X
5.7.1. Szerver ⇒ Kliens Packet body: 1.byte
Leírás MessageID
MessageID: A Kliens által a DATA packetnek generált in-flight-egyértelmű azonosító amit újra szeretne kérni a Szerver.
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
19
5.7.2. Kliens ⇒ Szerver Jelen specifikáció nem határoz meg olyan körülményeket, melyek hatására a kliens ezt a csomagot a szervernek küldené. Implementációfüggő, hogy a szerver miképpen reagál az ilyen packetek érkezésére.
5.8.
ACKNOWLEDGE
Egy adott, in-flight-egyértelmű MessageID-vel ellátott DATA packet nyugtázására szolgáló packet típus. A protokoll jelenlegi 1.1 verziója DATA packetet csak Kliens ⇒ Szerver irányban enged meg, ezért nyugtát, ACKNOWLEDGE packetet csak Szerver ⇒ Kliens irányban értelmezünk. Fixed header: bit 1.byte 2.byte
7 6 5 4 3 MessageType C 0 0 1 1 0 Length
2 S 0
1 A 0
0 R X
5.8.1. Szerver ⇒ Kliens A szerver nyugtázza egy DATA packet megérkezését. Az ACKNOWLEDGE tartalmazza a nyugtázott üzenet in-flight-egyértelmű azonosítóját. Packet body: 1.byte
Leírás MessageID
MessageID: A Kliens által a DATA packetnek generált in-flight-egyértelmű azonosító amit a Szerver nyugtázott. Érvénytelen azonosító esetén a kliens ignorálja a csomagot.
5.8.2.
Kliens ⇒ Szerver
Jelenlegi 1.1 verzióban nem megengedett. Implementációfüggő, hogy a szerver miképpen reagál az ilyen packetek érkezésére. Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
6.
20
Melléklet I. - Optin DataType-ok
6.1. Bevezető Jelen melléklet részletesen ismerteti, hogy a DataType mező által azonosított DATA packet törzs része (Packet body) hogyan értelmezendő, illetve milyen esetekben kerül továbbításra ilyen üzenet. Ez nem része az OSP specifikációnak, hanem egy lehetséges implementáció, melyeket az Optin Kft. valamely terméke vagy termékei alkalmaznak. DataType-al azonosított struktúra tetszőlegesen definiálható az OSP -ben.
6.2.
Standard Telemetry Stream (STS) [DataType = 10]
A fedélzeti eszközök által összeállított, a nyomkövetéshez és alap telemetriához minimálisan szükséges adatok halmaza, melyeket aktív (az ezt felhasználó rendszer számára lényeges) állapotban folyamatosan továbbít a szerver felé. • Nem nyugtázandó üzenet: AckReq = 0 • Besorolás: Adatstream 6.2.1. Packet törzs szerkezete A DATA packet törzsének struktúrája: Timestamp Adatblokk 1 4 byte 26 byte Kötelező
Adatblokk n … 26 byte Opcionális
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bitje unix time formátumú, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. Adatblokk: A standard telemetria adatai az időbélyeg által mutatott pillanatban. Ez a mező előjeles, vagy előjel nélküli, egy, kettő vagy négy byte-os egész értékekből áll, melyek sorrendje és fizikai jelentése a 3. táblázatban látható. Ez a mező tetszőleges sokszor ismétlődhet, ilyen esetben minden további blokk 1 másodperc távolságra van az előzőtől.
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció 6.2.2.
21
Adattartalom Név
Adattípus
GPS_LATITUDE
signed 32 bit
Leírás
Egysége fok∗107
Földrajzi szélesség [+ = Észak]
GPS_LONGITUDE
signed 32 bit
fok∗107
Földrajzi hosszúság [+ = Kelet]
GPS_ALTITUDE
signed 16 bit
Tengerszint feletti magas-
méter
ság (a WGS84 referencia ellipszoidhoz képest) GPS_SPEED
unsigned 16 bit
Sebesség
GPS_COURSE
unsigned 16 bit
Szögelfordulás
m/s ∗ 100 fok ∗102
[északhoz képest] GPS_QOS
unsigned 8 bit
A műholdak számát és a na-
-
vigáció minőségét jelző bitmező. Lásd a 4. táblázatban. GPS_HPRECISION
unsigned 8 bit
A pozicionálás pontossága
méter
(0-255) V_BAT
unsigned 16 bit
Belső akkumulátor
mV
feszültsége V_EXT
unsigned 16 bit
Külső akkumulátor
mV
feszültsége ANALOG_IN1
unsigned 16 bit
Külső analóg csatorna 1
mV
feszültsége ANALOG_IN2
unsigned 16 bit
Külső analóg csatorna 2
mV
feszültsége DIGITAL_INP
unsigned 8 bit
Digitális bemenetek értéke,
igaz/hamis
bitmező CSQ
unsigned 8 bit
GSM térerősség 0-31 kö-
-
zött. Lásd a 6. táblázatban 3. táblázat. A DataType = 10 adatblokkjának szerkezete. Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
8.bit
7.bit
6.bit
5.bit
4.bit
Műholdak száma
22
3.bit
2.bit
1.bit
Lásd 5. táblázat.
4. táblázat. A GPS QoS értelmezése.
Érték 0
Leírás Nincs semmilyen pozicionáló forrás, ismeretlen pozíció
1
GSM cellainformációkból nyert közelítő pozíciók
2
Befagyasztott pozíció adatok, álló helyzetben
3
Dead reckoning, mozgásszenzorokkal támogatott pozicionálás
4
GPS vétel megfelelő, élő adatok
5
GPS és Glonass rendszerekkel együttesen meghatározott pozíció (legnagyobb pontosság)
5. táblázat. A GPS navigáció forrása.
Érték
dBm
Minőség
0-4
> -115dBm
Elégtelen
5-9
> -103dBm
Elégséges
10-14
> -93dBm
Közepes
15-19
> -83dBm
Jó
20-31
> -73dBm
Kiváló
6. táblázat. A GSM QOS értékek jelentése.
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció 6.2.3.
23
DataType támogatottsága
Optin IRIS fedélzeti eszközök: firmware 2.0 vagy újabb verziók
6.3.
Streaming State Info (SSI) [DataType = 11]
Az STS (Standard Telemetry Stream) típusú adatok küldési módjának változásáról értesítő üzenet. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Értesítés 6.3.1. Packet törzs szerkezete Timestamp 4 byte
GPS-stamp 10 byte
STS_Mode 1 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti. STS_Mode [unsigned 8 bit]: Az STS üzenetek küldésének új üzemmód-értékkódja. Lásd a 7. táblázatban.
Érték
Leírás
0
Online, másodperces streamelés
1
Blokkosított adatküldés
2
Tömörített, blokkosított adatküldés
3
STS csomag szüneteltetés
n
Fenntartott értékek 7. táblázat. STS üzemmód kódok.
6.3.2.
DataType támogatottsága
Optin IRIS fedélzeti eszközök: firmware 2.1 vagy újabb verziók Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
Név
Adattípus
GPS_LATITUDE
signed 32 bit
Leírás Földrajzi szélesség
24
Egysége fok∗107
[+ = Észak]
GPS_LONGITUDE
signed 32 bit
Földrajzi hosszúság
fok∗107
[+ = Kelet]
GPS_QOS
unsigned 8 bit
A műholdak számát és a na-
-
vigáció minőségét jelző bitmező. Lásd a 4. táblázatban. GPS_HPRECISION
unsigned 8 bit
A pozicionálás pontossága
méter
(0-255) 8. táblázat. GPS-stamp adattartalma.
6.4.
Time Synchronization Report (TSR) [DataType = 12]
Kliens oldali időszinkron riport, ami tartalmazza a változás mértékét is. Ez egy jelzés a Szerver oldali adatfeldolgozónak, hogy az esetleges időfolytonossági hibának időszinkronizálás az oka. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Háttér információ 6.4.1. Packet törzs szerkezete Timestamp 4 byte
Korrekció 1 byte
Timestamp [unsigned 32 bit]: Az időbélyeg (korrigált idő szerint) 32 bites unix time formátumú, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. Korrekció [signed 8 bit]: Az időkorrekció mértéke előjeles egész másodpercben. A ±127 azt is jelentik, hogy a korrekció pozitív vagy negatív irányban ≥127 másodperc volt, azaz a 127 másodpercnél nagyobb korrekció nem pontosan definiált. 6.4.2.
DataType támogatottsága
Optin IRIS fedélzeti eszközök: firmware 2.1 vagy újabb verziók Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
25
6.5. Storage Empty Signal (SES) [DataType = 13] Minden perzisztens tárolóból elfogytak a korábban valamilyen okból oda tárolt packetek. Ez a jelzés triggerként szolgálhat egy utófeldolgozási folyamat indításához. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Háttér információ 6.5.1. Packet törzs szerkezete Timestamp 4 byte Ez a packet törzs csak egy időbélyeget tartalmaz, a perzisztens tároló üressé válásának pillanata, 32 bites unix time formátumban. 6.5.2.
DataType támogatottsága
Optin IRIS fedélzeti eszközök: firmware 2.1 vagy újabb verziók
6.6. Tamper Detection Alarm (TDA) [DataType = 14] A fedélzeti eszköz megbontását jelző riasztás. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Riasztás 6.6.1. Packet törzs szerkezete Timestamp 4 byte
GPS-stamp 10 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti. 6.6.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.0 vagy újabb verziók
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
26
6.7. External Battery Failure (EBF) [DataType = 15] A fedélzeti eszköz külső tápellátása megszűnt. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Figyelmeztetés 6.7.1. Packet törzs szerkezete Timestamp 4 byte
GPS-stamp 10 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti.
6.7.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.0 vagy újabb verziók
6.8.
Low Battery Warning (LBW) [DataType = 16]
A fedélzeti eszköz belső akkumulátorának töltöttsége ∼20% alá csökkent. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Figyelmeztetés 6.8.1. Packet törzs szerkezete Timestamp 4 byte
GPS-stamp 10 byte
V_BAT 2 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti. V_BAT [unsigned 16 bit]: Belső akkumulátor feszültsége mV-ban. 6.8.2.
DataType támogatottsága
Optin IRIS fedélzeti eszközök: firmware 2.0 vagy újabb verziók Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
27
6.9. Internal Battery Failure (IBF) [DataType = 17] A fedélzeti eszköz belső akkumulátora veszélyesen lemerült, az eszköz ki fog kapcsolni. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Riasztás 6.9.1. Packet törzs szerkezete Timestamp 4 byte
GPS-stamp 10 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti.
6.9.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.0 vagy újabb verziók
6.10. Digital Input Change Report (DICR) [DataType = 18] A fedélzeti eszköz valamelyik digitális bemenetének változását jelző riport. Az eszköz beállításától függő, hogy keletkezik-e ilyen riport vagy sem, illetve, hogy mely bemenetek változása vált ki üzenet generálást. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Értesítés 6.10.1. Packet törzs szerkezete Timestamp 4 byte
GPS-stamp 10 byte
DI_pos 1 byte
Value 1 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti. DI_pos [unsigned 8 bit]: A megváltozott bemenet sorszáma. Value [unsigned 8 bit]: Az új érték (0 vagy 1). Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
28
6.10.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.0 vagy újabb verziók
6.11. iButton Identification Report (BIR) [DataType = 19] iButton kulcsos azonosítás riport. Az üzenet tartalmazza a leolvasott kulcsot és, hogy ez a kulcs a tárolt kulcsok között szerepel vagy sem, azaz sikeres vagy sikertelen azonosítás történt. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Értesítés 6.11.1. Packet törzs szerkezete Timestamp 4 byte
GPS-stamp 10 byte
Key 4 byte
Valid 1 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti. Key [unsigned 64 bit]: A leolvasott iButton kulcs értéke. Valid [unsigned 8 bit]: Elfogadott (1) vagy elutasított (0) kulcs. 6.11.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.1 vagy újabb verziók
6.12. Critical Acceleration Warning (CAW) [DataType = 20] A fedélzeti eszköz eredő gyorsulása egy beállított értéknél nagyobb, ami esetleges ütközést vagy veszélyes vezetést jelentő figyelmeztetés. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Figyelmeztetés 6.12.1. Packet törzs szerkezete Timestamp 4 byte
Optin Kft.
GPS-stamp 10 byte
Magnitude 2 byte
Direction 2 byte
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
29
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti. √ Magnitude [unsigned 16 bit]: A gyorsulásvektor nagysága. 2 x2 + y 2 + z 2 1 Mértékegysége: 64 g Direction [unsigned 16 bit]: A gyorsulásvektor iránya. [északhoz képest] fok ∗102 6.12.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.1 vagy újabb verziók
6.13. Rollover Alarm (RAL) [DataType = 21] A fedélzeti eszköz pozíciója a beszerelési állapothoz képes valamelyik oldalára vagy tetejére fordult, ami a jármű borulását jelentheti. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Riasztás
6.13.1. Packet törzs szerkezete Timestamp
GPS-stamp
ACC_X
ACC_Y
ACC_Z
4 byte
10 byte
2 byte
2 byte
2 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti. ACC_X [unsigned 16 bit]: Az aktuális gyorsulás X tengelye. (A gravitációs erővel együtt.) ACC_Y [unsigned 16 bit]: Az aktuális gyorsulás Y tengelye. (A gravitációs erővel együtt.) ACC_z [unsigned 16 bit]: Az aktuális gyorsulás Z tengelye. (A gravitációs erővel együtt.)
6.13.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.1 vagy újabb verziók
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
30
6.14. Moving Without Ignition Warning (MWIW) [DataType = 22] Mozogás detektálható gyújtásjel nélkül. Valószínűsíthetően vontatják a járművet. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Riasztás
6.14.1. Packet törzs szerkezete Timestamp
GPS-stamp
GPS_ALTITUDE
GPS_SPEED
GPS_COURSE
4 byte
10 byte
2 byte
2 byte
2 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti. GPS_ALTITUDE [signed 16 bit]: Tengerszint feletti magasság (a WGS84 referencia ellipszoidhoz képest) méterben GPS_SPEED [unsigned 16 bit]: GPS szerinti sebesség. Mértékegysége: m/s ∗ 100 GPS_COURSE [unsigned 16 bit]: GPS szerinti szögelfordulás. Mértékegysége: [északhoz képest] fok ∗102
6.14.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.0 vagy újabb verziók
6.15. USB Connect Info (UCI) [DataType = 23] A fedélzeti eszköz USB csatlakozóját használatba vették, így új beállításokat kaphat. Ez veszélyt jelenthet, a szerver oldali logika ellenőrizheti a konfigurálás helyét, riaszthat ha nem a kijelölt telephelyen, telephelyeken történik. • Nyugtázandó üzenet: AckReq = 1 • Besorolás: Figyelmeztetés
6.15.1. Packet törzs szerkezete
Optin Kft.
Timestamp
GPS-stamp
4 byte
10 byte
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
31
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti.
6.15.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.1 vagy újabb verziók
6.16. SMS Received Info (SMSI) [DataType = 24] A fedélzeti eszköz által kapott SMS üzenetek továbbításra kerülnek a Szerver felé. Ez a csomag tartalmazza az üzenetet, a feladót és az időpontot is. • Nem nyugtázandó üzenet: AckReq = 0 • Besorolás: Információ
6.16.1. Packet törzs szerkezete Timestamp
Sender_ID
SMS_length
SMS_text
4 byte
16 byte
1 byte
max. 160 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. Sender_ID [16 byte]: A küldő telefonszáma. http://en.wikipedia.org/wiki/E.164 SMS_length [unsigned 32 bit]: Az SMS üzenet hossza, 0-160 karakter. SMS_text [max. 160 byte]: Üzenettörzs, maximum 160 ASCII karakter.
6.16.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.0 vagy újabb verziók
6.17. Bluetooth Incoming Message 1 (BIM1) [DataType = 25] A fedélzeti eszköz Bluetooth modulján érkező, feldolgozatlan, kulcs-érték szerkezetű ASCII üzenetet tartalmazó package. • Nem nyugtázandó üzenet: AckReq = 0 • Besorolás: Információ
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
32
6.17.1. Packet törzs szerkezete Timestamp
GPS-stamp
MSG_text
4 byte
10 byte
max. 255 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti. MSG_text [max. 160 byte]: Üzenettörzs, ASCII karakterek.
6.17.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.0 vagy újabb verziók
6.18. Bluetooth Connection Info (BCI) [DataType = 26] A eszközhöz Bluetooth-on történő kapcsolódás után a távoli Bluetooth eszköz címét tartalmazó üzenet, amely tartalmazza a BT-cím érvényességét is. Amennyiben van Bluetooth cím szűrés az eszközben, az el nem fogadott címekkel a kapcsolat azonnal meg is szakad. • Nem nyugtázandó üzenet: AckReq = 0 • Besorolás: Információ
6.18.1. Packet törzs szerkezete Timestamp
GPS-stamp
Bluetooth address
BT valid
4 byte
10 byte
12 byte
1 byte
Timestamp [unsigned 32 bit]: Az időbélyeg 32 bites unix time formátumban, azaz MSB first formában tartalmazza az UTC szerinti 1970. január 1. éjfél óta eltelt másodpercek számát. GPS-stamp [10 byte]: GPS pozíciós bélyeg. Pontos tartalma a 8. táblázat szerinti. Bluetooth address [12 byte]: A hexadecimális Bluetooth cím ASCII karakterekkel. BT valid [1 byte]: A Bluetooth cím hitelességét jelző érték. 1-es ha a cím elfogadott, az eszközben tárolt címmel egyező, és 0 ha nem elfogadott, ilyenkor az eszköz automatikusan bontja is a Bluetooth kapcsolatot a távoli eszközzel.
6.18.2. DataType támogatottsága Optin IRIS fedélzeti eszközök: firmware 2.0 vagy újabb verziók
Optin Kft.
www.optin.hu
OSP - Kommunikációs protokoll dokumentáció
33
6.19. Compressed STS (CSTS) [DataType = 100] A fedélzeti eszközök által összeállított, a nyomkövetéshez és alap telemetriához minimálisan szükséges adatok halmaza csomagolt és tömörített formában. A tartalma azonos a több adatblokkot tartalmazó STS csomagokkal csak a bájt-folyam LZ és RLE kompressziós eljáráson esik át. Fejlesztés alatt!!! Várható megjelenés az 1.2.x OSP verziótól • Nem nyugtázandó üzenet: AckReq = 0 • Besorolás: Adatstream
6.19.1. Packet törzs szerkezete Dekompressziós eljárás után azonos az STS csomaggal!
6.19.2. DataType támogatottsága Fejlesztés alatt!
Optin Kft.
www.optin.hu